Obsidian使用技巧收集

介绍


Template中文翻译为“模板,范本”。那插件Templater顾名思义就是帮助我们创建模板范本。

下面是插件作者对该插件的介绍:

> [Templater]is a template language that lets you insert **variables** and **functions** results into your notes. It will also let you execute JavaScript code manipulating those variables and functions.  
> With [Templater], you will be able to create powerful templates to automate manual tasks.  
> ——引用自[插件原作者]

翻译:Templater是一种template语言,能够让你插入变量结果和函数结果到你的笔记中。也能让你执行Javascript来操作那些变量和函数。使用Templater,你能够生成功能强大的模板来自动化日常任务。

**Templater可以根据模板文件生成新的文件(快捷键`Alt+N`),也可以插入(快捷键`Alt+E`)模板到当前位置(光标处)。**

## Templater基本用法

Templater的基本用法主要就是直接根据模板文件直接生成新文件或者直接插入模板内容。

举一个简单的例子,我希望往我现在光标处插入一个表格(模板表格,如下图,希望省去重复输入表头等工作)。

|序号|时间|事项|备注|
|---|---|---|---|
|1||||

在Obsidian中开启Templater插件后,可以使用`Alt+E`在光标处插入模板(光标放到要插入的地方)

![]()

使用Alt+E进入模板插入模式。table中存储了上述模板表格,这里选择table。

![]()

选择table运行,得到上述表格

上述往表格中插入模板性的内容非常方便,此外,还可以很方便使用模板生成一个**新文件**,例如会议记录,会议记录的整体**格式**一般是**固定**的。但是这种会议记录中又会存在变量,例如文件名、会议日期,记录人等,这些内容的自动化,就需要用到Templater的进阶用法。

## Templater进阶用法

Templater进阶用法主要是使用自带**命令**,实现诸如自动修改文件名、获取当前时间、内容输入等功能。下面以我整理的模板文件中的实例[[1]]来讲解:

```js
<%*
// 按照年-月-日的格式,得到今天日期的变量(例如2023-03-07)
let today = tp.date.now("YYYY-MM-DD")
// 获取输入到inputDate
let inputDate = await tp.system.prompt("输入示例:"+today,today)
// 格式化变量titleName成年-月-日_周几
titleName = window.moment(inputDate, "YYYY-MM-DD", true).format("YYYY-MM-DD_ddd")
// 获取昨天的日期(文件名以日期命名)
before_date = window.moment(inputDate, "YYYY-MM-DD", true).add(-1,"days").format("YYYY-MM-DD_ddd")
// 获取明天的日期(文件名以日期命名)
after_date = window.moment(inputDate, "YYYY-MM-DD", true).add(1,"days").format("YYYY-MM-DD_ddd")
// 获取当前文件创建时间
let createTime = tp.file.creation_date()
// 获取当前文件修改时间
let modificationDate = tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss")
-%>
// 上述内容,运行后不会显示,下面的内容会显示,且变量值来自于上述代码
---
create time : <% createTime %>
modification date: <% modificationDate %>
---

<< [[<% before_date %>]] | [[<% after_date %>]] >>

#### 重点关注
-  ==早上 7 件事==
    - [ ] 花点时间回顾和反思

<%*
// 将文件移动到/Daily/目录下,并命名为titleName
await tp.file.move("/Daily/" + titleName)
// 运行后光标到运行后文件中
tp.file.cursor()
-%>
```

![]()

上述模板运行后得到如图文件

进阶的用法,大量简化了例如格式化文件名、移动文件、特定的重复标记等功能,为文档标准化提供极大便利,也为后续文档整理,搜索大小坚实基础。

总的来说,进阶用法足以覆盖绝大部分使用场景。但是总还是有一些场景需要高阶用法。

## Templater高阶用法

除了进阶用法中提到的插件自带命令,Templater还支持自建命令——通过调用操作系统的Terminal实现自建user命令。简单来说,高阶用法就是调用cmd执行用户程序。

![]()

Templater插件中打开用户系统命令行功能。

1. Timeout:有的命令会运行比较长时间,timeout需要设置大一点;
2. shell binary location:系统cmd程序位置。笔者为 C:\Windows\System32\cmd.exe。
3. User Function n°1:左框用来设置user命令(使用方式同其他自带命令),右框用来设置执行内容。

图中实例使用方式为,在模板中使用`<% tp.user.ipconfig() %>`;在cmd中就会执行ipconfig。

上述只是使用了一个ipconfig为例,实际使用中可以使用任何自己喜欢的**脚本语言**实现自己想要的功能,例如win下的bat脚本、Python等。正是这个特性,使得Templater的使用场景得到极大的扩展。

笔者比较偏好Python,也比较推荐Python,Python作为胶水语言,实际中得到广泛使用,平时Python如果用的多,这里几乎就是零学习成本。





1. 本站分享的资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 她大病痊愈正在养身中,喜欢美食和绘画,是一名装修行业15年工作经验的从业者!
3. 他喜欢摄影和房车自驾,这是兴趣也是工作,为公司团建或家庭量身定制房车自驾游!
本网站可以留下你的联系方式,让更多志同道合的朋友互相认识,共享资源:我的微信号:cdv8com    QQ:866162
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为公司团建量身定制房车自驾游!川藏线、川西环线、云贵川自驾游

私人订制 我的工作