Typora theme · CJK long-form · Skill included

写中文长文时的
阅读指标

不是聊天气泡密度。我把正文 1rem · 行高 1.65 · 行宽 52em · 纸感卡片钉死——再附一套主题工程 Skill,让改配色不再靠猜。

安装免费 V2 六套皮肤 · ¥9.9
Free · V2 编辑 Pack · V1–V6 · ¥9.9 1rem · 1.65 · 52em MIT · V2
验收样张 · 纸感阅读台

hekouwang 主题验收样张

——用来验收排版,也适合直接截进 README(浅色 / 深色各一张)

这一份把 Typora 常渲染的块基本铺满。中英混排是重点:西文走 Anthropic Sans / Inter,中文 fallback 到苹方——这不是妥协,桌面端本身就是这个机制。我自己验收时会把本文件开着,浅深各盯三分钟。

现行阅读指标(Hekouwang):正文 1rem · 行高 1.65 · 行宽 min(52em, 100%−gutter) · #write 纸感卡片。

一、正文与中英混排

我写这段是为了看长段落的呼吸感。并排对照时,西文字形应接近 Anthropic Sans / Inter,中文走苹方;行距要像在读文章,不是在扫聊天气泡。

比如这句里混着 variable font、opsz 轴、以及 300→800 的字重范围,看看西文和苹方交接得顺不顺。数字也要对齐:2026 年、1,247 次、99.8% 的占比、测得 font-size: 16px 根字号。

四级标题:接近正文字号

到这一级应该已经接近正文字号,靠字重和间距区分,而不是继续放大。行内代码用低饱和暖褐,一段里七八个 code 仍读得像文字。

Core highlights

主题真正值钱的不是皮肤,是这些硬约束

做主题最费时间的不是写 CSS,是一类不报错的失败——改了没变化、字体没上屏、配色凭直觉对不上参照。下面六条是我踩完坑以后钉死的产品决策。

Metrics

中文长文阅读指标

1rem · 1.65 · 52em

浅色 / 深色同一套字号行高行宽。深色只覆写 color / alpha,构建时断言纸感在位。

Tokens

别手改 CSS

真相源是 scripts/tokens.jsonbuild.py 一次出两份 CSS。手改生成物,下次构建就没了。

Build

零 !important · 零乱 px

0 !important

#write 特异性。除根字号外全 rem——Typora 偏好里的字号调节才不会失效。

Fonts

~100 KB,不塞中文宋

只随包 Inter latin(OFL)。中文走系统苹方——Anthropic Sans 实测 CJK 汉字 0 个,打包宋体是错方向。

Sample

配色采样,不许猜

我曾笃定底色是 #faf9f5,采样后发现那是窗口色;编辑区更接近 #fdfdfc。深色侧栏比正文更亮——取反必错。

Paper

纸感画在 #write 上

暖径向 + 大圆角 + 外阴影;壳层(侧栏 / gutter / 顶栏)更深一档。层级靠字重间距,不靠左边竖条

In Typora

真机截图,不是营销假图

验收样张开着,浅深各盯三分钟——headless 全绿不算数,最终要在 Typora 里肉眼看。

中文验收样张:题头、阅读指标、中英混排
中文样张 · demo/验收样张.md — 题头署名、阅读指标、中英混排正文
连续代码块:Python / shell / CSS
代码块 · 连续 fences — 语法色克制,块与块之间有呼吸
Typora 窗口:侧栏与纸感编辑区
整窗 · 侧栏 / 文件树 / 纸感编辑区同屏
Reading metrics

三项指标,决定你能不能盯几个小时

我调主题时几乎不先碰颜色——先把字号、行高、行宽钉死。颜色再漂亮,行距不对,中文长文也会像在扫弹幕。

Body
1rem
根字号 16px;长时间写作不累眼的基准。
Leading
1.65
汉字密度高于西文 UI 文案,行高要留呼吸。
Measure
52em
流体行宽:min(52em, 100% − gutter)。
Typography

中英混排:三级降级,不打包中文

Anthropic Sans 有 581 字符、CJK 0 个(连中文标点都没有)。正确做法是西文 + 系统中文配对。

01

Anthropic Sans

仅当你本机已有(Claude 桌面端)

不随包
02

Inter variable · latin

真可变 300–800 + opsz;绝大多数人看到的是这一层

~100 KB · OFL
03

系统 UI / 苹方

中文 fallback;截图也按第 2 层校对

系统自带
vs Gallery

和 Gallery「Claude Theme」差在哪

目标相近,但是独立实现,不是 fork。我对照过公开数字——最刺眼的是 !important 数量和字体包体积。

维度Gallery Claude Themehekouwang
写法手写约 3158 行token 生成
!important397 处0(构建强制)
字号部分 px除根字号外全 rem
打包字体~24 MB(含 Noto Serif SC)~100 KB Inter latin
Anthropic 字体再分发不打包;local() + Inter
正文中文Noto Serif SC 宋系统无衬线
西文字重单一 400,粗体合成可变 300–800 + opsz
Skill · v1.3.0

主题工程 Skill:clone 就能用

Skill 真源就在本仓库 skills/hekouwang-typora-theme/,不是另开 skill 仓。clone / 打开项目后,Claude Code / Cursor 能加载项目 skill 的 Agent 可直接用——无需再单独安装

什么时候叫它:

改配色 / 字号 / 行高 主题不生效 字体没上屏 按参照 App 采样做新主题 加深色变体 提交 theme.typora.io

最常用的三条命令(Agent 或你自己在仓库根跑):

01 · build 生成浅色 + 深色 CSS,含自检
# 公开仓 → 仅免费 V2(hekouwang.css + dark)
$ python3 scripts/build.py
# 断言:零 !important · 除根字号外零 px · 纸感在位
# 付费肤需本机色板 + craft,或不走 build、直接 unlock.zip
02 · install 装进 Typora;备份进子目录
$ ./scripts/install.sh
# 可选:--use-local-anthropic(默认关,仅个人本机)
03 · verify fonts 带「不存在的字体」作 fallback 基准
$ python3 scripts/verify_render.py --css theme/hekouwang.css \
  --fonts "Hekouwang Sans,Hekouwang Sans Fb" \
  --vars bg-color,text-color
# 宽度 ≈ 不存在字体 → 说明你要的字体没上屏
Iron rules

六条铁律——全是静默失败

这些坑不报错,页面照常渲染。Skill 把它们写成工具约束;你自己改主题时也别跳过。

改完必须 Cmd+Q 再开

切换主题不会重载已改的 CSS。不这么做,你会在一个用户根本没看到的版本上反复调参数。

备份绝不能留在 themes 根目录

Typora 把根目录下任何文件名含 .css 的都列进菜单,包括隐藏文件。备份必须进子目录(install.sh 已处理)。

零 !important

Typora 自己的 base.css 都不用。靠 #write 特异性。构建时断言。

除根字号外零 px 字号

否则偏好里的字号调节失效。构建时断言。

配色不许猜,要采样

窗口色 ≠ 编辑区色;深色侧栏比正文更亮。用 sample_colors.py,必要时 --solve-alpha 反解叠加。

headless 全绿 ≠ Typora 里对

系统 Chrome 比 Typora 内嵌 Chromium 新得多。最终验收必须在 Typora 里肉眼看。

Sample · don’t guess

从参照截图采真实色值

做浅色时我笃定底色是品牌米色,采样后发现对话区才是纸色。深色更极端——靠「把浅色取反」一定会做错。

sample_colors 按常见布局给候选 / 指定框
$ python3 scripts/sample_colors.py 参照截图.png
$ python3 scripts/sample_colors.py 图.png --box 700,640,1700,700 --label 正文背景
$ python3 scripts/sample_colors.py 图.png --text-box 690,300,1500,345 --label 正文文字
solve-alpha 底色 · 结果色 · 候选 — 三通道一致才真
$ python3 scripts/sample_colors.py --solve-alpha 1f1f1e 272725 ffffff,d97757
 白叠加 0.036/0.036/0.031 一致 · 品牌橙通道不一致 ❌
References

按需展开的四份说明书

Agent 读 Skill 后按任务打开对应 reference;你也可以自己点开。

skills/hekouwang-typora-theme/   ← Skill 真源(SKILL.md + references/)
.claude/skills/… · .cursor/skills/…  ← 软链,供工具发现
scripts/tokens.json      单一真相源
scripts/build.py         生成 CSS + 构建自检
scripts/install.sh       装进 Typora
scripts/sample_colors.py 截图采样
scripts/verify_render.py 字体 / 渲染探针
theme/                   成品 CSS + Inter
demo/                    验收样张
Customize

自己改:只动 tokens,再 build + install

customize · tokens → build → install
# 编辑 scripts/tokens.json 后:
$ python3 scripts/build.py
$ ./scripts/install.sh
# 然后 Cmd+Q 完全退出 Typora 再重开

dark 段只覆盖 color / alpha;边框与浅底由 border_base / shadow_base 派生。别直接改 theme/*.css

Install · Free

免费默认:Hekouwang / Dark(V2)

公开仓只装 HekouwangHekouwang Dark(skill V2 编辑)。装完请 Cmd+Q 完全退出 再开。六套付费皮肤走下面 购买区,用 unlock.sh 装,不混进这条命令。

hekouwang-typora-theme · free
# clone & install · macOS
$ git clone https://github.com/huiyonghkw/hekouwang-typora-theme.git
$ cd hekouwang-typora-theme && ./scripts/install.sh
 Cmd+Q 退出再开 · 主题菜单选 Hekouwang / Hekouwang Dark

也可只拷 theme/hekouwang.csstheme/hekouwang-dark.csstheme/hekouwang/ 到 Typora 主题文件夹(Preferences → Open Theme Folder)。

Pack · ¥9.9

怎么买六套皮肤

three steps · WeChat Pay or Alipay · 一年更新

免费=一套写得久的阅读指标(V2,公开仓 MIT)。付费=同一指标上的 skill 皮肤(科技 / 财经 / 玻璃 / 紫×青 / 焰彩紫橙粉等,各含 Dark;V2 与免费同文件),并多一层阅读工艺。色板与工艺源码不进公开仓,只随 zip 私发——clone 公开仓跑 build.py 只会出免费 V2。

开源 · MIT主题包 · ¥9.9
Hekouwang / Dark(V2 编辑)
Hekouwang V1 / V3–V6(+ Dark)
同一套 1rem · 1.65 · 52em · 纸感
付费阅读工艺(更深纸影 · 标题点缀 · 引用/代码块)
一年更新 + 微信答疑
compare · real Typora 真机对比(同开 demo/验收样张.md)。完整画廊见 README 付费真机
V5 紫 HUD 浅色:紫×青
V5 紫 HUD · 紫 × 青(链接走青绿)
V6 焰彩浅色:紫×橙×粉
V6 焰彩 · 紫 × 橙 × 粉(H1 焰彩渐变)
V1 科技浅色
V1 科技 · 冷调绿紫
V3 财经浅色
V3 财经 · Material 蓝
01
付款 ¥9.9
扫下面任意一个码 —— 微信支付、支付宝都行。
02
加我,发付款截图
微信 hekouwang,备注「Typora主题」。
03
收 zip,按安装手册装上
我只发付费 zip。装法看本页 装付费包(解压后 ./unlock.sh,或公开仓 ./scripts/unlock.sh 包.zip)。不用 GitHub 账号。
01付款 · 二选一
微信支付收款码
微信支付 · ¥9.9
支付宝收款码
支付宝 · ¥9.9
02然后加我
微信加好友二维码
扫码加我
或者直接搜微信号
hekouwang
把付款截图发我,备注「Typora主题」。我发 zip;装法见 本页「装付费包」
no risk 七天无理由退款。先装免费 V2、过两天再决定完全没问题 —— 它不是试用版,也不会到期。
outside china 在海外、微信支付和支付宝都用不了?目前还没接信用卡收款,这点我就直说了。 邮件 huiyonghkw@gmail.com,我们另想办法;拿到的是同一个 zip、同样一年更新。
license 付费包仅供个人使用,请勿二次分发。免费 V2 仍是 MIT(公开仓 LICENSE)。
Unlock · Paid pack

付费包安装手册

收到 zip 后来这里 · 不用记命令

付费包只追加 Hekouwang V1 / V3–V6(各含 Dark,共 10 个 CSS)。免费的 Hekouwang / Hekouwang Dark(V2)仍走公开仓 Install。色板与工艺源码只在 zip 里,不会出现在公开 GitHub 树。

01
确认 zip 能解压
文件名类似 hekouwang-typora-theme-pack-v1.1.0-YYYYMMDD.zip。解压后应有 unlock.shtheme/(10 个 css)、LICENSE-PRO.txtVERSION
若打不开或提示损坏:多半是微信传输截断——让我重发,或改用文件传输助手 / 网盘再下一次。
02
还没装免费 V2?先装
已装过可跳过。未装则:
free V2 · once
$ git clone https://github.com/huiyonghkw/hekouwang-typora-theme.git
$ cd hekouwang-typora-theme && ./scripts/install.sh
03
安装付费包(二选一)
方式 A · 推荐:解压后在包目录执行 chmod +x ./unlock.sh && ./unlock.sh
方式 B:在公开仓目录执行 ./scripts/unlock.sh ~/Downloads/你的包.zip
成功时终端会列出 10 个 CSS 已装进 Typora 主题目录。
04
Cmd+Q 完全退出 Typora,再打开
点红点不够。重开后:菜单 主题 / Themes → 选 Hekouwang V1 … V6(或对应 Dark)。
macOS 主题目录:~/Library/Application Support/abnerworks.Typora/themes/
checklist 装好后菜单里应有:
  • Hekouwang / Hekouwang Dark(免费 V2)
  • Hekouwang V1 / V1 Dark(科技)
  • Hekouwang V3 / V3 Dark(财经)
  • Hekouwang V4 / V4 Dark(玻璃)
  • Hekouwang V5 / V5 Dark(紫 HUD)
  • Hekouwang V6 / V6 Dark(焰彩)
faq 菜单里没有 V1–V6?先看 unlock 有无报错,再 Cmd+Q 重开;主题目录里应能看到 hekouwang-v1.css 等。
Windows / Linux?本包按 macOS 路径验收。其他系统:Typora → Open Theme Folder,手动拷入 zip 里 theme/*.css,再重启。
能否转发给别人?不能。见包内 LICENSE-PRO.txt
support 装崩了找我:微信 hekouwang · 备注「Typora主题」· 本页锚点 #unlock

来源
主题仓库 · huiyonghkw/hekouwang-typora-theme
Skill 真源 · skills/hekouwang-typora-theme/SKILL.md · v1.3.0
验收样张 · demo/验收样张.md
Typora Gallery · theme.typora.io
视觉外壳 · hekouwang-content-skill · V1科技白