Type_打字机
一次一个字符(严格说是一个码点)地输出其内容,模拟电传打字机/打字机。能打大部分内容:链接、标记、宏等。(<<type>> 是老式打字机的灵魂附体——「哒哒哒」逐字蹦字,复古感拉满。)
语法
SugarCube
<<type speed [start delay] [class classes] [element tag] [id ID] [keep|none] [skipkey key]>>
…
<</type>>参数
speed:字符打字速率,使用有效的 CSS 时间值——例如1s和40ms。20–60ms是不错的起点。0s和0ms会让打字立即完成。startdelay:(可选)打字开始前的延迟时间,使用有效的 CSS 时间值——例如5s和500ms。若省略,默认400ms。classclasses:(可选)添加到打字容器上的类列表(空格分隔)。elementtag:(可选)用作打字容器的元素——例如div和span。若省略,默认div。idID:(可选)分配给打字容器的唯一 ID。keep:(可选)关键字,表示打字完成后保留光标。none:(可选)关键字,表示完全不使用光标。skipkey:(可选)用于让打字立即完成的按键。若省略,默认使用Config.macros.typeSkipKey的值。
示例
SugarCube
<<type 40ms>>
每 40 毫秒打一个字符。包括 [[链接]] 和 ''其他标记''!
<</type>>
<<type 40ms start 2s>>
每 40 毫秒打一个字符,延迟 2 秒后开始。
<</type>>
<<type 40ms class "foo bar">>
每 40 毫秒打一个字符,给打字容器添加类。
<</type>>
<<type 40ms element "span">>
每 40 毫秒打一个字符,用 作为打字容器。
<</type>>
<<type 40ms id "type01">>
每 40 毫秒打一个字符,给打字容器分配 ID。
<</type>>
<<type 40ms keep>>
每 40 毫秒打一个字符,完成后保留光标。
<</type>>
<<type 40ms skipkey "Control">>
每 40 毫秒打一个字符,用 Control(CTRL)键作为跳过键。
<</type>>CSS 样式
打出的文字没有默认样式。想改字体或颜色,需要修改 macro-type 类的样式。例如:
css
.macro-type {
color: limegreen;
font-family: monospace, monospace;
}还有一个 macro-type-done 类,会加到已打完的文字上,可用它与正在打的文字做区分。
默认光标是块状字符 右半块(U+2590),没有默认字体或颜色。想改字体、颜色或字符,需要修改 macro-type-cursor 类 :after 伪元素的样式。例如:
css
.macro-type-cursor:after {
color: limegreen;
content: "\269C\FE0F"; /* 鸢尾花 emoji */
font-family: monospace, monospace;
}警告:与那些「只在外部动作或一段时间后才注入内容」的宏或代码交互(如
<<linkreplace>>、<<timed>>等)时,表现可能符合也可能不符合预期。强烈建议测试。