news 2026/5/1 1:52:09

脚本工具 批量md转html

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
脚本工具 批量md转html

md转html,便于打包进APP

就算以后安卓不兼容,APP不能用,自己做个离线网页也能用一辈子

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Termux 批量 md → 手机竖屏 html """ import os import pathlib import markdown from datetime import datetime # 1. 待遍历的 md 目录 SRC_DIR = "/storage/emulated/0/Android/LLS_2025/Xmind/测试/Linux内核文章" # 2. 输出 html 的根目录 DST_DIR = "/storage/emulated/0/Android/LLS_2025/Xmind/测试/linux内核文章转换" # 3. 极简手机竖屏 CSS CSS = """<style> body{margin:0;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;line-height:1.6;font-size:15px;color:#222;background:#fff} h1,h2,h3,h4,h5,h6{margin-top:1.2em;margin-bottom:.6em;font-weight:600} pre{background:#f6f8fa;padding:.8em;border-radius:4px;overflow-x:auto} code{background:#f6f8fa;padding:.2em .4em;border-radius:3px;font-size:90%} blockquote{margin:0;padding-left:1em;border-left:4px solid #dfe2e5;color:#6a737d} img{max-width:100%;height:auto} table{border-collapse:collapse;width:100%} th,td{border:1px solid #ddd;padding:.4em} th{background:#f6f8fa} </style>""" def ensure_dir(p: pathlib.Path): p.mkdir(parents=True, exist_ok=True) def md_to_html(md_text: str) -> str: """md -> 完整 html 字符串""" md = markdown.Markdown(extensions=["extra", "codehilite", "toc"]) content = md.convert(md_text) title = md.Meta.get("title", [""])[0] if hasattr(md, "Meta") else "" if not title: # 取第一行#标题或文件名 title = content.splitlines()[0].replace("<h1>", "").replace("</h1>", "").strip() html = f"""<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>{title}</title> {CSS} </head> <body> {content} <hr> <small>Generated by 凉安 @ {datetime.now().strftime("%Y-%m-%d %H:%M:%S")}</small> </body> </html>""" return html def main(): src_path = pathlib.Path(SRC_DIR).expanduser() dst_path = pathlib.Path(DST_DIR).expanduser() ensure_dir(dst_path) if not src_path.is_dir(): print("❌ 源目录不存在:", src_path) return md_files = list(src_path.rglob("*.md")) if not md_files: print("⚠️ 未找到任何 .md 文件") return for md_file in md_files: rel = md_file.relative_to(src_path).with_suffix(".html") out_file = dst_path / rel ensure_dir(out_file.parent) html = md_to_html(md_file.read_text(encoding="utf-8")) out_file.write_text(html, encoding="utf-8") print("✅", out_file) print(f"🎉 全部完成,共转换 {len(md_files)} 个文件 → {dst_path}") if __name__ == "__main__": main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:51:28

37、安全实用工具指南

安全实用工具指南 1. Sysmon 错误报告 Sysmon 在检测到可能影响其运行的意外内部状况时,会在 Sysmon 事件日志中记录错误报告事件。如果你看到此类事件,请通过指定论坛报告。错误报告事件包含以下数据: - UtcTime :错误记录的通用协调时间(UTC),格式为 yyyy-MM-dd H…

作者头像 李华
网站建设 2026/5/1 7:19:24

儿童青少年近视,原来得这样防控

近年来&#xff0c;儿童青少年近视率居高不下&#xff0c;已成为影响国民健康的重要公共卫生问题。教育部数据显示&#xff0c;我国中小学生近视率已超50%&#xff0c;且呈现低龄化、重度化趋势。近视不仅影响孩子的日常学习和生活质量&#xff0c;更可能对未来职业选择、身心健…

作者头像 李华
网站建设 2026/4/28 5:44:33

解密Terraform的VPC对等连接问题

在使用Terraform管理云资源时,常常会遇到一些看似简单的问题却让我们头疼不已。今天我们将深入探讨一个常见的问题:在AWS上使用Terraform创建两个VPC之间的对等连接时,Terraform在多次运行时表现出的奇怪行为。 问题描述 当我们使用Terraform配置两个VPC进行对等连接时,第…

作者头像 李华
网站建设 2026/5/1 6:13:03

湖仓一体趋势下:AI与BI系统的协同演进

湖仓一体趋势下&#xff1a;AI与BI系统的协同演进 在今天的智能企业架构中&#xff0c;一个显著的矛盾正在被重新审视——我们拥有海量数据&#xff0c;却难以快速获取真正有用的知识。BI系统能画出漂亮的图表&#xff0c;却回答不了“为什么”&#xff1b;AI模型能生成流畅文本…

作者头像 李华
网站建设 2026/4/22 16:08:07

多语言支持能力测试:Anything-LLM能否胜任国际化需求?

Anything-LLM的多语言实战&#xff1a;从中文提问到英文文档的智能跨越 在一家跨国科技公司的亚太总部&#xff0c;一位中国籍产品经理正准备撰写季度战略报告。他需要参考公司最新的英文版全球市场分析白皮书&#xff0c;但全篇长达上百页&#xff0c;通读耗时且容易遗漏重点…

作者头像 李华