天天看點

[python]自動化将markdown檔案轉成html檔案

我們項目開發人員寫的文檔都是<code>markdown</code>檔案。對于其它組的同學要進行閱讀不是很友善。每次編輯完<code>markdown</code>檔案,我都是用軟體将<code>md</code>檔案轉成<code>html</code>檔案。剛開始轉的時候,還沒啥,轉得次數多了,就覺得不能繼續這樣下去了。作為一名開發人員,還是讓機器去做這些瑣碎的事情吧。故寫了兩個腳本将<code>md</code>檔案轉成<code>html</code>檔案,并将其放置在web伺服器下,友善其他人員閱讀。

主要有兩個腳本和一個定時任務:

一個python腳本,主要将<code>md</code>檔案轉成<code>html</code>檔案;

一個shell腳本,主要用于管理邏輯;

一個linux定時任務,主要是定時執行shell腳本。

使用python的markdown庫來轉換md檔案到html依賴兩個庫:

pip install markdown

pip install importlib

核心代碼其實隻有一句,執行 <code>markdown.markdown(text)</code>就可以獲得生成的html的原文。

直接<code>markdown.markdown(text)</code>生成的html文本,非常粗略,隻是單純的html内容。而且在浏覽器内檢視的時候中文亂碼(在chrome中),沒有好看的css樣式,太醜了。

[python]自動化将markdown檔案轉成html檔案

解決辦法也很簡單,在儲存檔案的時候,将<code>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;</code>和css樣式添加上。就這麼簡單解決了。

[python]自動化将markdown檔案轉成html檔案

讀取md檔案;

将md檔案轉成html文本;

添加css樣式和儲存html文本。

python代碼内容:

建立一個shell檔案,用于進行邏輯處理,主要操作如下:

更新svn檔案,将最新的md檔案更新下來(此處假設md檔案是<code>測試文檔.md</code>);

執行<code>python markdown_convert.py $NAME</code>将md檔案轉成html檔案(生成<code>測試文檔.html</code>);

将轉好的html遷移到web路徑下(移動到<code>html/測試文檔.html</code>);

啟動一個web服務(此處用的是python的<code>SimpleHTTPServer</code>的web伺服器).

在shell指令下輸入<code>crontab -e</code>進入<code>linux</code>定時任務編輯界面。在裡面設定<code>markdown2web.sh</code>腳本的定時任務:

設定每10分鐘執行一次<code>markdown2web.sh</code>腳本,當然也可以根據需求修改頻率。

本文轉自 Ron Ngai 部落格園部落格,原文連結:http://www.cnblogs.com/rond/p/5897625.html  ,如需轉載請自行聯系原作者