最近把自己博客系统整理了一下,顺手开源出来:一个极简静态博客,日常只需要写/改 posts/ 里的 Markdown,剩下的全部交给 GitHub Actions(actions bot)自动构建。
地址:👉NIE-Higan-Blog
这玩意能干啥?
- ✅ 只写 Markdown:文章放
posts/,支持 YAML Front Matter - ✅ 自动生成首页索引:生成
posts.json(SPA 首页读这个渲染列表) - ✅ 自动生成站点地图:生成
sitemap.xml - ✅ 每篇文章自动生成独立静态页:输出到
/p/<slug>/index.html
这样搜索引擎/分享链接都更友好(SEO/预览/直链) - ✅ 评论可选:可接 Waline(不强依赖)
图片展示


构建方式(只有一种)
这个项目只支持一种构建方式:
你提交文章 → GitHub Actions 自动运行 build → 自动生成产物并由 actions bot 提交回仓库
你不需要在本地装任何东西,也不需要手动执行脚本。
写作方式(两种都行)
方式 A:先在本地写好 Markdown,再复制进仓库
- 本地写
.md - 上传/复制到仓库
posts/ - 提交后自动构建
方式 B:直接在 GitHub 网页里写
- 打开
posts/ - 新建/编辑文件
- 提交后自动构建
文章格式
文件命名建议
普通文章建议用:
YYYY-MM-DD-文章标题.md
Front Matter(支持 top 排名)
文章顶部可以写:
---
title: 文章标题
date: 2026-02-06
category: 分类
tags: [标签1, 标签2]
top: 10
---
其中:
top是文章排名:数字越大越靠前
例如top: 100会排在top: 10前面
「说说」的特殊规则
我把“说说”当成一种特殊分类,规则固定:
文件名必须是
YYYY-MM-DD-说说.md
文件最顶部固定写
---
title: 说说
date: YYYY-MM-DD
category: 说说
---
然后下面直接写正文内容即可,例如:
---
title: 说说
date: 2026-02-06
category: 说说
---
今天又在折腾 VPS,把 DNS 搞炸了……
欢迎围观/提建议
仓库:👉NIE-Higan-Blog
如果你也喜欢这种“只写 Markdown、其余全自动”的方式,欢迎点个 Star 或提 PR。
好东西啊
我震惊了,这又是什么思路
集成了生成产物提交到仓库里面容易出大小写bug,远程actions提交一次build一次的缺点;不仅暴露源md文件,还污染git提交记录和仓库……?
好小众的思路,我急需楼主解释这么玩的好处到底是什么,有什么理由不直接用actions进行build并发布生成产物文件夹到pages(或交给vercel进行build),这样也只写md其余全自动啊?
e.g.修改一下url快速扒出楼主博客源文件:https://www.聶.net/posts/2026-02-03-Dedirock 年付6.75刀 1核心2G内存30G NVMe 测评留档.md
写完 md 一提交,Actions 给我把首页数据 文章之类的静态页都生成好,部署那边只管把文件发出去(不需要再跑构建)
至于你说的:
@大负豪 #4

我不明白。可以actions生成,然后把生成的静态产物(指定一个pubic构建子文件夹)直接公开到pages啊?没必要储存这些产物
你这个站甚至是vercel上面的。vercel都可以直接build然后把产物公开……为什么还要多一堆commit呢?为什么还要单独仓库?这是我想不通的
我记得quartz博客就是这样的
好东西,我也需要这种
@samhou #5
commit这个确实没办法,没在意这个
构建的话,如果在仓库里构建完成,
其他任意pages可以直接托管 最多加一个xxx.json 设置缓存
不必额外设置自动构建 因为每个平台都不一样
@大负豪 #8

你的项目actions只是装了py然后跑一个python构建,每个平台配一下其实也不是很烦
如果你说要省下多平台配置时间,那确实是,我也不得不认可
但是为了省事暴露文件,增加垃圾commit,数字强迫症已经晕过去了
@samhou #9
反正文章都公开了,暴露md文件也没啥,
之前我那个写文章的仓库都是直接公开的