Skip to content

11/12/2025

变量

Web Clipper 模板可以使用变量自动预填充页面数据到模板中。变量可用于笔记名称、笔记位置、属性字段和笔记内容中。变量还可以通过过滤器进行修改。

使用 Web Clipper 扩展中的 ... 图标即可获取当前页面变量,以便在模板中使用。

预设变量

预设变量 会根据页面内容自动生成。这些变量通常适用于大多数网站。

变量描述
{{author}}页面作者
{{content}}文章内容、高亮内容或选区内容,采用 Markdown 格式
{{contentHtml}}文章内容、高亮内容或选区内容,采用 HTML 格式
{{date}}当前日期,可使用过滤器进行格式化
{{description}}描述或摘要
{{domain}}域名
{{favicon}}网站图标链接
{{fullHtml}}未处理的完整页面 HTML 内容
{{highlights}}带文字和时间戳的高亮内容
{{image}}社交媒体分享图片链接
{{published}}发布日期,可使用过滤器进行格式化
{{selection}}以 Markdown 格式的选区内容
{{selectionHtml}}以 HTML 格式的选区内容
{{site}}网站名称或发布者
{{title}}页面标题
{{time}}当前日期和时间
{{url}}当前网址
{{words}}字数统计

提示词变量

提示词变量 的优势在于极其灵活且易于编写,但也存在一些权衡:运行速度较慢,并且根据所选服务商的不同,可能涉及成本和隐私方面的考量。

与其他变量类型不同,提示变量需要由外部语言模型处理,因此只有在解释器运行后才会被替换。

如果所需提取的数据格式一致,最好使用其他变量类型而非提示变量进行提取。

另一方面,如果所需提取的数据在不同网站间格式不一致,提示变量会非常实用。例如,您可以创建一个与图书网站无关的通用模板来保存图书信息。像 {{"author of the book"}} 这样的提示变量适用于任何图书网站,而选择器变量通常仅适用于单一网站。

示例

提示词几乎可以使用任何自然语言查询。根据您使用的模型,提示词能够跨语言查询或翻译数据。

{{"a three bullet point summary, translated to French"}} 提取关于页面的要点,并将其翻译成法语。

{{"un resumé de la page en trois points"}} 使用法语提示提取三个要点。

提示可以将页面内容转换为可通过筛选器操作的JSON。例如:

js
{{"return a JSON object for each tweet, that includes the author, tweet_text, date in YYYY-MM-DD format, and images array (if there are any)"|map:tweet => ({text: tweet.tweet_text, author: tweet.author, date: tweet.date})|template:"${text}\n— [[@${author}]], [[${date}]]\n"}}

元数据变量

元数据变量 允许您从页面的元素中提取数据,包括用于填充社交分享预览的 Open Graph 数据。

  • {{meta:name}} 返回具有指定名称的元名称标签的内容。
    • 例如 {{meta:name:description}} 对应元标签 description
  • {{meta:property}} 返回具有指定属性的元属性标签的内容。
    • 例如 {{meta:property:og:title}} 对应元标签 og:title

选择器变量

选择器变量 允许您使用 CSS 选择器 从页面元素中提取文本内容。

语法为 {{selector:cssSelector?attribute}} ,其中 ?attribute 是可选项。若未指定属性,则返回元素的文本内容。您也可以使用 {{selectorHtml:cssSelector}} 来获取元素的HTML内容。选择器变量在具有稳定HTML结构的特定网站或网站群上往往能发挥最佳效果。

  • {{selector:h1}} 返回页面上任何 h1 元素的文本内容。
  • {{selector:.author}} 返回页面上任何 .author 元素的文本内容。
  • {{selector:img.hero?src}} 返回具有 hero 类的图像的 src 属性。
  • {{selector:a.main-link?href}} 返回具有 main-link 类的 a 标签的 href 属性。
  • {{selectorHtml:body|markdown}} 返回 body 元素的完整 HTML,并使用过滤器转换为 Markdown 格式。
  • 如果你需要更精确的选择,支持嵌套CSS选择器和组合器。
  • 如果多个元素匹配选择器,将返回一个数组,你可以使用数组和对象过滤器(如 joinmap )进行处理。

Schema.org 变量

Schema.org 变量 允许您从页面上的 schema.org JSON-LD中提取数据。Schema.org 数据也可用于自动触发模板

  • {{schema:@Type:key}} 返回对应键的值。
  • {{schema:@Type:parent.child}} 返回嵌套属性的值。
  • {{schema:@Type:arrayKey}} 返回数组中的第一个元素。
  • {{schema:@Type:arrayKey[index].property}} 返回数组中指定索引位置的元素。
  • {{schema:@Type:arrayKey[*].property}} 返回数组中所有元素的特定属性。

您也可以使用简写形式,无需指定模式类型:

  • {{schema:author}} 将匹配在任何 Schema 类型中找到的第一个 author 属性。
  • {{schema:name}} 将匹配在任何 Schema 类型中找到的第一个 name 属性。

当您不知道或不关心具体的模式类型,但知道要查找的属性名称时,这种简写方式特别有用。

嵌套属性和数组访问也同样适用,无论是否指定了 @Type

  • {{schema:author.name}} 将查找第一个 author 属性,然后访问其子属性 name
  • {{schema:author[0].name}} 将访问作者数组中第一位作者的 name
  • {{schema:author[*].name}} 将返回所有作者姓名的数组。

Released under the GPL-3.0 license.