在Linux下使用Markdown進行文件工作

2021-07-24 11:49:52 字數 2137 閱讀 2099

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

# 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

所以,你可以在文件目錄下放置這樣乙個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標記,指明編碼格式:

content="text/html; charset=utf-8">' *.md

# 實際上是ssl_use_cabundle

sslusecabundle

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

在Linux下使用ADSL

文章標題 在linux下使用adsl 程軍傑 張貼者 admin enthusiast 張貼日期 04 06 02 02 12 am 原文章發布於 2001.8.24 by 程軍傑 本站會員 北京電信的adsl使用的是pppoe撥號方式,因此,要在linux下使用adsl,必須安裝pppoe 客戶端...

在Linux下使用ADSL

北京電信的adsl使用的是pppoe撥號方式,因此,要在linux下使用adsl,必須安裝pppoe客戶端軟體。下面說明如何進行安裝 本文以redhat linux 6.2為實驗平台,其它平台的linux安裝辦法可以參照下面從源 進行安裝的步驟。一 安裝的前提條件 1.確保安裝了網絡卡並工作正常 使...

在Linux下使用ADSL

在linux下使用adsl 電信的adsl使用的是pppoe撥號方式,因此,要在linux下使用adsl,必須安裝pppoe客戶端軟體。下面說明如何進行安裝 本文以redhat linux 6.2為實驗平台,其它平台的linux安裝辦法可以參照下面從源 進行安裝的步驟。一 安裝的前提條件 1.確保安...