From f17b2e579b99bd975a4a83d2664a55a3caf6a5ea Mon Sep 17 00:00:00 2001
From: iuu <2167162990@qq.com>
Date: Fri, 6 Dec 2024 03:39:54 +0000
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20mdtohtml.py?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
MD文件转html
---
mdtohtml.py | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
create mode 100644 mdtohtml.py
diff --git a/mdtohtml.py b/mdtohtml.py
new file mode 100644
index 0000000..2b6d558
--- /dev/null
+++ b/mdtohtml.py
@@ -0,0 +1,128 @@
+import markdown
+import os
+
+# 定义源目录和目标目录
+source_dir = './output' # 存放 Markdown 文件的源目录
+target_dir = './output_html' # 生成 HTML 文件的目标目录
+
+# 确保目标目录存在,如果不存在则创建
+os.makedirs(target_dir, exist_ok=True)
+
+
+# 获取文件夹中的所有 .md 文件
+def get_md_files(directory):
+ md_files = []
+ for root, dirs, files in os.walk(directory):
+ # 排除隐藏文件夹(例如 .git 等)
+ dirs[:] = [d for d in dirs if not d.startswith('.')]
+ for file in files:
+ if file.endswith('.md'):
+ md_files.append(os.path.relpath(os.path.join(root, file), directory))
+ return md_files
+
+
+# 获取源目录下的所有 Markdown 文件
+md_files = get_md_files(source_dir)
+
+# 创建目录 HTML 内容
+directory_html_content = '''
'''
+# 在目录页面添加每个文件的链接
+for md_filename in md_files:
+ # 取文件名的 "_" 后部分作为 HTML 文件名
+ html_filename = md_filename.split('_', 1)[1].replace('.md', '.html')
+ # 使用 Markdown 文件名的 "_" 前部分作为目录标题
+ title = md_filename.split('_', 1)[0]
+ directory_html_content += f' - {title}
\n'
+
+directory_html_content += '''
'''
+
+# 创建 HTML 页面,包含正文内容和目录
+for md_filename in md_files:
+ # 获取 Markdown 文件的完整路径
+ md_file_path = os.path.join(source_dir, md_filename)
+
+ # 读取 Markdown 文件内容
+ with open(md_file_path, 'r', encoding='utf-8') as md_file:
+ md_content = md_file.read()
+
+ # 使用 markdown 库将 Markdown 转换为 HTML
+ html_content = markdown.markdown(md_content)
+
+ # 获取 HTML 文件名,取 "_" 后部分
+ html_filename = md_filename.split('_', 1)[1].replace('.md', '.html')
+
+ # 获取标题,取 "_" 前部分
+ title = md_filename.split('_', 1)[0]
+
+ # 生成目标 HTML 文件的路径
+ html_file_path = os.path.join(target_dir, html_filename)
+
+ # 创建 HTML 文件头部,设置字符编码为 UTF-8,并将目录嵌入到页面
+ html_header = f'''
+
+
+
+
+ {title}
+
+
+
+
+
+'''
+
+ # 添加正文内容
+ html_content = f'
{title}
' + html_content
+
+ # 添加 HTML 文件尾部
+ html_footer = '''
+
+'''
+
+ # 完整的 HTML 内容
+ full_html_content = html_header + html_content + html_footer
+
+ # 将 HTML 内容保存到文件
+ with open(html_file_path, 'w', encoding='utf-8') as html_file:
+ html_file.write(full_html_content)
+
+ print(f"{md_filename} 已转换为 {html_filename}")