变量
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。例如:
{{"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选择器和组合器。
- 如果多个元素匹配选择器,将返回一个数组,你可以使用数组和对象过滤器(如
join或map)进行处理。
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}}将返回所有作者姓名的数组。