摘要
本方案需要依赖:
- Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
- dragonman225/notablog: Tell stories of your work with Notion (github.com)
- GitHub Actions文档 - GitHub Docs
最终可以实现:
- 有一个自己的网页
Github Pages
- 在Notion中写完任何文章后的一天内自动发布到
Github Pages
中, - 成品请参考我的网页:FizzerYu
步骤
- 首先你要有个Github账号和Notion账号,如果你是学生的话可以领取 GitHub Student Developer Pack 和 Notion for Education
- 创建一个新仓库,需要给这个仓库一个比较特殊的名字,比如说
userName.github.io
,注意这里的 userName 可以是任意你喜欢的名字,但是强烈推荐使用自己的github用户名 - 把这个 Notion表格模板 复制到自己的Notion账号中【右上角的 Duplicate 按钮】,把这个表格设置为公开【 点击右上角的
Share
按钮→Share to web
打开 → 点击Copy
按钮复制网址 】- 比如说我复制出来的网址是 https://elemental-geology-c67.notion.site/2c4dc4affe68463da4f61f8fa93406e0?v=9ad1da13a555443598a33b3bfc3db594 ,打开这个网址检查一下是不是对应的表格模板
- fork仓库 ‣ ,修改
config.json
文件中的url
- 原始的url为:
"url": "https://www.notion.so/b6fcf809ca5047b89f423948dce013a0?v=03ddc4d6130a47f8b68e74c9d0061de2"
- 将 b6fc...de2 这段字符修改为
步骤2.a
中的网址后缀(也就是 2c4dc...b594) - 对应到本文中也就是修改为:
"url": "https://www.notion.so/2c4dc4affe68463da4f61f8fa93406e0?v=9ad1da13a555443598a33b3bfc3db594"
- 原始的url为:
- 创建
Personal access tokens
- 打开
Github.com
,依次点击 右上角头像 → Settings → Developer settings → Personal Access Tokens → 右上角Generate new token → 按照示例修改下面 - 最后点击最下方的 Generate token ,就会生成一个字符串,复制这个字符串备用【注意千万别泄露这个字符串,有安全风险】
- 打开
- 回到你fork的名为
notablog-starter
仓库,依次点击 settings → secrets → actions → New repository secret, Name是ACCESS_TOKEN
,Value 就是上一步生成的字符串(步骤5.b)
- 回到你fork的名为
notablog-starter
仓库,依次点击 Actions → New workflow → set up a workflow yourselfa. 使用下方代码覆盖原始文件:
# This is a basic workflow to help you get started with Actions name: Github Pages # Controls when the workflow will run on: schedule: # 下一行是说在每天的国际标准时间23点(北京时间早上7点)触发该任务 # 你可以随意修改 - cron: '0 23 * * *' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # 拉取代码 - name: Checkout uses: actions/checkout@v2 # 1、生成静态文件 - name: Build run: npm i -g notablog && notablog generate . # 2、部署到 GitHub Pages - name: Deploy uses: JamesIves/github-pages-deploy-action@v4.2.5 with: token: ${{ secrets.ACCESS_TOKEN }} repository-name: FizzerYu/FizzerYu.github.io # 修改这里 BRANCH: main # 如果你的仓库默认分支是 master 记得修改这里 FOLDER: public
b. 上方代码需要修改
repository-name
,具体就是步骤2中创建的仓库的git clone
地址,比如说:# git clone 地址为: git@github.com:FizzerYu/FizzerYu.github.io.git # 因此 repository-name 为: FizzerYu/FizzerYu.github.io.git
c. 注意步骤2中创建的仓库默认分支名是否与
BRANCH
参数一致d. 按照要求修改完成后保存:
- 按照下图要求依次点击:
- 稍等片刻(大概10min内),就可以打开你的github pages查看啦!比如说我的网址
FizzerYu.github.io
测试
- 在notion中找到复制出来的模板,复制一行数据
- 然后随便写点东西,再重复步骤6、7,就可以看到新的文章啦!