这个博客是怎么搭起来的

技术建站

这个博客没有用任何现成的博客框架,而是用最朴素的方式搭起来:Markdown 文件 + 一个构建脚本 + Nginx 静态托管。这篇记录一下思路,也许对想搭博客的人有点参考。

整体结构

blog/
├── build.js          # 构建脚本
├── package.json
├── posts/            # Markdown 文章源
│   └── *.md
├── assets/
│   ├── style.css     # 主样式
│   └── favicon.svg
└── dist/             # 构建产物(上传到服务器)

写作的时候,只需要在 posts/ 下新建一个 .md 文件,文件头用 YAML 写好标题、日期、摘要、标签:

---
title: 文章标题
date: 2026-06-26
excerpt: 一句话摘要
tags: [随笔, 技术]
---

正文从这里开始……

然后跑一句 npm run build,脚本会:

  1. 读取所有 .md,解析 front matter
  2. marked 把正文转成 HTML
  3. 套上统一的页面模板
  4. 生成首页(文章列表)、各文章页、关于页

为什么不用框架

Hexo、Hugo、Astro 都很好,功能也丰富。但对一个个人博客来说,我更想要的是:

  • 完全可控的样式——字体、留白、配色都自己定
  • 最少的依赖——只靠一个 marked
  • 目录干净——不要一堆我不用的配置文件

一个不到 200 行的脚本就能做到这些,何乐而不为。

部署

构建产物 dist/ 是纯静态文件,直接上传到服务器的 web 根目录,Nginx 托管即可。我的服务器上同时还跑着另一个 Node 后端,Nginx 这样分流:

路径 指向
/ 静态博客文件
/api/ 反向代理到 Node 后端 (127.0.0.1:3000)

这样博客和 API 共用一个域名、一套 HTTPS 证书,互不打扰。

一点感受

工具越简单,越容易坚持。当我发现写一篇文章只需要「新建 md → build → 上传」三步时,我就知道自己会愿意写下去。

复杂的东西有它的价值,但简单的东西,才留得住。