← 全部文章

这个博客是怎么搭起来的

这个站点的全部技术栈是:Markdown 写内容,一个构建脚本生成 HTML,静态托管出去。没有数据库,没有后台,没有服务器要维护。

目录结构

blog/
├─ content/
│  ├─ posts/          文章,一篇一个 .md
│  └─ about.md        关于页
├─ src/
│  ├─ layout.js       页面外框(页头页脚、主题切换)
│  └─ style.css       全站样式
├─ site.config.json   站点名、简介、作者
├─ build.js           构建脚本
└─ dist/              构建产物,发布的就是这个目录

写一篇新文章

在 content/posts/ 下新建一个 .md 文件,开头写上几行元信息:

---
title: 文章标题
date: 2026-11-02
tags: [标签一, 标签二]
summary: 显示在列表里的摘要,一句话就够。
---

正文照常用 Markdown 写。文件名会成为网址,比如 my-post.md 就是 /posts/my-post.html。

然后跑一次构建:

npm run build

三种发布方式

方式 成本 需要域名 大陆访问
免费平台托管(Cloudflare Pages / Vercel) 0 元 不需要,用平台子域 一般
免费子域名 + 境外服务器 域名 0 元,服务器约 100 元/年 不需要 一般
国内云服务器 服务器约 40-100 元/年 必须买,且要备案 最快

现在的版本走的是第一条路:把 dist 目录扔上去就有网址,将来买了域名也可以在平台后台直接绑定,内容一个字都不用改。

为什么不用 WordPress

不是不好,是这套更省心。静态站的页面是提前生成好的 HTML,不需要 PHP 和数据库常驻内存,一台 1 核 1G 的机器能扛住很大的访问量,也更不容易被扫出漏洞。

代价是没有网页后台。对我来说这不是问题——写字本来就在编辑器里。

主题

右上角的「暗 / 亮」按钮可以切换配色,选择会存在浏览器本地。没点过的时候跟随系统设置。