Ghost CMS 快速上手

  • FrankFrank
  • /
  • 9 分鐘閱讀
  • /
  • May 4, 2020
  • /
  • - views

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 。