【旧文重置】简单搭建一个 GitHub Repo 静态博客的 CMS 后台内容管理系统
type
status
date
slug
summary
category
tags
icon
password
Serial
提示
#旧文重置。
前言
摘要
通过 Netlify CMS 搭建一个博客 CMS 分离的 Headless 的 CMS 系统~~可以对 Git Repo(包括 Private Repo)进行 Git Commit~也可以隐藏 CMS~
研究动机
一直想为博客搭建一个 CMS,这样一来不用每次都在电脑桌前打开恐怖的 VSCode 界面写文(主要是会回想之前被 CSS 和 Javascript 困住的恐怖日子),界面也比较雅观,比较赏心悦目。写文也更有动力
正文
Netlify CMS 的官方教程是把 CMS 系统部署在博客根目录下
/admin
里,但是这个方法不知道为什么对我好像无效。直到一天看到网上的一篇文章:Just 3 Steps: Adding Netlify CMS to Existing GitHub Pages Site Within 10 Minutes。这篇文章让我顿时两眼发光。一顿糊弄操作后居然成功了,现在来分享下其中的经历和方法。第一步 - 创建一个 GitHub OAuth App
首先前往Github 的 Developer applications,然后点击
New OAuth App
。Application Name
和 Homepage URL
可以随便填,但是 Authorization callback URL
须是 https://api.netlify.com/auth/done
。然后点 Register application
。这个 app 会在 CMS 中被你赋予权限,然后代你向 Repo 提交 Commit。第二步 - 创建一个 Netlify CMS
在 GitHub 新建一个 Repo,名称和可见度随意,其后在 Repo 放入两个文件:
index.html
这是 Netlify CMS 的界面
config.yml
第三步 - 部署在 Netlify 上
进入 Netlify,创建一个与刚才 Repo 关联的项目。随后,前往 Site settings,修改 Site name 为你喜欢的名字(可以不修改)。然后把之前
config.yml
的 site-name.netlify.com
中的 site-name
改为项目的 site-name
(调整 site_domain 一致)(非常重要!没有调整一致后面会无法使用)记得要保存更改。然后在 Netlify 项目中的 Access Control 里,滑到
OAuth
下的 Authentication providers
,点击 Install provider
,把之前创建的 OAuth app 的 Client ID
和 Client Secret
贴上并 Install
。之后访问项目的网址便能进入 Netlify CMS 了。你也可以在 Netlify 项目中的
Domain management
加上你自己的域名。第四步(可选) - 映射博客静态文件到 Netlify CMS
由于博客和 CMS 是分离的,而且 CMS 是访问 CMS 域名目录下的文件,所以图片等的静态文件会丢失。
解决这个问题的办法很简单,就是为 CMS 系统添加一个重定向。Netlify 的
netlify.toml
便可实现。以下是我的方案,可供参考:
留言区
( ? )
Copyright © Michael Wong
2025
NotionNext. Theme
Boletim
by vongipc.开往 — 继续你的旅途