概念与架构

2026-06-19

everkm-publish 是静态站点生成与本地预览命令行工具:你在工作区写 Markdown,工具按主题渲染为 HTML,预览或导出为可部署的静态文件。

一次发布循环

Markdown 内容  +  主题(外观与布局)  →  预览 / 导出 HTML  →  部署到服务器或 CDN
  1. 写内容:在工作区根目录(或语言子目录)放置 .md 文件
  2. 选主题:决定页面如何排版、导航与样式如何呈现
  3. 预览everkm-publish serve 启动本地服务,边改边看
  4. 导出everkm-publish serve --export 生成静态站点目录
  5. 上线:将导出目录部署到 Nginx、对象存储、Vercel 等(见 导出与发布

核心概念

概念是什么放在哪
工作区(work-dir)站点根目录,包含内容与 __everkm/你创建的 my-site/
内容Markdown 文章、图片等工作区根目录及子目录
主题(Theme)整套外观包:模板、静态资源、可选前端脚本__everkm/theme/<name>/
页面模板(Template)单类页面的渲染方式(如 booklist主题内 templates/,由 folders.template 指定
everkm.yaml站点级配置:站点信息、目录规则__everkm/everkm.yaml
extend/站点级扩展:覆盖模板、资源、dCard__everkm/extend/

主题 ≠ 页面模板。主题是完整皮肤包;folders 里的 template 字段指定某一目录用主题中的哪套页面模板渲染。

工作区目录一览

my-site/                          ← work-dir(工作区根)
├── HOME.md                       ← 内容:首页 Markdown
├── blog/
│   └── hello.md
├── __everkm/
│   ├── everkm.yaml               ← 站点配置
│   ├── cache/                    ← 索引缓存(自动管理)
│   ├── extend/                   ← 站点扩展
│   ├── i18n/                     ← 项目语言包
│   └── theme/
│       └── youlog/               ← 已安装的主题
└── zh_CN/                        ← 多语言内容目录(可选)
    └── blog/

完整说明见 快速开始

两条学习路径

站点运营者(写内容、配站点、导出上线):

  1. 概念与架构(本文)→ 快速开始文章元数据站点配置
  2. 按需:导航与目录链接与内链毓知Markdown格式多语言展示卡片 (dcard)导出与发布CLI 速查常见问题

主题开发者(开发或定制外观):

  1. 先理解本文中的主题 vs 模板
  2. 主题开发 — 主题结构、Tera / JsRender、打包与安装
  3. 基础介绍 — 模板语法(Tera);内置函数见 内置函数

CLI

各子命令在发布流程中的角色见 CLI 速查;完整参数以 everkm-publish <子命令> --help 为准。