[OBS#32] templater: 無限擴充可能的第三方樣板外掛

templater是基於內建樣板而擴充的第三方外掛。
1.1.0版變更了內建變數的寫法(改採Eta樣板引擎),使用Templater先前版本建立的樣板必須全面更新。

templater的內建樣板變數

  • tp.模組名.函數名(參數1, ...)
  • tp.模組名.屬性
模組名稱 使用 功用
date tp.date 日期功能
file tp.file 檔案功能
frontmatter tp.frontmatter YAML鍵值存取
web tp.web 網路服務
user tp.user 自訂模組

發生錯誤如何解決?

按〔Ctrl+Shift+I〕→Console,查看錯誤訊息。

新舊用法對照

舊內部變數 新內部變數 描述
{{tptitle}} <%tp.file.title%> 檔名
{{tptoday}} <%tp.date.now("YYYY-MM-DD HH:mm")%> 取回今天日期與時間
{{tpyesterday}} <%tp.date.yesterday("YYYY-MM-DD HH:mm")%> 取回昨天日期
{{tptomorrow}} <%tp.date.tomorrow("YYYY-MM-DD HH:mm")%> 取回明天日期
{{tpdailyquote}} <%tp.web.dailyquote()%> 由 https://quotes.rest/ 取得本日格言
{{tprandompicture}} <%tp.web.randompicture("1600x900")%> 由 https://unsplash.com/ 取得隨機圖片
{{tptitlepicture}} <%tp.web.random_picture("1600x900", tp.file.title)%>) 依檔名由 https://unsplash.com/ 取回圖片

自訂變數變更

  1. 原本自訂變數「{{天氣_台北市}}」刪除大括號變成「天氣_台北市」
  2. 樣板檔裡以 <% tp.user.天氣_台北市() %> 取用

Eta樣板引擎進階功能

<%* if (tp.file.title.contains("週一")) { %>
Blue Monday! :-(
<%* } else if (tp.file.title.contains("週五")) { %>
Thank God, it's Friday!
<%* } %>
<%* 
function getWeek() {
  var d = new Date();
  var n = d.getDay();
  return n;
}

function getWeekStr(n) {
  var w = ["日","一","二","三","四","五","六"];
  return w[n];
}  
%>
<% "今天是星期" + getWeekStr(getWeek()) %>

相關連結

教學影片

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *