用于使用 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
时对内容空间进行编辑,您将需要停止它并重新运行命令以查看反映的更改。例如,在网站重建之前,新的帖子或页面不会自动显示。