展示
Code - 行内代码
句子里的一个函数名,或者一个 flag。
用法
什么时候用它
import { Code } from '@misoto22/folio'说明
一个函数名、一个 flag、一个文件名——长在句子里面。
渲染成 <code>,因为这就是表达这件事的那个元素。一个套了等宽字体的 <span> 看上去一模一样,对读屏软件却什么都没说——而“pass 杠 杠 force”并不是那句话原本要说的东西。
尺寸用 em 而不是像素,所以这个小块跟着它旁边的字号走——Kbd 遵守的是同一条规则,理由也一样:定死成一个值,同一个标识符会因为落在正文、图注还是表格单元格里,在一个页面上长出三种大小。
块状的那个是 CodeBlock。这一个天生就是行内的:它不画 plate,不保留空白,多行字符串传进来会被压成一行。
结构
| 部件 | 说明 |
|---|---|
| 标记盒必填 | 一个真正的 <code>,--radius-sm 圆角,填 --stone。按 0.85em 而不是像素定尺寸,所以同一个 token 在正文里、图注里和表格单元里都是成比例的。 |
实践建议
推荐
- 凡是读者会敲出来、或者机器会读进去的东西都用它:一个 flag、一条路径、一个函数、一个环境变量名。等宽这张脸就是“这串字是字面量”的信号。
- 让它继承尺寸。按 em 排是故意的——钉死成某个像素值,同一个 token 会因为落在哪儿,在同一页上长出三种大小。
避免
- 别塞给它一个多行字符串。它不保留空白,也不画底板,所以那段片段会塌成一行——那是 CodeBlock 的活。
- 也别拿一个 <span> 调成这个样子去替它。元素本身就是全部意义所在:一个等宽的 span 看起来一模一样,却什么都没告诉读屏软件,而念出来的「pass dash dash force」并不是那句话说的东西。
示例
inline
一个真的 <code> 元素,尺寸用 em,所以同一个 token 在正文里和在图注里都是成比例的。重点在这个元素,而不在那张等宽字体的脸:一个加了样式的 span 看起来一模一样,却对读屏软件什么都没说,于是被播报出来的是「pass 破折号 破折号 force」。
Pass --force to overwrite dist/, and read the merge helper in src/lib/cn.ts.
At the small step it tracks down with the sentence: --force.
a literal or a key
两枚读者肉眼分不出来的芯片,各用一句话说清。Code 是机器读、人照着敲出来的字面量;Kbd 是他们按下去的键。这个选择完全关乎含义,因为这两个元素被播报的方式不同——而一枚长得像按键的代码芯片,会招来一次没有任何东西回应的按压。
Press ⌘ K to open the palette, then type Markdown to reach the component.
The flag is --force; the key that cancels the run is Esc.
a list of flags
同一枚芯片放进一份定义列表里,周围的字号更小。它按 0.85em 定尺寸而不是按像素,所以在术语列里、在正文里、在表格单元格里,都不用谁去挑一个尺寸就已经成比例——而且它不保留空白,所以交给它一个多行字符串,会被压成一整条。那种情况该用 CodeBlock。
--force- Overwrites
dist/instead of failing on it. --filter- Runs in one workspace package.
--dry-run- Prints what would be published, and publishes nothing.
无障碍
- 渲染 <code>,辅助技术靠它才知道这一段是字面量而不是正文。