ブログの下書きを書く際に、同じフォルダや下書きファイルを作るのが面倒だと感じたことはありませんか?
Obsidian の Templater を使えばその面倒、解決できます。
1. 課題
ブログ記事を書くたびに、
- 記事用フォルダを作成する
- 下書きファイルを作る
- 画像用フォルダを用意する
といった作業を毎回繰り返すのは、正直かなり面倒です。
一つひとつは小さな作業ですが、毎回ちまちま作成するのは非効率ですし、
前の記事をコピーしてから不要な部分を消すのも、それはそれで手間がかかります。
こうした準備作業が積み重なると、「書く前に疲れる」状態になり、
結果的にブログの更新頻度が下がってしまいます。
ほとんど固定の操作なら勝手にやってくれたら良いのに!と思いますよね。
記事を書く前の準備で気力を削がれがちな人や、
Qiita / note / Zenn 用に同じ構造で記事を書いている人に特におすすめです。
2. 解決策
今回使うのは、Obsidian のプラグイン Templater です。
Templater を使うと、以下のような階層構造を一撃で作成できます。
qiita/
└── フォルダ/
├── 画像フォルダ/
└── 記事ファイル
記事を書く前の準備を、ほぼゼロにできます。
前提
- メモアプリ Obsidian を使っている
- 定型構造のフォルダやファイル作成をテンプレ化したい
- パソコン端末である (スマホアプリは非対応です)
Templates と Templater
Obsidian には Core Plugin として Templates があります。
こちらもテンプレート作成用の機能ですが、フォルダの作成には対応していません。
この Templates をベースに、有志によって機能拡張されたものが Templater という位置付けです。
3. 手順
Templater を設定していきます。
プラグインの有効化
Obsidian アプリを起動し、設定画面の Community Plugin から [Turn on community plugins] をクリックします。

Community plugins の [Browse] をクリックします。

検索ウィンドウに "Templater" と入力し、Templater を選択して [Install] をクリックします。

Installed plugins で Templater が有効化されたことを確認します。

テンプレートファイルの作成
今回作成するテンプレートの要件は以下の通りです。
これを JavaScript で記述します。
- qiita というフォルダ配下に、日本語の記事名のフォルダを作成する
- その配下に画像フォルダと、英語の Slug 名の記事ファイルを作成する
- 記事ファイルには定型の本文を含める
要件を満たすコードを記述し、templater フォルダ配下に qiita.md として保存します。
フォルダ名やテンプレートファイル名は任意で問題ありません。
JavaScript に詳しくなくても、そのままコピペで動作します。
必要なのはタイトルと slug の入力だけです。
サンプルコード
<%*
/* ==========
設定
=========== */
// Qiita用プロジェクトを作りたい場所
const baseFolder = "qiita";
// Vaultアダプタ
const adapter = app.vault.adapter;
/* ==========
パラメーター入力
=========== */
const jpTitleRaw = await tp.system.prompt("日本語タイトル");
if (!jpTitleRaw) return;
// フォルダ名に使えない文字(/ や \)を安全な記号に置き換え
const jpTitle = jpTitleRaw.replace(/[\/\\]/g, "/");
const slugRaw = await tp.system.prompt("英語 slug");
if (!slugRaw) return;
const slug = slugRaw.trim();
/* ==========
パス生成
=========== */
const folderPath = `${baseFolder}/YYMMDD_${jpTitle}`;
const imgPath = `${folderPath}/img`;
const articlePath = `${folderPath}/${slug}.md`;
/* ==========
既存フォルダチェック
=========== */
if (await adapter.exists(folderPath)) {
new Notice(`同名フォルダが存在します: ${folderPath}`);
return "";
}
/* ==========
フォルダ生成
=========== */
await app.vault.createFolder(folderPath);
await app.vault.createFolder(imgPath);
/* ==========
記事ファイル生成
=========== */
const articleContent =
`---
title: ${jpTitle}
message:
tags:
-
-
-
-
-
status: draft
---
# 1. 課題
# 2. 解決策
# 3. 説明
# まとめ
---
[Link](https://link/)
<img src="img/.jpg" width="100%">
|item1|item2|
|:-|:-|
|value1|value2|
:::note
info
:::
<details>
<summary>見る</summary>
中身
</details>
`;
await app.vault.create(articlePath, articleContent);
return "";
%>
設定画面に戻り、Community plugins > Templater > Template folder location にテンプレートを格納したフォルダ名を指定します。
ここでは templater としています。

Hotkey の設定 (任意)
設定画面の Hotkeys からショートカットキーを割り当てると、さらに快適になります。
Templater: Open insert template modal に Ctrl + T を割り当てました。

Templater の実行
Templater を実行していきます。
まず Markdown のエディタ内にカーソルを合わせます。
Insert 処理のため、ファイルがアクティブ (文字入力ができる状態) である必要があります。
今回の処理ではアクティブなファイルへの操作は行いませんので、ファイル内に何かが書き込まれることはありません。

Templater が起動するので、対象のテンプレートを選択します。

続いて、英語の slug (記事の URL 末尾に使うような識別子) を入力します。

すると、以下の階層構造で記事の雛形が自動生成されます。
qiita/
└── フォルダ/
├── 画像フォルダ/
└── 記事ファイル
これですぐに記事を書き始められます。
画像ファイルも img フォルダに入れていくだけなので、管理も簡単です。
まとめ
Obsidian のプラグイン Templater で定型構造のフォルダとファイル作成をする方法を見てきました。
こうした地味な作業を省力化すると、ブログ着手までのハードルがぐっと下がるのを感じます。
退屈な定型作業は自動化して、楽しいところに時間を使っていきたいですね。
今日も小さな学びを。
Obsidian Sync の活用についてはこちら


