MCPcopy
hub / github.com/KKKKhazix/khazix-skills / md_to_html

Function md_to_html

hv-analysis/scripts/md_to_pdf.py:204–249  ·  view source on GitHub ↗

将 Markdown 转为带封面的 HTML

(md_text, title="横纵分析报告", subtitle="横纵分析法深度研究报告",
               meta_line="", author="数字生命卡兹克")

Source from the content-addressed store, hash-verified

202
203
204def md_to_html(md_text, title="横纵分析报告", subtitle="横纵分析法深度研究报告",
205 meta_line="", author="数字生命卡兹克"):
206 """将 Markdown 转为带封面的 HTML"""
207
208 # 用 markdown 库转换正文
209 html_body = markdown.markdown(
210 md_text,
211 extensions=['tables', 'fenced_code', 'nl2br'],
212 output_format='html5'
213 )
214
215 # 移除正文中的第一个 h1(会用在封面上)
216 first_h1_match = re.search(r'<h1>(.*?)</h1>', html_body)
217 if first_h1_match:
218 extracted_title = first_h1_match.group(1)
219 if not title or title == "横纵分析报告":
220 title = extracted_title
221 html_body = html_body.replace(first_h1_match.group(0), '', 1)
222
223 # 替换 CSS 中的页眉占位符
224 css = CSS_TEMPLATE.replace("HEADER_TEXT", f"{title} | 横纵分析法深度研究报告")
225
226 # 构建封面
227 cover_html = f"""
228 <div class="cover">
229 <h1 style="page-break-before: avoid; border: none;">{title}</h1>
230 <div class="subtitle">{subtitle}</div>
231 {"<div class='meta'>" + meta_line + "</div>" if meta_line else ""}
232 <hr class="divider">
233 <div class="meta">作者: {author}</div>
234 </div>
235 """
236
237 full_html = f"""<!DOCTYPE html>
238<html lang="zh-CN">
239<head>
240 <meta charset="UTF-8">
241 <style>{css}</style>
242</head>
243<body>
244{cover_html}
245{html_body}
246</body>
247</html>"""
248
249 return full_html
250
251
252def main():

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected