Obsidian 插件:Temple
插件名片
概述
Obsidian 插件,由 Nunjucks 驱动的模板。
原文出处
下面自述文件的来源于 Readme
Readme(翻译)
下面是 obsidian-temple 插件的自述翻译
黑曜石神殿
一个基于 Nunjucks 的 Obsidian 模板插件。
配置
在设置中设置包含要使用的模板的目录:
用法
您可以通过侧边栏中的按钮来插入新模板
或者通过命令面板来插入
如果有多个模板定义,您将被提示选择一个模板
模板化
由于 obsidian-temple
在底层使用了 nunjucks
,您可以使用 nunjucks
支持的所有功能。请查阅 官方Nunjucks文档 以了解如何编写 nunjucks
模板。
示例:根据文件名填充 aliases
与 Zettelkasten ID
---
uid: "{{ zettel.uid }}"
aliases: ["{{ zettel.title }}"]
tags: []
---
如果文件名为 20201224030406 title.md
,那么模板的输出将是:
---
uid: "20201224030406"
aliases: ["title"]
tags: []
---
如果文件名中将 uid
作为后缀,例如:title 20201224030406.md
,也同样适用。
zettel
只是由 obsidian-temple
提供的对象之一,更多信息请参见 Providers。
提供者
obsidian-temple
目前包含了几个可以为 nunjucks
提供 context
对象 的提供者:
file
zettel
datetime
clipboard
请查看它们各自的文档,提供者文档。您可以轻松地添加更多的提供者,参见 添加新的提供者。
添加新的提供者
你需要:
- 创建一个新的上下文类,
T
- 实现
ITempleProvider<T>
- 在加载时注册提供者
例如,对于 datetime
提供者:
- 上下文类是
DateTimeContext
- 提供者类是
DateTimeTempleProvider
- 注册在
main.ts
中。
替代方案
供应商文档
最好在 Obsidian 内查看此文档,可以通过激活命令面板 > 然后选择“Obsidian Temple: 插入所有供应商文档”来生成。
file
为模板提供 Obsidian 内部的 TFile
结构。
用法
路径: {{ file.path }}
名称: {{ file.name }}
基本名称: {{ file.basename }}
扩展名: {{ file.extension }}
输出结果:
路径: Untitled 20210103181939.md
名称: Untitled 20210103181939.md
基本名称: Untitled 20210103181939
扩展名: md
datetime
返回当前日期和时间作为 Luxon DateTime
。
使用
现在时间:{{ datetime.now }}
日期:{{ datetime.now.day }}
月份:{{ datetime.now.month }}
年份:{{ datetime.now.year }}
小时:{{ datetime.now.hour }}
分钟:{{ datetime.now.minute }}
秒钟:{{ datetime.now.second }}
输出结果:
现在时间:2021-01-03T22:21:36.585+08:00
日期:3
月份:1
年份:2021
小时:22
分钟:21
秒钟:36
使用 dateFormat
过滤器进行格式化
dateFormat
使用 Luxon 来进行日期格式化。例如:
now: {{ datetime.now | dateFormat("ffff") }}
输出结果为:
now: Sunday, January 3, 2021, 10:21 PM Singapore Standard Time
请参阅 Luxon的文档 以获取可用的完整格式化标记列表。
设置
您可以在设置中覆盖默认的语言环境和时区。
zettel
从具有 Zettelkasten ID 的笔记中提取 uid 和标题。
用法
给定一个名为 20201224030406 title.md
的文件,以下模板
uid: {{ zettel.uid }}
title: {{ zettel.title }}
输出:
uid: 20201224030406
title: title.md
即使 uid
被用作后缀,例如 title 20201224030406.md
,也可以正常工作。
设置
您可以在设置中覆盖提取正则表达式。
clipboard
从系统剪贴板中提取数据。使用 sindresorhus/clipboardy。
用法
文本: {{ clipboard.text }}
输出:
文本: 内容
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。