Linux下批量将md文件批量转换为html文件

要将markdown文件转换成html文件,可以用discount或python-markdown软件包提供的markdown:

以下主要介绍在Ubuntu系统下的转化:

# Debian/Ubuntu

sudo apt-get install discount

或:

# Debian/Ubuntu

sudo apt-get install python-markdown

转换工作很简单:

# 用discount提供的markdown工具

markdown -o Release-Notes.html Release-Notes.md

 

# 用python-markdown提供的markdown_py工具

markdown_py -o html4 Release-Notest.md > Release-Notes.html

如果要生成PDF,也很简单,可以用python-pisa提供的xhtml2pdf:

# Debian/Ubuntu

sudo apt-get install python-pisa

 

# 将html转换成PDF

xhtml2pdf --html Release-Notes.html Release-Notes.pdf

所以,你可以在文档目录下放置这样一个Makefile来自动这个过程:

# Makefile

 

MD = markdown

MDFLAGS = -T

H2P = xhtml2pdf

H2PFLAGS = --html

SOURCES := $(wildcard *.md)

OBJECTS := $(patsubst %.md, %.html, $(wildcard *.md))

OBJECTS_PDF := $(patsubst %.md, %.pdf, $(wildcard *.md))

 

all: build

 

build: html pdf

 

pdf: $(OBJECTS_PDF)

 

html: $(OBJECTS)

 

$(OBJECTS_PDF): %.pdf: %.html

    $(H2P) $(H2PFLAGS) $< > $@

 

$(OBJECTS): %.html: %.md

    $(MD) $(MDFLAGS) -o $@ $<

clean:

    rm -f $(OBJECTS)

这样你就可以通过简单的一个命令生成当前目录下所有md文件的pdf或html输出了:

# html 输出

make html

 

# pdf输出

make pdf

注意:这里有个问题是如果markdown的内容是中文,那么转换出来的html在浏览器中打开就无法自动识别编码,pdf更惨,直接是一堆乱码。这时我们可以借助markdown对html标记的支持来在markdown文件中加入编码信息。例如我们要将markdown转换为html文件,可以在文件的开头加上meta标记,指明编码格式:

sed -i '1i\<meta http-equiv="content-type" content="text/html; charset=UTF-8">' *.md

这样就可以了。

 

参考链接:http://www.ituring.com.cn/article/10044

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值