Ghost CMS 簡介
Ghost CMS 是一個免費,開源的內容管理系統,截止本文撰寫日期為止在 Github 上有 33.5k 的 Star。Ghost CMS 基於 Node.js ,安裝簡便,自帶一個非常優雅的管理界面,SEO 友好,並且配合強大的API ,非常適合作為 Headless CMS 使用。
Ghost CMS 的一大賣點就是他的“可見即可得”編輯器,和大名鼎鼎的 Medium 編輯器非常相似。文字編輯非常輕鬆, 並且可以插入眾多的附加內容,如圖片,相冊,Markdown,影片等等。
除了 Web 版的管理界面,Ghost 還有一些 Native App 可供下載:
Ghost CMS 安裝
本地安裝 Development 模式
Development 模式可以很快的安裝好一個本地運行的Ghost CMS, 無需設定任何資料庫, 默認使用 SQLite3 資料庫作為開發使用 。
# 安裝 ghost-cli 工具程式
npm install ghost-cli -g
# 安裝 ghost CMS
ghost install local
安裝完成後就可開啟瀏覽器 http://localhost:2368/ghost 來訪問了。
注意這個模式下的 Ghost CMS 僅為開發使用,並不適合在伺服器上安裝(即便安裝後也會因為 IP binding 的問題無法遠程訪問)。
安裝 Production 模式
若要安裝 Production 模式的 Ghost CMS , 可以透過以下指令進行:
ghost install
在安裝過程中需要指定資料庫 URL等重要參數,具體可以參考官方詳細的 安裝指引 ,這裡不再贅述。
使用 docker & docker-compose 來安裝
使用 docker 來安裝則更加快捷,任何已經安裝 docker & docker-compose 的機器都可快速完成。
我建立了一個已經寫好的 docker-compose 供大家參考, 可以直接 clone 下來再做修改:
# Clone the template project
git clone https://gitlab.com/frannnnk/docker-compose-ghost-cms-quick-start.git
主要需要更改以下檔案中的設定
docker-compose.yml
包含 docker 的設定ghost/config.production.json
包含 Ghost 的設定ghost/config.development.json
包含 Ghost 的設定
之後就可以啟動 Ghost CMS
docker-compose up
Ghost CMS Admin 界面
啟動 Ghost CMS 後,便可以透過 http://domain:port/ghost/#/site
來訪問管理界面。
Ghost CMS 管理界面的操作都非常簡單,很容易上手。
值得一提的是 Ghost CMS 的每篇文章都可以設定針對不同平台的 Meta,例如 meta:description, meta:title, og:description, og:image 等等。這對於 SEO 以及 Marketing 來說非常重要。
Ghost CMS API
Ghost CMS 的 API 針對不同的 Frontend 都有相對應的 starter template,具體可以 參閱官網。
這裡重點介紹一下 Rest API。 Rest API 分為 Content API 和 Admin API, Content API 是以只讀模式獲取 Ghost CMS 的內容, 而Admin API 則可以更改 CMS 的內容。
要使用API,首先要在管理界面中增加一個 integration:
然後就可以使用 Content API Key / Admin API Key 來調用 Rest API 了。
curl http://{domain}/ghost/api/v3/content/posts?key={apikey}
API 的具體 Endpoint,可以在 官網 查閱。
以上便是 Ghost CMS 的快速上手,當然 Ghost 的功能還有很多,例如 Theme, eCommerce 等等,如果有興趣,大家不妨仔細閱讀 官網教學 ,來更深入地了解Ghost CMS 。