如何为Python Markdown库自动添加HTML属性适配CSS样式
给Markdown生成的HTML添加body类名以匹配样式
直接修改生成HTML文档的字符串模板,给<body>标签加上class="markdown-body"即可,同时可以优化CSS路径的写法避免多余引号:
修改后的Python代码
from markdown import markdown text = ''' # Example ## Emphasis **This is bold text** __This is bold text__ ... ''' html = markdown(text, extensions=['fenced_code','codehilite']) css = 'css/github-markdown.css' # 去掉多余的引号包裹 doc = f'<html><head><link rel="stylesheet" type="text/css" href="{css}"></head><body class="markdown-body">{html}</body></html>' print(doc)
修改后生成的HTML关键效果
<body class="markdown-body"><h1>Example</h1> <h2>Emphasis</h2> ...
这样生成的HTML就能正确匹配github-markdown.css中的样式规则,实现规整的布局。如果后续需要给其他元素添加属性,也可以通过修改对应的HTML模板字符串,或者使用Markdown扩展来实现更复杂的自定义。
内容的提问来源于stack exchange,提问作者royer




