将你的 markdown 文件转换为 MS Word(.docx)/ Convert your Markdown files to MS Word (.docx).
🚧 正在开发中 / Under development
- 在 Release 下载可执行文件(暂未提供 macOS 版)
- 在可执行文件所在目录,终端执行命令:
.\markdocx path/to/your/file.md
,会在 md 文件的同目录下生成同名 docx 文件。
完整命令示例:
markdocx input.md -o ouput.docx -s style.yaml -a
其中:
-o
可选参数,其后附上输出路径,默认保存到与input.md
同目录位置、同名的 Word 文件。-s
可选参数,其后附上定义样式的 YAML 文件的路径。默认使用内置样式src/config/default_style.yaml
。-a
可选参数,在完成导出后自动打开 Word 文件
注意,如果是路径中包含空格,需要用英文(半角)双引号包起来,如
markdocx "D:/my folder/the input.md" -o "D:/my folder/the output.md"
-
行内的样式超过一个的句子会在解析时会被忽略,不会出现在最终word文件中。例如此类:
**又加粗又*斜体*** <u>**又加粗又*斜体*又下划线**</u>
请避免使用复合标记。
-
无序列表和有序列表目前最大解析层级为两级,超过两层的内容会被丢弃
YAML 中的值 | 含义 |
---|---|
h1 | 一级标题 |
h2 | 二级标题 |
h3 | 三级标题 |
h4 | 四级标题 |
normal | 正文 |
完整 YAML 见 src/config/default_style.yaml
h1: # 段落类型名称,可取的值见上表
font:
default: Times New Roman # 西文字体,默认 [Times New Roman]
east-asia: 宋体 # 中文字体,默认 [宋体]
size: 12 # 字体大小,默认 [12],单位:pt
color: "000000" # RGB颜色 16 进制值,必须是字符串,默认 ["000000"] 纯黑色
extra: # 默认不添加这些样式。支持下列样式,有则生效,无则忽略
- bold # 加粗
- italic # 斜体
- underline # 下划线
- strike # 删除线
first-line-indent: 0 # 首行缩进,默认 [0],单位:倍
line-spacing: 1.2 # 行距,默认 [1.2] 单位:倍,表示行距设置为 1.2 倍行高,
space:
before: 0 # 段前空格,默认 [0] pt
after: 0 # 段后空格,默认 [0] pt
- 需要 Python 3.0+ 环境
- 安装依赖
pip install -r requirements.txt
- 入口文件
markdocx.py
- 构建可执行文件
- Windows 下运行
build.bat
- macOS 复制
build.bat
中的命令到终端执行(待验证)
- Windows 下运行
- 使用 YAML 导入样式参数
- 支持更多段落类型设置
- 提供 GUI
- 提供 macOS 版本。目前我只有 Windows 设备,欢迎参与贡献:)
- 普通段落
- 一到四级标题,保留大纲导航
- 本地图片、网络图片、图片标题
- 有序列表、无序列表、TODO List
- 引用块
- 表格
- 超链接
- 分割线,在 Word 中表现为分页符
- 加粗、斜体、下划线
- 行内代码
- 上标、下标
- 高亮文本
- 代码块样式优化(或转换为图片)
- LaTeX
- 脚注