生态Web 与网络
言标:中文 HTML 超集
使用默认自动转义的插值、条件、循环、包含、继承和过滤器编写言枢页面。
言标是言枢内建的模板子项目。普通 HTML 保持原样,动态内容和控制流使用独立定界符;模板文件以.yb.html结尾。
插值
<h1>{{ 页面.标题 }}</h1>
<a href="{{ 文章.url }}">{{ 文章.title }}</a>点路径读取嵌套典,不存在的路径输出空串。普通插值始终 HTML 转义,因此<标签>会输出为<标签>。
可用过滤器:
{{ 名称|默认:匿名 }}
{{ 名称|大写 }}
{{ 名称|小写 }}
{{ 文章列|长度 }}
{{ 数据|JSON }}JSON结果仍会 HTML 转义,适合展示而不是生成可执行脚本。
条件与循环
{% 若 已登录 %}
<p>欢迎,{{ 用户.姓名 }}</p>
{% 否则 %}
<p>请登录</p>
{% 终若 %}
{% 逐 文章 于 文章列 %}
<article data-index="{{ 循环.索引 }}">{{ 文章.title }}</article>
{% 终逐 %}若 非 已归档表示取反。循环元数据包含从 1 开始的序号、从 0 开始的索引、首项和末项。
包含与继承
{% 含 partials/header.yb.html %}基础模板:
<!doctype html>
<main>{% 块 主体 %}<p>默认内容</p>{% 终块 %}</main>子模板:
{% 承 base.yb.html %}
{% 块 主体 %}<h1>{{ 标题 }}</h1>{% 终块 %}一个模板只能承一个基础模板;多层继承保留最下层的同名块覆盖。{# ... #}用于不输出的注释。
可信 HTML
定 数据 为 {「正文」:言枢.言标.信任HTML(已审计源码)};只有显式言标安全HTML实例可以绕过插值转义。它是信任升级,不是清洗器,不能接收用户、接口、数据库或文件中的未审计数据。
文件与资源边界
- 单模板最大 256 KiB;
- 包含/继承最大 16 层;
- 拒绝循环包含与继承;
- 拒绝绝对路径、反斜杠、NUL、空段、
.和..; - 词法、结构、过滤器、路径和资源错误使用稳定
YANBIAO_*前缀。
言标不解析或清洗 CSS、JavaScript、SVG,也不替代 CSP 与业务 URL 规则。完整实现参考见言枢博客。