Linux下批量將md文件轉換爲html文件

要將markdown文件轉換成html文件,能夠用discount或python-markdown軟件包提供的markdown工具。html

$ sudo apt-get install discount

python

$ sudo apt-get install python-markdown

用discount提供的markdown工具轉換:瀏覽器

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

用python-markdown提供的markdown_py工具轉換:markdown

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

若是要生成PDF,能夠用python-pisa提供的xhtml2pdf轉換:工具

$ sudo apt-get install python-pisa
$ xhtml2pdf --html Release-Notes.html Release-Notes.pdf

也能夠在文檔目錄下放置一個Makefile來自動完成轉換過程:ui

# 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)

html輸出:編碼

$ make html

pdf輸出:.net

$ make pdf

若是markdown的內容是中文,那麼轉換出來的html在瀏覽器中打開就沒法自動識別編碼,pdf更慘,直接是一堆亂碼。這時能夠藉助markdown對html標記的支持,在markdown文件中加入編碼信息。例如咱們要將markdown轉換爲html文件,能夠在文件的開頭加上meta標記,指明編碼格式:code

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

使用以上的方法,轉換出來的效果並不理想,因此嘗試使用pandoc去轉換,在Ubuntu上使用如下指令安裝:htm

$ sudo apt-get autoremove pandoc
$ sudo apt-get install cabal-install
$ cabal update
$ cabal install pandoc

html輸出:

$ pandoc Release-Notest.md -o Release-Notes.html

pdf輸出:

$ pandoc Release-Notest.md -o Release-Notes.pdf

參考文章

Linux下批量將md文件批量轉換爲html文件
如何在Linux下使用Markdown進行文檔工做
利用Pandoc轉換markdown和HTML、LaTeX

相關文章
相關標籤/搜索