---
title: 本博客只是一个 Markdown 文件目录
slug: why-this-blog-has-no-cms
locale: zh
description: LiteTMS 博客没有使用任何 CMS。每篇文章都是产品代码库中的 Markdown 文件，经由 CI 验证，并同时以 HTML、原生 Markdown 和 RSS 形式提供。
date: 2026-07-15
updated: 2026-07-15
category: technology
tags: markdown, blog, aieo, engineering
author: LiteTMS Team
draft: false
---

本博客背后没有 CMS，也没有数据库。每篇文章都是一个 Markdown 文件，与 LiteTMS 代码提交在同一个代码仓库中，因此发布文章的流程与发布新功能完全一样：一次 commit 提交，一次部署。

我们希望采取与大多数企业博客不同的做法，本文将向您展示其完整的运作机制，甚至包括您当前阅读页面的原始代码。

## 大多数人采用的架构

典型的企业博客通常运行在完整的内容管理系统上：数据库、管理后台、用户账号、插件，还有一个一改就容易出问题的主题。这一整套复杂的机制之所以存在，只是为了让编辑团队无需接触代码就能发布内容。

我们没有专职的编辑团队，而且我们整天都在代码仓库里工作。因此，我们省去了这套繁琐的架构。每增加一个系统，就意味着需要打补丁、做备份和维护安全。而一个存放文本文件的文件夹则完全不需要这些负担。

## 文章文件的结构

以下是本文自身文件头信息的精简版，以及正文的基本结构：

```markdown
---
title: This blog is a folder of markdown files
slug: why-this-blog-has-no-cms
locale: en
description: There is no CMS behind the LiteTMS blog. Every post is...
date: 2026-07-15
category: technology
tags: markdown, blog, aieo, engineering
draft: false
---

The first paragraph answers the title on its own, because that is
the part search snippets and AI assistants quote.

## A section heading

Plain markdown body. Nothing exotic.

## FAQ

### Does this sample show the FAQ convention?

Yes. Each ### line is a literal question, answered right below it.
```

顶部的区块是一组扁平的键值对。其下方是普通的 Markdown 内容，由标准的 Markdown 库解析渲染。每种语言对应一个文件：本文同时存在同名的 `.en.md` 文件与 `.pl.md` 文件，其中波兰语版本是人工原生撰写，而非机器翻译。

示例末尾的 `## FAQ` 部分是一项实际遵循的规范，而非摆设。其中的每个问题都是用户可能在搜索框中输入的提问方式，构建脚本会将这些问答对转换成结构化数据，以便搜索引擎将其展示为富媒体搜索结果。本页底部就有实际效果展示。

## 用校验器代替编辑器

在正式发布任何内容之前，构建脚本会读取每篇博客文件并对照规范进行检查。描述文字必须在 80 到 170 个字符之间。分类必须是预设的五个允许值之一。日期必须是真实的日历日期，而且 slug 必须与文件名保持一致。

随后，脚本会生成一个包含所有文章元数据的单独索引文件，网站仅需读取该文件。无论是展示 5 篇还是 500 篇文章，列表页面的加载与计算开销完全相同。

同样的脚本会在每次推送代码时在 CI 流程中运行。如果文章格式有误，或者有人忘记重新生成索引，构建就会失败且不会触发任何部署。格式错误或损坏的内容根本不可能进入生产环境，因为生产环境永远不会接收未经校验器通过的任何内容。

## 为什么选择 Markdown？说实话

Markdown 能够胜出，原因其实非常朴素。无论是否有专用工具，Markdown 文件在任何文本编辑器中都清晰易读。它可以逐行对比差异，因此审阅文章就像审查代码一样直观：你能确切看清哪句话被修改了。此外，它也是 AI 助手解析成本最低的格式，而这一点在当下每个月都显得愈发重要。

正因如此，这里的每篇文章都提供三种访问形式。您当前阅读的页面是 HTML 版本。如果在浏览器的地址末尾添加 `.md`，即可直接获取代码仓库中提交的原始源文件，逐字节对应，以纯 Markdown 格式提供。此外，每种语言都有专属于自己的 RSS 订阅源，方便读者和聚合阅读器抓取。

我们还在 [/blog/index.md](/blog/index.md) 提供了已发布文章的机器可读目录，站点的 `llms.txt` 也会引导 AI 爬虫直接读取该文件。这一切都不会导致重复内容问题，因为原始源文件带有 noindex 标头，并包含指向对应 HTML 页面的规范链接。

## 这对读者有什么好处

这里介绍的内容都不是产品功能，而是我们在内容发布方式上做出的决定。这也符合我们在[第一篇文章](/en/blog/welcome-to-the-litetms-blog)中所作的承诺：杜绝虚构数据，提供可在源头核验的真实内容。LiteTMS 自身同样秉承这一理念，偏好清晰明了、可供检验的技术机制。如果您想亲自体验，[可以免费注册](/en/register)。

## FAQ

### 我可以将 LiteTMS 博客文章作为纯 Markdown 阅读吗？

可以。在任何文章的网址后加上 `.md`，网站就会跳转到原始源文件，并以纯 Markdown 形式展示。已发布文章的完整目录位于 /blog/index.md。

### 为什么 LiteTMS 博客不使用 CMS？

因为 CMS 意味着额外增加一个需要打补丁和维护安全的系统，而负责在这里发布内容的人员平时本就工作在产品代码仓库中。通过 Markdown 文件配合 CI 校验器，既能完成相同的工作，维护成本又低得多。

### 针对 AI 助手写作会降低人类读者的阅读体验吗？

不会。AI 助手偏好的内容结构，例如开门见山的首段、描述性标题以及配有简明回答的直白问题，同样能让文章结构清晰、便于人类读者快速浏览。原始 Markdown 只是另外一种提供格式，您阅读的文章依然是一篇正常的文章。
