用於使用 Gatsby、Contentful 和 Netlify 建立令人驚嘆的靜態網站的入門範本。受到 gatsby-contentful-starter 的啟發。
https://gcn.netlify.app/
git clone https://github.com/ryanwiemer/gatsby-starter-gcn.git
yarn install
或透過 Gatsby CLI
gatsby new gatsby-starter-gcn https://github.com/ryanwiemer/gatsby-starter-gcn.git
註冊 Contentful 並建立一個新的空白空間
yarn run setup
輸入您在此處找到的 Contentful 空間的請求資訊: app.contentful.com →空間設定→ API 金鑰。您需要提供標準 API 金鑰(第一個選項卡)和管理金鑰(第二個選項卡)。
編輯/src/gatsby-config.js
中的 siteMeta 數據
siteMetadata: {
title : 'GCN' , // Title of the website
description : // Description of the website
'A starter template to build amazing static websites with Gatsby, Contentful and Netlify' ,
siteUrl : 'https://gcn.netlify.app' , // Website URL. Do not include trailing slash
image : '/images/share.jpg' , // Path to default image for SEO
menuLinks : [ // The links used in the top menu
{
name : 'Home' ,
slug : '/' ,
} ,
{
name : 'About' ,
slug : '/about/' ,
} ,
{
name : 'Contact' ,
slug : '/contact/' ,
} ,
] ,
postsPerFirstPage : 7 , // Number of posts on the first page
postsPerPage : 6 , // Number of posts used on all other pages
/*
Root URL for posts and tags
For example: 'blog' will result in:
- www.example.com/blog/
- www.example.com/blog/post-name/
- www.example.com/blog/tag/tag-name/
*/
basePath : '/' , // Defaults to the homepage
}
注意:如果您在本機開發時沒有看到變更已反映,您可能需要執行yarn clean
然後透過yarn develop
重新啟動伺服器。
編輯/src/gatsby-plugin-theme-ui/index.js
export default {
colors : {
background : '#ffffff' ,
text : '#121212' ,
primary : '#121212' ,
secondary : '#e9e9e9' ,
tertiary : '#f3f3f3' ,
highlight : '#5b8bf7' ,
} ,
fonts : {
body : '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif' ,
} ,
sizes : {
maxWidth : '1050px' ,
maxWidthCentered : '650px' ,
} ,
responsive : {
small : '35em' ,
medium : '50em' ,
large : '70em' ,
} ,
}
yarn test
腳本快速檢查程式碼是否有錯誤static/images
目錄中的share.jpg
和favicon.png
檔案。運行gatsby build
將資料夾/public/
拖曳到 Netlify 中
來自 Git 的新 Netlify 網站
連接 GitHub 並選擇您的儲存庫
導覽至 Netlify:設定→建置和部署→建置環境變數。使用空間 ID 和內容交付 API 新增以下環境變數 - 來自 Contentful 的存取權杖。此外,如果需要,您可以輸入 Google Analytics ID。變數的命名必須與此完全相同才能正常運作。
ACCESS_TOKEN
SPACE_ID
GOOGLE_ANALYTICS
Trigger deploy
以手動觸發部署,以確認網站正在使用您的建置環境變數成功建置。此時請注意,每次您推送到master
時,部署都會自動啟動並發佈到生產環境。 導航到 Netlify:設定→建置和部署→建置掛鉤。建立一個新的建置掛鉤。
導覽至 Contentful: app.contentful.com →空間設定→ Webhooks 。使用您剛剛建立的 Netlify 建置 URL 建立一個 Webhook,並配置哪些事件應觸發生產建置。例如,每次發布、取消發布或刪除貼文或頁面時,以下內容都會重建生產網站:
導覽至 Netlify:表單→通知
點擊新增通知下拉清單並選擇您所需的通知方式。
yarn develop
時對內容空間進行編輯,您將需要停止它並重新運行命令以查看反映的變更。例如,在網站重建之前,新的貼文或頁面不會自動顯示。