思考Obsidian外掛templater
紫式晦澀每日一篇文章第13天
前言
-
今天是2022年第11天, 全年第2週, 一月的第二個週二. 今天狀態不好, 臨時day off一天, 讓自己進入發散思維. 研究了Obsidian的外掛templater, 對「範本建立」的技術精進.
-
今天的素材主要來自templator的官方文檔 , 翻譯內文, 閱讀思考的紀錄.
簡介Templater
-
建立範本: 利用Templater可以建立範本, 快速帶入筆記的格式. 很適合執行一些常用的文本分析.
-
使用用戶自訂/內建的變數與函數: 妥善使用內建的變數與函數, 可以讀取很多檔案上的各種性質.
-
使用Eta範本引擎: 這個引擎不太熟悉, 之後有機會研究研究.
簡介入門
-
定義Templater: 一種「範本語言」讓我們能使用變數與函數帶入筆記. 可執行JavaScript代碼來操作這些變數與函數.
-
具體實例:從實例代碼來學習
<% tp.file.creation_date() %>
: 檔案製造的日期<% tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss”)
: 檔案更新的日期[[<% tp.date.now("YYYY-MM-DD", -1) %>]]
: 現在前一天[[<% tp.date.now("YYYY-MM-DD", 1) %>]]
: 現在後一天<% tp.file.title %>
: 檔案的名字
術語入門
-
模板: 包含命令的檔案: A template is a file that contains commands.
-
命令: 被
<% %>
給包裝的變數與函數: A text snippet that starts with an opening tag <%, ends with a closing tag %> and that contains some variable / function is what we will call a command. -
變數與函數: 可使用「命令」的物件, 能回傳「值」. 分別有「內建變數與函數」和「用戶定義函數」
-
內建變數與函數: 包已經定義好的變數與函數: They are predefined variables / functions that are built within the plugin. As an example, tp.file.title is an internal variable that will return the name of the file.
-
用戶定義函數: 看創意: Users can define their own functions in the plugin settings. They are either system command user functions or script user functions.
內建模組
- 內建模組: 有七種內建模組(Internal modules)
- Config module: tp.config
- Date module: tp.date
- File module: tp.file
- Frontmatter module: tp.frontmatter
- Obsidian module: tp.obsidian
- System module: tp.system
- Web module: tp.web
- 學習object hierarchy:
tp
是一個物件. 命令的公式為<% tp.<module_name>.<internal_variable_or_function_name> %>
Config Module
- Config Module : 裡面的東西感覺暫時都用不到
Date Module
- Date Module : 昨天, 今天, 明天
File Module
- File Module : 創造檔案相關的東西, 感覺蠻有用的
tp.file.creation_date(format: string = "YYYY-MM-DD HH:mm")
: Retrieves the file’s creation date.tp.file.last_modified_date(format: string = "YYYY-MM-DD HH:mm")
: Retrieves the file’s last modification date.tp.file.title
: Retrieves the file’s title.tp.file.tags
: Retrieves the file’s tags (array of string, comma separated)
Frontmatter Module
- Frontmatter Module : 可以抽取note的meta data! 所以很融通!
tp.frontmatter.<frontmatter_variable_name>
: Retrieves the file’s frontmatter variable value.
1<% tp.frontmatter["variable name with spaces"] %>
2
3---
4alias: myfile
5note type: seedling
6---
7
8file content
9
10File's metadata alias: <% tp.frontmatter.alias %>
11Note's type: <% tp.frontmatter["note type"] %>
Obsidian Module
- Obsidian Module : 沒有具體例子, 要回到Obsidian的API. 之後再研究如何使用.
System Module
- System Module : 這個用法要之後研究, 還沒經驗.
Web Module
- Web module : 主要用來抓隨機圖片當筆記每日封面
tp.web.random_picture(size?: string, query?: string)
: Gets a random image from https://unsplash.com/
後記
-
到此翻譯思考了templator的官方文檔 . 看來還是需要實踐才會有更具體的感覺. 這個之後來補.
-
希望之後能讓紀錄資訊的效率更高!時時編輯寫作, 時時傳達思想!共勉之!
2022.01.11. 紫蕊 於 西拉法葉, 印第安納, 美國.
評論