将markdown文件转换为html文件
首先当然是Typora自带转换啦:
接下来是我所听闻之(zhaung)方(bi)法有以下几种
python环境工具之脚本大法【自csdn转载】
可以将markdown文件通过python的一些库函数较好的转换成html文件
效果预览
源码预览:
import mistune
import sys
import codecs
import os
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import html
class HighlightRenderer(mistune.Renderer):
def block_code(self, code, lang):
if not lang:
return '\n<pre><code>%s</code></pre>\n' % \
mistune.escape(code)
lexer = get_lexer_by_name(lang, stripall=True)
formatter = html.HtmlFormatter()
return highlight(code, lexer, formatter)
def md2html(s):
with codecs.open(s, mode='r', encoding='utf-8') as mdfile:
md_text = mdfile.read()
extras = ['code-friendly', 'fenced-code-blocks', 'footnotes']
renderer = HighlightRenderer()
markdown = mistune.Markdown(renderer=renderer)
html_text = markdown(md_text)
html_text = html_text.replace('highlight', 'cnblogs_code ')
html_name = '%s.html' % (s[:-3])
with codecs.open(html_name, 'w', encoding='utf-8', errors='xmlcharrefreplace') as output_file:
output_file.write(html_text)
def getAllFile(path, suffix='.'):
"recursive is enable"
f = os.walk(path)
fpath = []
for root, dir, fname in f:
for name in fname:
if name.endswith(suffix):
fpath.append(os.path.join(root, name))
return fpath
def convertAll(path):
flist = getAllFile(path, ".md")
for fname in flist:
md2html(fname)
if __name__ == "__main__":
path = ''
if len(sys.argv) == 1:
path = os.getcwd()
elif len(sys.argv) == 2:
path = sys.argv[1]
else:
print("error parameter")
exit()
convertAll(path)
该工具出自大神之手为将其转换为html文件后上传至博客园而写,配合博客园的一些其他设置可以实现高亮代码等多种功能
详情请访问
trouble shooting:
1、在安装软件时可能会遇到一些问题其实可能是因为python库的依赖没有安装 比如mistune是python对md文件的支持,pygments是实现高亮代码功能的库函数 请使用python的包管理器来安装它们
# pip install mistune
# pip install pygments
如果是python3的包管理器命令是pip3请这样输入
# pip3 install mistune
# pip3 install pygments
node环境工具之i5ting
该工具的一大特点是在左侧栏将会生成各小结的目录列表
效果预览:
npm install i5ting_toc -g
如果觉得安装太慢可以使用淘宝代理加速安装工具cnpm来安装(就是将所有npm换成cnpm就会自动代理加速了)
使用方法如下:
i5ting_toc -f <需要转换的文件名>.md
此时会在目录下生成preview文件夹,其中会有一个与markdown同名的html文件。
MarkdownMonster项目
该项目是一项大型的可以配合博客发布的软件,其中真好有一项功能是将md文件转换为html,不仅如此还可以实现互转(即将html文件转换为markdown文件的强大功能),其还可以通过api发布的模式来将md文件转换为html文件后上传至wordPress, Medium以及任何使用MetaWeblog API的博客平台。
感兴趣的小伙伴请移步另一篇文章
如何批量上传文章至各大博客平台(含markdown文件)
当然如果小伙伴不需要跟过花里胡哨的功能只是想让md文件变为html文件使用上述两种办法应该就能满足需要了。