背景
Hexo 文章采用的是 Markdown ,当我想把 Markdown 格式的文章搬到别的平台时,WTF 它居然不支持 md 格式!!!这就影响了我采用md的初衷(避免一切不必要的文章排版等等)。
神奇的 Pandoc
苦寻 INTERNET 终于发现有方法能直接将 md 转化为 word 这种富文本格式。
下载链接:
-
官网:https://pandoc.org/installing.html
-
蓝奏云:https://www.lanzoui.com/iamfxhc
实现 md --> word
第一步:下载 Pandoc ,并将其添加进环境变量。
第二部:执行命令
命令很简单
pandoc 文件名.md -o 文件名.docx
但是这样一次只能转化一篇,太慢了。所以就写了个脚本帮助我实现批量转化。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: 阿张啊 time:2020/3/20
import os
# 当前目录下所有文件
all_files = os.listdir()
# 获取目录下的md文件, 并保存
all_md = []
for file in all_files:
try:
if file[-3:] == '.md':
all_md.append(file)
except Exception as reason:
print(reason)
# 将md文件批量装换为docx
for md in all_md:
try:
tmp_docx = md[0: -3] + ".docx"
command = "pandoc "+ md + " -o " + tmp_docx
result = os.popen(command).readlines()
if len(result) == 0:
print(md, "转换成功")
except Exception as reason:
print(reason)
强大的 Pandoc
当然 Pandoc 怎么可能只有 md to docx 这么简单的功能呢。
Pandoc 还能实现
Pandoc可读取的格式 | Pandoc可生成的目标格式 |
---|---|
Markdown | HTML 格式:包括 XHTML ,HTML5 及 HTML slide |
reStructuredText | 文字处理软件格式:包括 docx 、odt 、OpenDocument XML |
textile | 电子书格式:包括 EPUB(第2版及第3版)、FictionBook2 |
HTML | 技术文档格式:包括 DocBook 、GNU TexInfo 、Groff manpages 、Haddock |
DocBook | 页面布局格式:InDesign ICML |
LaTex | 大纲处理标记语言格式:OPML |
MediaWiki标记语言 | TeX格式:包括 LaTeX、ConTeXt 、LaTeX Beamer |
OPML | PDF格式:需要 LaTeX 支持 |
Org-Mode | 轻量级标记语言格式:包括 Markdown 、reStructuredText、textile、Org-Mode、MediaWiki标记语言、AsciiDoc |
Haddock | 自定义格式:可使用 lua 自定义转换规则 |
Pandoc 的基本指令格式:
pandoc 源文件 -o 输出文件
看图比看表更清晰