Markdown 或許是因為相對容易上手而被廣泛採用 (GitHub、Stack Overflow 等),但一方面也因為語法過於簡單的關係,在撰寫技術文件時顯得有些侷限 (聽聽看 Pro Git 的作者 Scott Chacon 怎麼說),所以我一直以來都偏好使用 AsciiDoc,不過似乎國內的使用者並不多?
網路上有許多技術文件、書籍,都是用 AsciiDoc 寫的,AsciiDoc 首頁 Documents written using AsciiDoc 一節可以找到更多的應用實例。
重新找了一下可以用 AsciiDoc 寫 blog 的方案,意外發現 2015/02 開始的 HubPress。使用一天的心得:
容易上手
只要 fork HubPress/hubpress.io
這個 GitHub repository 到自己的帳號底下,簡單調整幾個設定 之後,就可以開始存取 https://<USERNAME>.github.io
。
做為一個 web application (背後採用 Asciidoctor.js),在本地端不需安裝任何東西,相較之前安裝 Jekyll、Awestruct 的經驗,真的簡單很多。
(fork 這種佈署方式好特別,也難怪 fork 數會高逹 2,715,但同時間星星數也有 2,592,顯見滿意度還頗高的)
整合 Disqus 與 Google Analytics
分別在 HubPress admin console 的 Settings 頁面填上 Disqus shortname 及 Google Analytics 的 tracking ID 即可。
內建佈景主題 (theme)
有幾個佈景主題可以選用,不過無法預覽,每次換主題到會產生新的 commit (會動到 hubpress/config.json
),有點惱人。(換來換去,似乎還是預設的 Casper 最順眼)
對中文的支持還不完整
文件標題跟標籤 (hp-tags
) 目前還不能用中文 (#43, #145),因為會成為檔案或目錄名稱。
標籤我習慣用英文 (小寫、單字用 -
分開,例如 xml-rpc
),所以問題不大,至於中文標題則可以搭配 hp-alt-title
(alternative title) 這個 document attribute 重新定義 (檔案) 名稱。例如:
|
|
之後產生的 HTML 檔名就會是 YYYY-MM-DD-hubpress-first-time.html
。
可以在本地端編輯
可以離線編輯 _posts/*.adoc
(官方推薦 Atom 跟 AsciidocFX),但要發佈貼文還是得透過 admin console。
不支援圖示?
設定 :icons: font
沒有作用,單純用 :icons:
也沒有圖示。
這一點真的很可惜,尤其 Asciidoctor 的 Font Awesome 還真的滿有質感的。
Syntax highlighting 在許多 theme 上仍有問題
#407。
結論
雖然還是有許多問題,但整體上撰寫、發佈的流程都還算流暢,因此接下來貼文都會利用 HubPress 發佈在這裡,有什麼心得再跟大家分享。
[Update] 2016-11-19 在這之後用 HubPress 寫了幾篇文章後,感覺 HubPress 的管理介面在文章數多了之後,極有可能出現狀況。幾天前,因緣際會遇見了 Hexo,不到一天的時間就決定改用 Hexo 取代原有的 HubPress。