歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在Linux下使用Markdown編輯器進行文檔工作

在Linux下使用Markdown編輯器進行文檔工作

日期:2017/2/28 13:58:40   编辑:Linux教程

自從使用了Markdown,做文檔工作就很順手。我幾乎將工作中所有的文檔工作都用Markdown來完成。最近有了一些新的體驗,也發現了一些新的問題。

在Linux系統中,編輯markdown可以用retext工具:

# Debian/Ubuntu
sudo apt-get install retext
# 編輯文件使用以下命令
retext Release-Notes.md

要將markdown文件轉換成html文件,可以用discount或python-markdown軟件包提供的markdown:

# 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<span class="pln"></span>

所以,你可以在文檔目錄下放置這樣一個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轉換為html4文件,可以在文件的開頭加上meta標記,指明編碼格式:

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

這樣就可以了。另外,最近使用圖靈社區的編輯系統時,markdown會時不時將下劃線(_)當作斜體的標記,結果函數名就成了這樣的:

# 實際上是ssl_use_cabundle
sslusecabundle

我建議斜體字標記采用單個星號(*),加粗字體采用兩個星號(**),這樣使用起來就方便多了。當然,這個問題本身在於markdown說用星號或下劃線都可以。但實際上,兩個都支持反倒會造成一些問題。比如有的地方用下劃線(__粗體__ ->粗體),有的地方用星號(**粗體** -> 粗體),看起來反倒混亂不堪(選星號*的另一個理由是下劃線在內容中出現的概率比星號高很多)。

Markdown: Basics (快速入門) http://www.linuxidc.com/Linux/2014-12/110960.htm

Markdown 語法說明 (簡體中文版) http://www.linuxidc.com/Linux/2014-12/110960.htm

Copyright © Linux教程網 All Rights Reserved