/rene.wang

轻量、多语言的静态 Markdown 博客,支持从 Notion 同步文章,可一键部署 | A Markdown & static blog, i18n supported.

Primary LanguageTypeScript

Rene.wang

简体中文 | English

这是我的的 博客 的源代码,同时也是一个强大的静态博客站点。

  • 使用 Markdown 写作
  • 从 Notion 同步文章
  • 多语言 UI/文章
  • RSS 订阅
  • 良好的 SEO
  • 独特的外观
  • 一键部署
  • Giscus 评论系统

🎞️ 开始使用

点击页面右上角 Use this template,创建你自己的仓库。

之后,修改配置文件。位于 ./site.config.js

一切准备就绪后,可以选择你喜欢的方法部署。

部署到 Vercel

Deploy with Vercel

部署到 Netify

由于 netify 的特性,请在项目设置中把部署命令修改为:

CI= yarn run build

部署到自己的服务器

0.服务器配置

确保服务器已安装 Node.js、 git 和 pm2。

在服务器下创建/app/ygk-blog 目录,并执行git init初始化仓库。

mkdir -p /app/blog && cd /app/blog
git init

1.GitHub 仓库配置

在 github 创建一个仓库,并在Setting->Secrets下添加服务器信息。

  • SSH_HOST:服务器 IP
  • SSH_USERNAME:服务器用户名
  • SSH_PORT:SSH 端口(默认 22)
  • SSH_PASSWORD:服务器用户密码

在 GitHub 仓库的 Deploy Keys 下添加服务器 git 公钥(生成方法)。

vim ~/.ssh/id_rsa.pub

2.推送代码

确保 Action 已启用之后,在 github 上所有 master 分支的更新都会自动部署到服务器。大功告成!

✍ 写作

目前支持两种写作方式:

  1. 将 Markdown 文件放入/posts/<catagories>目录即可。目前最高支持二级目录。
  2. 从 Notion 单向同步文章。

两种方式可以同步使用。

如果你选择第一种方式,每篇文章至少需要以下两个 frontmatter:

  • title
  • date

如果选择使用 Notion 写作,请参考这个 database 的形式创建一个一样的。(打开后点击右上角 Duplicate 一键复制)

之后,请在 Notion 新建一个 Intergation,获取 API Key. 同时获取你的 database_id

然后,在 GitHub 仓库新增两个环境变量:

NOTION_API_KEY=secret_xxxxx
NOTION_DATABASE_ID=xxxxx

Note

要获取 NOTION_DATABASE_ID,只需要打开数据库所在的页面,此时浏览器 URL 中用户名之后的长字符就是 id。要获取 NOTION_API_KEY,你需要先在 Database 的首页创建一个 Connection,然后点击 Manage connections 获取 TOKEN。

License

MIT