InitialX 是基于 Initial 主题按照自己的喜好二次开发的 Typecho 主题。
演示:MUKAPP
只修改了自己用到的部分,如果你发现哪里不契合主题,或者有什么 bug,欢迎 issue。
- 下载 Release 中的 InitialX-vX.X.X.zip
- 将解压出来的 InitialX 文件夹放到 Typecho 的
usr/themes/目录下 - 在后台「控制台」→「外观」中启用主题
- 在「设置外观」中配置主题选项
从源码部署时,先运行 npm install,再运行 npm run build,然后部署主题目录;Release 压缩包已包含构建资源。
npm run build:构建主题 CSS/JS 和独立的 Heti CSS/JS。npm run build:heti:只重建 Heti 资源。npm run watch:先完成一次构建,再监听主题和 Heti 源码变化。npm run pack:同步版本号、构建并打包主题。
后台「中文排版增强」仍控制 Heti 样式与脚本的加载,作用于已有 .heti 容器;可用 .heti-skip 排除不应处理的子树,代码块默认跳过。
- 核心源码:
src/js/heti/heti-addon.js,浏览器入口:src/js/heti/entry.js。 - 独立样式:
src/scss/heti.scss,间距与标点规则:src/scss/heti/_add-on.scss。 - 生成资源:
dist/heti.min.css、dist/heti-addon.min.js;不要直接修改。
核心与配套规则迁自 MSpring Theme 的 1c1a08d,基于 Heti。构建时使用 esbuild 打包 heti-findandreplacedomtext,网站运行时不需要 npm。第三方许可保留在 libs/heti/LICENSE。
中西文边界的原始空白保留在文本中,仅归零其视觉宽度,由 Heti 统一提供间距;英文单词内部空格不变。相邻标点恢复挤压,沿用 MSpring 的 text-spacing-trim: space-all、unicode-bidi: isolate 配套修复,避免原生标点处理与人工负边距重复挤压。首次加载、Swup 页面切换及 AJAX 完成后会重新处理内容,已生成的包装节点不再重复处理,并作为匹配边界,避免反复调用时将原本不相邻的标点误判为相邻;无正则后行断言的兼容分支也使用正确的空白和标点偏移。
MIT
