这是一个Python工具,能将编译的HTML帮助(CHM)文件转换为Markdown格式。它可从CHM文档中提取HTML文件,并将其转换为格式良好的Markdown文件,让技术文档更易访问,且适合进行版本控制。
C:\Program Files\7-Zip\7z.exe)pip install -r requirements.txt
或直接安装:
pip install beautifulsoup4 html2text aiofiles
chm_to_markdown.py中main()函数中的配置变量:input_folder = r"C:\Path\To\Extracted\Files" # 临时文件夹用于提取CHM
output_folder = r"C:\Path\To\Output\Markdown" # Markdown文件保存位置
chm_file_path = r"C:\Path\To\Your\File.chm" # 您的CHM文件路径
python chm_to_markdown.py
您可以调整process_folder_async()调用中的以下参数来优化性能:
max_workers: CPU绑定操作的工人线程数量。semaphore_limit: 最大并发文件I/O操作数。batch_size: 每批处理的文件数量。await process_folder_async(
input_folder, output_folder, max_workers=8, semaphore_limit=20, batch_size=50
)
该脚本提供了以下内容转换自定义选项:
您可以编辑以下列表来自定义要删除的HTML元素:
tags_to_remove = ["iframe", "object", "script", "br", "img"]
classes_to_remove = ["collapsibleAreaRegion", "collapsibleRegionTitle", ...]
ids_to_remove = ["PageFooter"]
该脚本处理带语言特定格式的代码片段。您可以自定义语言映射:
id_to_lang = {
"IDAB_code_Div1": "csharp",
"IDAB_code_Div2": "vb",
"IDAB_code_Div3": "cpp",
"IDAB_code_Div4": "fsharp",
}
max_workers以管理内存使用。该项目是开源的,并且在MIT License下可用。