设计语言

这个站点的取值与规则。改样式之前先看这里,新页面照这里取值。

定位

这是一个索引站点,不是产品主页。访客来这里是为了取一个地址、确认一个包在不在、 看一个目录里有什么。所有决定都服从这一点:信息密度优先于留白, 数据可读优先于版面漂亮。

gentoozh.org 共用同一个色相与深色基底, 不照搬它的卡片网格。那是导航型首页的形态,用在数据表上会把行距撑散。

色彩

强调色取自 gentoozh.org 的 hsl(255 55% 70%),色相与 Gentoo 官方紫 #54487a 一致。全站只有这一个强调色,不再引入第二种色相; 状态用绿色,仅出现在表格的对勾上。

深色

浅色

变量用途
--bg页面底色
--surface代码块、表头等需要与底色区分的面
--border分隔线。全站用线不用阴影
--fg标题与强调文字
--fg-body正文
--fg-soft次要信息:说明、时间、单位、占位
--accent链接、当前项、代码里的值
--accent-weak当前项的背景,极低饱和
--ok只用于「已构建」这类肯定状态

字体

正文用系统 sans,数据用等宽。包名、版本、路径、体积、时间一律等宽, 因为它们要对齐着扫,比例字体做不到。中文行高 1.8,比英文站点宽, 否则汉字挤在一起。

系统 sans:正文与说明文字 The quick brown fox

等宽:app-i18n/fcitx-rime-extra 5.1.8 · 12.4 M · 2026-07-27

尺寸用在哪
1.6rem / 600页面标题,每页一个。34rem 以下 1.45rem
0.95rem / 400引导句
0.9rem / 600章节标题、步骤标题
0.88rem / 400正文与说明
0.84rem / 400表格数据
0.8rem / 400代码块
0.74rem / 600表头、状态标签

间距与分隔

间距取 4 的倍数。区块之间用 1px 线分隔,不用卡片、不用阴影、不用圆角容器; 圆角只出现在按钮和标签这类可点的小元素上,2px。

移动端

一条列隐藏阶梯,加一个布局断点。表格宽度不够时逐列让位,让到只剩包名和状态 为止;布局本身只在 34rem 换一次。四档之外不再加,多设几档会让每一档都缺少 验证。

断点做什么
62rem藏体积列。宽于它时包名不断行
52rem藏版本列。指纹改成占满一行按分组换行
44rem藏说明列与文件浏览器的日期列,靠说明命中的行补一句说明
34rem手机布局:顶栏折两行,内边距与代码字号收紧

四块都写在基准规则之后。同权重下后面的赢,混在基准规则中间会被下面的基准 规则盖掉。指纹那条就这样失效过一次。

规则原因
顶栏两行品牌与语言、主题一行,导航链接一行。品牌用 flex-basis 0 先缩,否则浏览器会换行成三行
导航链接横向可滑不换行,避免一个链接单独占一行
表格逐列隐藏体积、版本、说明按这个顺序让位,状态列留到最后
表头留在视口里thead 用 position: sticky,top 取 --nav-h。顶栏也是 sticky,写 0 会滚到它底下;顶栏窄屏折两行,高度由 util.js 量出来写进变量
包名在斜线处断行用 <wbr> 标出断点。word-break: break-all 会把 app-admin/1password 切成认不出的三段
页面不横向滚动代码块与地址栏在自己的容器里滚,表格靠逐列隐藏塞进视口。表格外面不能套 overflow:overflow-x 一旦不是 visible,overflow-y 的 visible 会被算成 auto,表头的 sticky 就黏在那个容器上
正文内边距 1rem桌面 1.25rem。再小会贴边

改完逐宽度实测,320 到 1280 都看:可见列、指纹换行、标题字号、顶栏折行、 表头吸顶、documentElement.scrollWidth 不大于 clientWidth。用指定宽度的 iframe 量,改 html.style.width 不触发媒体查询。

组件

数据表

说明二进制包版本
app-admin/chezmoiManage your dotfiles across machines2.71.1
app-misc/crushA command line shell不构建
app-text/goldendictFeature-rich dictionary lookup program待构建

搜索同时比对包名和说明。说明列被藏起来的宽度上,靠说明命中的行在包名下面 补一句说明,命中的词用 <mark> 圈出来,底色 --accent-weak。 否则结果里会出现名字与搜索词无关的包,页面上找不到理由。

代码块

/etc/portage/binrepos.conf/gentoo-zh.conf
sync-uri = https://distfiles.gentoozh.org/binpkgs/x86-64

路径写在标题栏,命令与配置在下方。值用强调色,键用正文色,注释与提示符用次要色。 每一块都能整段复制,不需要用户自己选中。

内容超宽时横向滚动,滚动条留着不藏——它是还能往右看的唯一提示。调细到 6px, 滑块用 --border,悬停 --fg-soft。系统默认样式在深色主题下是 一条浅灰粗条,全站只有那一处不跟主题。

语言

简体是文档原文,直接写在 HTML 里;繁体与英文由 i18n.js 在 body 末尾换。 浏览器不保证等到那时才开始画,所以 early.js 放在 <head> 同步判断访客要哪门语言:是简体就什么都不做,一帧都不必等; 不是简体才把正文挡到换完为止,并带一个 1.5 秒兜底。

标记换什么
data-i18n元素的文字
data-i18n-html整段内容,含里面的标签与链接
data-i18n-href链接地址。gentoozh.org 按语言分路径
data-langblock整段多写几份,只显示当前语言那一份

导航栏与页脚是全站共用的,每一页都跟着语言走,包括单语的这一页。语言按钮 每页都画:它决定的是全站偏好,少一个控制项读起来就是坏了。

文字

先给结论再给理由,因果写出来,不只并列现象。段落不超过 4 句。 不写总结段,不升华。简体用大陆用语(软件、网络、程序、数据、默认、内存), 繁体用台湾用语,技术术语保留英文原文。

因为 portage 接受二进制包时不比较 CFLAGS,所以这一点只能在构建端保证。

我们非常重视兼容性,会尽力确保您的使用体验。

这里只有 overlay 的源码,不能替代官方源。

三样东西都可以直接浏览和下载哦。

禁止的句式

句式问题
不是 X,而是 Y否定式对比,绕一圈才说到点
这不仅是…更是…伪广度,没有增加信息
从 X 到 Y同上
无缝、直观、强大三项形容词堆叠,都不可验证
值得注意的是该注意的直接写,不用预告
总的来说 / 综上所述总结段本身就不写
随着…的不断发展套话开头
其实 / 说白了 / 坦白讲口语开头

禁止的词

类别
互联网黑话赋能、抓手、闭环、底层逻辑、颗粒度、心智、护城河、沉淀、生态位
公文腔不断深化、持续推动、有力支撑、彰显、诠释、注入新的活力
翻译腔空转词作为、关于、基于、进行、通过(能删则删)
口语的话、就行、拉下来、装上、搞定

标点

符号规则
“ ”只用于引述与专有名称,不用于强调
——全角,两侧不加空格,每千字不超过 1 次
不用 em dash 加空格的英式写法
……省略号用这个,不用三个点
emoji不用

刻意不做的

渐变光晕、彩色渐变标题、玻璃拟态

大圆角卡片加投影堆成的网格

超大字号的营销式首屏

图标装饰每一个标题

动效。除按钮的即时反馈外,没有动画

这些是当下生成式工具的默认产物,堆在一起会让任何站点看着像同一个模板。 这个站点靠排版和信息组织成立,不靠装饰。