位元詩人 經營[部落格]:選擇軟體

Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

說明

部落格本質上是網站,但我們不需要自己從頭開始手刻網頁,有許多的部落格軟體或服務會簡化建置部落格的過程;透過這些軟體或服務,部落客不需要花費過多時間在技術相關議題,可以專注在寫作上。

若將部落格軟體或服務的建置難度由易至難排列,可分為以下三類:

  • 部落格平台 (blogging platform)
  • WordPress
  • 靜態網站產生器 (static site generator)

這三種平台各有其優缺點,本文將逐一討論,讓各位作者們參考。

部落格平台 (Blogging Platform)

以下是一些實際的部落格平台 (順序不代表推薦度):

註:WordPress.com 是以 WordPress 軟體為基礎所建立的部落格平台,但是無法像自行用 WordPress 建置網站時可另行加入外掛等,故仍歸類於此項。

使用部落格平台是最簡單的方式,只要註冊一個帳號,馬上就可以開始在該平台發文。不過,免費的東西並不是真的完全免費,如同我們先前所述,有些部落格平台不允許部落客使用自訂的網域,因為這些部落格平台也是要對廣告主交待,若流量導向其他網域,他們的報表會受到影響。若碰到這種平台,最好審慎考慮是否要繼續經營。如果花一點費用,就可以用自訂網域,可以把它當成花錢租軟體的概念。

筆者先前也用過一小段時間的部落格平台,後來就把該部落格收起來了,因為這些現有的部落格平台無法寫足技術部落格的寫作需求。例如,發文字數有限制、無法處理程式碼片段 (code snippet)、無法處理數理公式 (formula) 等;此外,也無法像自架 WordPress 般自加外掛 (plugin)。若單純是文字或圖文部落格,用不到這些額外的特性,直接用現有的部落格平台仍是最簡單的選擇。

使用部落格平台就像是使用臉書或其他社群媒體,基本上,就是註冊一個使用者帳號、選擇佈景主題,之後只要持續寫作並發文即可。因此,我們在後續的文章中,並不會特別說明這類平台的使用方式。

WordPress

雖然 PHP 社群會對 WordPress 的程式碼品質頗所微詞,但 WordPress 仍然是目前最受歡迎的部落格軟體;根據 w3techs 的統計數據,WordPress 網站占全世界所有網站的 29%,在內容管理系統 (content management system) 占 60% (看這裡),由此可見 WordPress 受歡迎的程度。由於 WordPress 背負著沉重的相容性議題,不太可能隨意地更動其程式碼;不過,除了要寫 WordPress 外掛或是修改 WordPress 本身以外,單純地使用 WordPress 不用特地去學 PHP 或其他的網頁語言。

WordPress 的強大,不僅來自 WordPress 本身,還有豐富的第三方佈景主題 (theme) 和外掛,大大地擴展 WordPress 的功能;甚至還有開發者以販賣或客製化 WordPress 佈景主題或外掛維生。雖然現在有許多網頁框架出現,開發者不會獨鐘 Wordpress,不過,WordPress 社群大到可以在這個生態圈內進行商業活動,可見 WordPress 受歡迎的程度。

LAMP (Linux-Apache-MySQL-PHP) 是上個世紀最經典的網頁伺服軟體組合,大部分的網站托管服務都支援以 LAMP 這套網頁解決方案,不怕找不到托管服務,只怕這類服務太多不知如何選擇。不同的托管服務下安裝 WordPress 的方式略有不同,我們將於後文說明。

靜態網站產生器 (Static Site Generator)

靜態網站產生器 (static site generator) 是近年來新興的部落格製作方案,一些知名的實際專案包括 JekyllHexoHugo 等。相對於 WordPress 等動態網站,這類軟體生成的網站是靜態網站,安全漏洞大幅減少;此外,由於這類網站是靜態網站,連 PHP 和 MySQL 都省下來,只要有 Apache 或 Nginx 或其他網頁伺服器就可以運作,所有的網頁托管 (web hosting) 主機都可以放。

不過,這類軟體並沒有取代前述的部落格平台或是 WordPress,會用這類軟體的部落客大部分都是程式設計者,比起其他的方案,這類軟體需要較強的技術背景。主要的技術門檻來自於使用命令列環境、調整佈景主題、將網站上線等。所謂的佈景主題,就是 HTML 和 CSS 等網頁前端代碼再加上該軟體特製的模板語言,對於沒有網頁基礎的部落客來說,這些模板就像天書一般,看不懂也改不動。

此外,這類軟體也沒有漂亮的後台 (dashboard) 來撰寫文章,大部分就是用程式碼編輯器 (editor) 以 Markdown 或其他標記語言 (markup language) 寫文章後,由網站產生器轉為靜態網頁;此外,有時候會用 FTP 或 rsync 上傳網頁、用 Git 管理專案等。對程式設計者來說,這些步驟就是一些小工具或小步驟組合在一起,但有些部落客可能會覺得這些步驟太麻煩了。

由於靜態站台產生器是技客 (geek) 寫給技客用的工具,可選擇的方案很多,但每個方案可能實際使用的人數卻不多。考量各個軟體的熱門度、文件完整度、易上手度等因素,筆者會介紹 Jekyll 和 Hugo;在這兩者之中,Jekyll 是較典型的部落格軟體,而 Hugo 則像部落格軟體和站台管理系統混合的產物。根據專案在 GitHub 的星數,Jekyll 最受歡迎,但 Jekyll 對 Windows 支援不佳,若要在 Windows 上使用這類軟體,可以考慮 Hugo。

關於作者

身為資訊領域碩士,位元詩人 (ByteBard) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。