Expand description
分享图渲染:文章图与站点图,均为 1200×630 PNG(见 docs/v1.0-重设计方案.md「分享图」)。
版式按效果稿「网站图标与分享图」画板放大一倍:文章图浅底,元信息、衬线标题(最多 三行)、摘要(最多两行)与底部文字标,右侧一条陶土橙细边;站点图深底,文字标、 两行标语与「地址·篇数」。
字体随二进制嵌入(scripts/subset-og-fonts.ts 裁剪的 Noto Serif / Sans SC),不读
系统字体,渲染结果与部署环境无关。SVG 文字不会自动折行,这里按字体字宽量出每行;
字体缺字时返回 OgError::MissingGlyph,由调用方改用站点图。
Structs§
- Site
Share Card - 站点分享图上的文字。
- Style 🔒
- 一种文字样式。尺寸为 1200×630 画布上的像素。
Enums§
Constants§
- CLAY 🔒
- HEIGHT
- POST_
META 🔒 - POST_
SUMMARY 🔒 - POST_
TITLE 🔒 - SITE_
FOOTER 🔒 - SITE_
TAGLINE 🔒 - SITE_
WORDMARK 🔒 - WIDTH
- WORDMARK 🔒
Statics§
Functions§
- baseline_
offset 🔒 - 行框顶到基线的距离:与 CSS 一样把行距差平分到字面上下。
- ellipsize 🔒
- 末行加省略号,放不下时从尾部逐字退回;同时去掉省略号前的空格与句读。
- flush 🔒
- font_
ref 🔒 - is_cjk 🔒
- is_
no_ 🔒break_ after - is_
no_ 🔒break_ before - measure 🔒
- 文字宽度(含字距)。缺字时报错。
- rasterize 🔒
- render_
post - 渲染文章分享图。
- render_
site - 渲染站点分享图。标语两行各自折行,合计最多三行。
- svg_
open 🔒 - text_
block 🔒 - 自
top起逐行写出文字,返回最后一行行框的底边。 - tokens 🔒
- 切成折行的最小单位:一个汉字、一个西文词或一个空格。句读与闭括号并入前一个单位, 不出现在行首;开括号与开引号并入后一个单位,不留在行尾。
- wordmark 🔒
- 文字标:陶土橙方点加「Yggdrasil」。方点边长约为字号的 0.53,圆角为边长的 0.25, 与字之间留约一个方点宽。
- wrap 🔒
- 按宽度折行,最多
max_lines行;超出时末行以「…」收尾。