MUR013 思考Obsidian外掛templater

目錄

思考Obsidian外掛templater

紫式晦澀每日一篇文章第13天

前言

  1. 今天是2022年第11天, 全年第2週, 一月的第二個週二. 今天狀態不好, 臨時day off一天, 讓自己進入發散思維. 研究了Obsidian的外掛templater, 對「範本建立」的技術精進.

  2. 今天的素材主要來自templator的官方文檔 , 翻譯內文, 閱讀思考的紀錄.

簡介Templater

  1. 建立範本: 利用Templater可以建立範本, 快速帶入筆記的格式. 很適合執行一些常用的文本分析.

  2. 使用用戶自訂/內建的變數與函數: 妥善使用內建的變數與函數, 可以讀取很多檔案上的各種性質.

  3. 使用Eta範本引擎: 這個引擎不太熟悉, 之後有機會研究研究.

簡介入門

  1. 定義Templater: 一種「範本語言」讓我們能使用變數與函數帶入筆記. 可執行JavaScript代碼來操作這些變數與函數.

  2. 具體實例:從實例代碼來學習

  • <% 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 %>: 檔案的名字

術語入門

  1. 模板: 包含命令的檔案: A template is a file that contains commands.

  2. 命令: 被<% %>給包裝的變數與函數: 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.

  3. 變數與函數: 可使用「命令」的物件, 能回傳「值」. 分別有「內建變數與函數」和「用戶定義函數」

  4. 內建變數與函數: 包已經定義好的變數與函數: 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.

  5. 用戶定義函數: 看創意: Users can define their own functions in the plugin settings. They are either system command user functions or script user functions.

內建模組

  1. 內建模組: 有七種內建模組(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
  1. 學習object hierarchy: tp是一個物件. 命令的公式為<% tp.<module_name>.<internal_variable_or_function_name> %>

Config Module

  1. Config Module : 裡面的東西感覺暫時都用不到

Date Module

  1. Date Module : 昨天, 今天, 明天

File Module

  1. 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

  1. 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

  1. Obsidian Module : 沒有具體例子, 要回到Obsidian的API. 之後再研究如何使用.

System Module

  1. System Module : 這個用法要之後研究, 還沒經驗.

Web Module

  1. Web module : 主要用來抓隨機圖片當筆記每日封面

後記

  1. 到此翻譯思考了templator的官方文檔 . 看來還是需要實踐才會有更具體的感覺. 這個之後來補.

  2. 希望之後能讓紀錄資訊的效率更高!時時編輯寫作, 時時傳達思想!共勉之!

2022.01.11. 紫蕊 於 西拉法葉, 印第安納, 美國.

版權

CC BY-NC-ND 4.0

評論