靜態網頁產生器

之前寫Blog , 總覺得 blogspot 不太好用 , 而 wordpress 要架站的話還要準備 server 稍嫌麻煩. 直到前陣子好友 qrtt1 建議了一個 idea :

# qrtt1:
# blog 啊。。那用 blog generator 加 s3 就好惹

而且還丟了一個 Java 大神的 blog 給我參考:

Ingram Chen 新年搬新家Jbake

稍微研究了一下之後, 覺得有幾個優點還蠻吸引我的:

  • 純靜態網頁速度是最快的,這無庸置疑.
  • 用markdown 格式來寫文章.
  • 可以用版本控管來管理文章.
  • 不需建置資料庫. 也就是說..
    1. 你可以用apache/nginx 架個最單純的web server來放這些網頁. php也不用安裝了.
    2. 甚至可以用 aws s3 這種雲端儲存來充當 web hosting. 也就達到無伺服器化.
    3. 平台建置更容易了些, 我們不用被綁在某個blog系統上了.

產生器的選擇

現在的 Static Site Generators 的種類數量是一種百家爭鳴的狀態. 有個網站 StaticGen 整理了各種產生器:

StaticGen

點進去看之後你會發現, 首先這些是依照 github 的星號做排序的 , 其次每種程式語言的愛好者都有open source的專案在這邊. 最近我跟 python 比較熟, 所以我就選擇了 pelican 這個6000+ 個星號的產生器來研究看看.

AWS S3 Static Website Hosting

AWS S3 用最白話的方式來說(不是很精確請見諒), 你可以說它是個雲端硬碟, 也可以說它是一個 ftp 讓你儲存檔案的地方. 由於它的計費方式是「用多少算多少」, 所以它不像其他的雲端硬碟有一些隱性的限制. 既然是要架站使用, 那麼不必要的限制是越少越好.

另外AWS S3它還有一些附屬功能, 例如權限控管的開關等等. 只要調整一下設定, 整個目錄就能變成一個公開的網站.

Static Website Hosting

結論

其實事情也沒有剛開始想像的那麼簡單。 沒有那些blogspot 般的設定精靈, 其實也就代表產生器裡面的 config 有許多細節, 得花點時間搞懂它們才能玩得好一些. 以後有機會再來分享一些心得.