「Obsidian Note From Template」(略称「From Template」)は、私が最もよく使うテンプレートプラグインです(Templaterプラグインは主にスクリプト作成に使用しています)。この2週間でついにアップデート版がリリースされました。新バージョンでは既存の問題が解決され、さらに柔軟な動的機能が提供されており、ぜひ試してみる価値があります。

1. 機能紹介

```button
name 新しいノートを作成
type command
action From Template: from-template-Note
color purple
```
^button-newNote


```button
name 新しい書籍を作成
type command
action From Template: from-template-Book2
color green
```
^button-newBook2


```button
name 新しいノートテンプレートを開く
type link
action obsidian://advanced-uri?vault=jerry-notes&filepath=011-From-Template/From-Template-Note
color purple
```
^button-openNewNoteTemplate


```button
name 新しい書籍テンプレートを開く
type link
action obsidian://advanced-uri?vault=jerry-notes&filepath=011-From-Template/From-Template-Book2
color green
```
^button-openNewBook2Template
---
aliases: 
grade: "{{学年:choice:7A:7B:8A:8B:9A:9B}}"
subject: "{{科目:choice:国語:英語:数学:地理:歴史}}"
created: '{{作成日時:currentDate:"yyyy-MM-dd HH\:mm\:ss"}}'
modified: '{{作成日時:currentDate:"yyyy-MM-dd HH\:mm\:ss"}}'
tags: 
  - "{{学年}}"
  - "{{科目}}"
  - "{{学年}}-{{科目}}"
AutoNoteMover:
  - disable
disabled rules:
  - all
template-output: 060-Anki/{{学年}}/{{科目}}
template-input: title,body
template-should-replace: sometimes
template-should-create: open-tab
---
 {{title}}

# {{問題:area}}

---

{{body}}

2. 改善点

  1. {{title}}で中国語が正常に使用できるようになり、正しくファイルが生成されるようになりました。
  2. 特定のフォルダーに動的に生成できるようになりました。
  3. YAML内のtagsでリスト形式のタグが正しく生成されるようになりました。
  4. 時間形式で : が使用可能になりましたが、まだ小さなバグがあります。
  5. ファイル作成失敗時に、より明確なヒントが表示されるようになりました。

3. カスタムフィールドの要点

  • カスタムフィールド書式:{{フィールド名}}
  • カスタムフィールドタイプ
    1. テキスト行タイプ:{{フィールド名:text}}:textは省略可能);デフォルト値指定:{{フィールド名:text:デフォルト値}}
    2. テキストエリアタイプ:{{フィールド名:area}}{{body}}はデフォルトでareaです
    3. 日付/時刻タイプ:{{フィールド名:currentDate:書式}}、例:'{{createdOn:currentDate:"yyyy-MM-dd HH\:mm\:ss"}}'
    4. 単一選択タイプ:{{フィールド名:choice:選択肢1:選択肢2:選択肢3}}
    5. 複数選択タイプ:{{フィールド名:multi:選択肢1:選択肢2:選択肢3}}
  • 読み取り専用フィールド(編集中ノートのタイトルとそのパス):{{currentTitle}}{{currentPath}}
  • カスタムフィールドの後ろに |ヒントテキスト を追加すると、ヒントテキストが表示されます。

4. ノート作成ガイド(YAMLフィールド)

テンプレートに基づいてファイルを作成する方法は、YAMLセクション内の以下のフィールドで設定します。これらのフィールドはテンプレート内に設定され、新しいノートには生成されません。

Name Value Default
template-id テンプレートの一意なID ベース名の小文字バージョン
template-name コマンドの名前 ファイルのベース名
template-output 出力先ディレクトリ<br>保存先フォルダー。カスタムフィールドを使用して動的なフォルダー操作を実現できます。例:Projects/{{project_select}} Inbox推奨
template-filename 作成されるノートのファイル名。.mdが追加されます。注意:異なるファイル名を設定した場合、ファイルへのリンクを作成したい場合は、template-replacement文字列内で{{filename}}を使用してください。 {{title}}
template-should-replace テンプレートがテキストをドキュメントに書き戻すべきか? "always" = 常に, "sometimes" = テキストが選択されている場合のみ, "never" = しない<br>template-replacement形式のデータを編集中ノートに書き戻すかどうか? "sometimes"
template-replacement エディタで選択されたテキストを置き換えるためのMustacheテンプレート。リストを渡すことができ、クリエーター内でボタンとして表示されます。<br>編集中ノートに書き戻すデフォルト書式 [[{{title}}]]<sup>1</sup>
template-input コマンドがテキストを選択した状態で呼び出された場合、プラグインの分割パターンを使用してそれを分割し、値をこれらのフィールドに入力します。<br>プラグインオプションのSelection split設定に基づき、データをそれぞれ{{title}}と{{body}}に入力します title,body<sup>2</sup>
template-should-create テンプレートがノートを作成して開くべきか? "none"=ノートなし, "create"=作成するが開かない, "open"=作成して現在のエディタで開く, "open-pane"=作成して新しいペインで開く, "open-tab"=新しいタブで開く<br>ファイル生成完了後の開き方 "open-tab"
補足説明
  1. READMEの誤り:template-replacementのデフォルト値は[[{{title}}]]であるべきですが、元のウェブページには誤りがあります。
  2. デフォルトの分割設定は\s+-\s+で、これは<span class='keybs'>1つ以上の空白</span><span class='keybs'>-</span><span class='keybs'>1つ以上の空白</span>という文字列で2つの文字列に分割し、それぞれ{{title}}{{body}}に入力することを意味します。
時間形式の指定方法
  • フィールド設定は : で区切られますが、時間内で : が必要な場合は、その前にバックスラッシュ(\)を追加します。
  • 生成時に最後の : に余分なバックスラッシュが付きますが、保存すると自動的に消えます。秒を使用しないことでも解決できます。
  • 例:'{{作成日時:currentDate:"yyyy-MM-dd HH\:mm\:ss"}}'

5. 💡 関連リンク

💡 解説記事: https://jdev.tw/blog/8492/
✅ Obsidian Note From Template: https://github.com/mo-seph/obsidian-note-from-template
✅ [Obs#71] 初心者向けの多機能テンプレートプラグイン:From Template: https://youtu.be/pzA66MwozsY
✅ Obs072-Step by Step From Templateによるノート作成の実例操作: https://youtu.be/CdxABcKYdts

💡 From Templateテンプレート例
✅ 新しいノートテンプレート: https://gist.github.com/emisjerry/0c0cd687aca93d5dcbab50c86b21db91

✅ 新しい書籍テンプレート: https://gist.github.com/emisjerry/cf58c316b92a941a9025d31fd19c343b

6. チュートリアル動画

##