v0.17.0 (2026-06-13)
-
导出与预览
- 大型站点静态导出与本地预览明显更快;列表筛选、标签/分类查询在大库下也更稳。
- 预览默认启用图片懒加载(
lazy_img);本地图片处理与缓存优化,重复预览同一媒体时更省 IO。 - 导出并发由
--export-workers(别名--export-jobs)统一控制,默认按 CPU 核数取值。
-
索引与启动
- 内容索引缓存于
{work_dir}/__everkm/cache/everkm-publish.db,启动时自动迁移,无需再手动执行db-migrate。 - 版本升级后若索引结构不兼容会自动重建(首次启动可能稍慢,属正常现象)。
- 目录配置
folders与旧版DirConfig行为对齐;路径/slug/标题查找延续 v0.16.15 的大小写不敏感语义。
- 内容索引缓存于
-
主题安装
- 远程安装对齐 ekmp-themes 官方目录;主源失败时尝试 CDN 备用地址。
- 支持
{作者}/{主题名}@版本表达式与本地.zip包安装。 - 脚手架默认主题目录由
youlog调整为everkm/youlog(仅影响init新站点)。
-
Markdown 与页面表现
- 破坏性变更:
{{everkm::include(...)}}、{{everkm::toc(...)}}等花括号宏已移除,请改用```macro/include```、```macro/toc```等 fenced 块。详见 道盒Markdown格式。 - 预览与发布时,若正文首个 h1 与页面标题重复会自动隐藏,避免标题出现两次。
- dCard 卡片渲染与 v0.16.15 对齐;扩展属性、
exclude_tags等在 scraper 升级后行为更一致。 - 书籍/导航模板中
nav_tree等间接拉取列表时,上下文传递更完整,减少二次渲染告警。
- 破坏性变更:
-
模板与 CLI
- 破坏性变更:Tera 模板中文章日期字段由
post.date更名为post.created_at(秒级时间戳)。 - CLI 子命令
create已改名为init。详见 快速开始。 - 预览服务新增
/__everkm/导航页,便于浏览内置 API 与调试接口。
- 破坏性变更:Tera 模板中文章日期字段由
-
aNote 资源
- 通过 aNote 导出静态站时,
anote://assets/...链接会物化到dist/assets/media。 - Markdown 内链与 HTML 中
img/a两条路径处理一致。
- 通过 aNote 导出静态站时,
v0.16.15 (2026-04-11)
- 路径与引用解析:按内容虚拟路径、
slug、文章标题定位页面时忽略大小写。 - 目录 URL:以
/结尾的路径统一按「目录默认页」解析,覆盖index.md、slug为index、以及foo/foo.md等常见约定。 - Markdown 内链:带末尾
/的目录地址会按目录页解析并生成正确链接。
v0.16.14 (2026-04-08)
修复
- 目录配置合并时,子目录
index.yaml未写breadcrumbs时不再覆盖并清空祖先已合并的面包屑 - 各层
index.yaml中非空的breadcrumbs按深度追加到祖先链 find_by_path("/")正确解析内容根目录首页
新增 / 优化
- 页面面包屑:链首不再自动插入「Home」,中间层由各级
index.yaml与目录 index post 生成 - 对目录 index 页可指定不同的 slug 作为内部引用
v0.16.13 (2026-04-08)
- 脚注定义的开始处添加分隔线
- 修复:站点根
index.yaml不再错误生成 URL 路径段 - 文件名为
index的页面,slug 强制为index
v0.16.12 (2026-03-18)
- 增加 CLI 参数
--lazy-img,导出时为正文图片启用懒加载 - 脚注统一在正文末尾渲染
v0.16.11 (2026-03-13)
- 修复
index.html的 url_path 计算问题,去除as_channel,统一由slug=index决定 - 增强 Breadcrumbs 解析能力
- 增加
/__everkm/posts接口概览所有页面 - 过滤
__打头的 md 文件解析 DirConfig支持变量$THIS_DIR
v0.16.10 (2026-03-12)
- 优化 assets public fallback 优先级
- 优化 MIME 类型检测
- 为
everkm-publish web添加请求日志输出
v0.16.9 (2026-03-11)
- 目录配置里
hash_storage可写作hash_scatter(别名) - 各目录下的 index 页会生成
index.html,链接按所在目录 - 未在
index.yaml配置面包屑时,会按当前页的 URL 路径自动生成 - 当根据 URL 找不到 post 记录时,改为用请求路径交给模板引擎尝试渲染
- 目录配置增加
query配置项 - 增加
nav_tree函数 - 增加
lang函数
v0.16.8 (2025-12-09)
- 修复对
blockquote、codeblock块的扩展属性支持
v0.16.7 (2025-11-23)
- 重命名
uno为permalink posts列表增加order_by、order_direction参数
v0.16.6 (2025-11-20)
- 优化 dcard 的 assets 注入方式
- 新增 dcard 通过 JS 渲染
v0.16.5 (2025-11-14)
- 修复 nginx redirect map 参数转换错误
- 修复 Vercel redirect 参数转换错误
v0.16.4 (2025-11-11)
修复
- 模板传递对象 undefined 属性被转为 null 问题
- 模板按后缀搜索时必须是完整文件名
优化
posts列表默认排除当前文档everkm::include()的as参数可省略,已从扩展名推断
v0.16.3 (2025-11-08)
- 修复 breadcrumbs 无链接时去重问题
v0.16.2 (2025-11-03)
- 修复 Vercel 配置导出问题
- 修复查询参数 (Query String) 转换问题
v0.16.1 (2025-11-02)
新增
- 内容自动 lint 与修复功能(
--auto-fix-on-update) - dCard 强制渲染开关(
--ignore-dcard-errors) - JS 模板渲染 (SSR) 支持
- 文章列表返回
prev/nextID - 支持按 ID 获取文章详情
- 外部资源引用自动添加时间戳
修复
- 修复渲染死锁、dcard 参数传递与调用问题
变更
- 废弃从正文一级标题获取 title 的行为
- 默认关闭
hash_storage
v0.16.0 (2025-10-24)
新增
- 目录级配置
DirConfig(index.yaml),支持多级合并继承 - 面包屑导航自动注入
- URL 重定向导出(支持 nginx 和 Vercel)
hash_storage路径 fallback:长 slug 自动映射为短路径- 目录配置支持
query查询参数 --title-selector参数:自定义文章标题选取方式--with-extend-md-meta参数:导出扩展 Markdown 元信息
v0.15.1 (2025-09-06)
- 模板中增加
__theme_name全局变量,表示当前主题名称
v0.15.0 (2025-09-06)
新增
__everkm/pages目录支持独立于模板的补充页面--with-url-map参数导出 URL 映射文件--with-publish-map参数导出发布页面日志- 导出 nginx 可用的
url_map文件 file_meta子命令,读取单个文件的元信息- 支持导出模板路径与
publish_map输出 - 增加模板注入 assets 功能
v0.14.2 (2025-07-12)
- 梳理
theme_dir获取逻辑 - 修改 theme-dev 模式下的 assets 复制与 fallback 规则
v0.14.1 (2025-06-25)
新增
--config参数指定配置文件路径--theme-dev参数启用主题开发模式- 全局变量
__everkm_publish_version(当前工具版本号) - 全局变量
__theme_version(当前主题版本号) - 导出时支持相对 URL 计算
asset_base_url()函数
v0.14.0 (2025-06-20)
新增
posts函数增加exclude_tags参数,支持按标签排除文章- 标题降级策略:Meta 中未定义标题时,自动使用正文第一个 h1 作为标题
- 内部链接优先按
slug搜索 __env_is_preview全局变量,标识当前是否为预览环境- 支持监听多个目录
- assets 目录自动 fallback
修复
- 修复内部链接解析、排序、theme 版本号缺失等问题
v0.13.7 (2025-04-30)
- 修复判断相对链接时忽略锚点问题
v0.13.6 (2025-04-30)
变更
- 移除 OpenSSL 依赖
- Sitemap 配置规则变更:多条规则选择其中一个匹配,而不是合并
- glob 匹配规则调整:
*仅匹配一段路径,**表示多级目录
新增
theme install --force选项,强制覆盖安装主题
v0.13.5 (2025-04-26)
新增
nav_tree函数,生成导航树dir_tree目录配置项
修复
- 修复面包屑检测、alias 路径查找、路径查找、TOC 标题重复等问题
优化
base_url增加url参数,自动转换~/打头的地址为base_prefix- 优化链接比较方式,增加目录排除功能
v0.13.4 (2025-04-12)
- 修复导出页面时样式丢失问题
v0.13.3 (2025-04-08)
- 修复 dcard 数据与脚本优先从
__dcard中读取 - 修复 dcard 解析错误
v0.13.2 (2025-04-03)
- 修复复制文件删除错误
v0.13.1 (2025-04-02)
- 修复目录问题、变量重命名、打印输出
v0.13.0 (2025-04-02)
重大变更
以内容目录为一级目录,所有 everkm-publish 的相关配置统一放置到 __everkm 目录下,具体请参考新的目录结构。
重命名函数
post_exist->has_postmedia_local->media_remotesrc->medialocal_cfg->configlocal_cfg_exist->has_configget_random->randomget_env->envassets->assetds->datamd_html->md_to_htmlmarkdown_html->markdown_to_html
新增
regex_replace过滤器__host全局变量
0.12.6 (2024-04-15)
新增
- Dcard 数据源支持模板语法。
- 函数
media资源文件引用。
改进
posts文章列表的排序规则,修改后的规则为:weight↓,update_at|date↓,title↑,date↓
0.12.5 (2024-04-14)
改进
- 子命令
theme.pack改名为theme.package - 子命令
theme.add改名为theme.install, 并支持安装指定版本的模板。如yilog@0.5.6 - CI 环境打包模板时,自动根据 git tag 注入版本号到
everkm-theme.yaml。
0.12.4 (2024-04-13)
新增
- 配置参数
cfg.default_lang: 未指定语言环境时,默认使用的翻译语言环境。
改进
- 配置项
site_map.path以/结尾时,表示目录下的所有文件, 效果等同于blog/==blog/*,但不匹配孙级后代目录文件。
0.12.3 (2024-04-13)
新增
- 特殊目录
__assets: 发布时复制到静态资源assets目录。 - 特殊目录
__public: 发布时复制到内容页面目录。
0.12.2 (2024-04-10)
新增
- 函数
has_config判断配置项是否存在
0.12.1 (2024-03-27)
新增
- 过滤器
object_keys获取对象 key 列表 - 过滤器
object_values获取对象 value 列表 - 函数
imgsrc增加根据语言切换
0.12.0 (2024-03-24)
新增
- 多语言功能
- 空值断言
empty - 全局变量
__breadcrumbs - 全局变量
__lang - 全局变量
__tpl_path - 全局变量
__config - 函数
posts_tag_list获取标签列表 - 函数
posts_caregory_list获取分类列表
变更
cfg.qs值允许为对象。- 废弃配置项
context,新增sitemap - 废弃配置项
directory,新增map_url - 废弃函数
post_breadcrumb - 废弃函数
posts_tag_set
0.11.0 (2024-03-18)
新增
- 函数
config获取上下文语言相关的配置项
变更
- 取消语言包位置限定,仅要求以特定后缀 (
.i18n.md) 结尾。
0.10.7 (2023-11-17)
新增
- 函数
posts_directory_list获取内容目录列表 - 过滤器
index_of查询元素在列表中的位置
0.10.6 (2023-11-16)
新增
- 项目 dcard 支持
- 模板
everkm-publish theme install yilog@0.3.1安装时指定版本号
修复
__qs地址传递参数优先级高于配置文件
0.10.5 (2023-11-12)
修复
- Mac 安装解压缩问题
0.10.4 (2023-11-10)
增强
- 项目配置覆盖样式配置文件
修复
- 目录默认文件搜索问题
- 宏包含HTML转码问题
0.10.3 (2023-11-06)
修复
- npm package bug
0.10.2 (2023-11-06)
新增
- 目录默认页除同名规则外,新增
slug=index的认定 - Darwin 平台的 universal 发布包
- 样式安装命令
everkm-publish help theme。
修复
- 内容未指定 meta 时,
slug属性获取为空。
0.10.1 (2023-11-02)
优化
- 内部链接转换,标题优先使用文章标题,而不是文件名。
修复
- 迁移后的测试用例问题
0.10.0 (2023-11-02)
迁移至 Everkm
0.9.2 (2023-10-31)
新增
- 禁止跟进链接格式
?... - dcard 格式
yaml dcard/items - 目录默认页
- 函数
post_breadcrumb获取面包屑数据
修复
- Markdown 内部绝对(
~/)链接解析错误
0.9.1 (2023-10-26)
新增
- 过滤器
thumbnail自动生成缩略图
修复
- 行内与区块扩展属性同时存在时的冲突问题。
0.9.0 (2023-10-23)
新增
- 函数
data缓存功能。 - 函数
post_detail内容标签过滤。 - 函数
post_meta返回slug属性。 - 函数
oops。
修复
- 扩展脚本目录初始化错误
v0.8.4 (2023-10-15)
新增
__page_path_base全局变量,表示当前页基础路径(去除参数段和扩展名)。page_query函数,修改当前页查询参数并输出。- dcard 继承全局变量。
修复
- 链接转换问题
- TOC 无一级标题问题
优化
- 日志输出
v0.8.3 (2023-10-09)
新增
- 模板过滤器
json - 模板过滤器
md_html, 别名markdown_html - 内部链接忽略跟进参数。
改进
- 内部链接本地文件附件的功能。
- 目录导出路径配置,增加创建时间的年月日通配符。
- 渲染失败时的错误提示。
修复
- 导出时链接锚点丢失。
v0.8.2 (2023-10-08)
新增
- 当前页在导航树中的前后项
nav_indicator
v0.8.1 (2023-10-05)
新增
- 多语言。支持模板多语言和内容多语言
- 数据源支持CSV格式