#550
投稿テンプレートを新たに作る・カスタマイズする
#550

Public 投稿テンプレートを新たに作る・カスタマイズする

Updated at 2025-06-13 12:21

esaでは、投稿テンプレートを自由に作成・編集することができ、日報や議事録など繰り返し使う記事の作成を効率化できます。
ここではテンプレートの作成方法やテンプレート変数の使い方、応用的な使い方について解説します。

Tip

テンプレートの基本的な使い方についてはこちらで解説しています。

テンプレートの元記事について

テンプレートは、通常の記事と同様に作成・編集が可能な1つの投稿です。テンプレートとして機能させるには、記事を "Templates/" カテゴリ配下に置く必要があります。

Warning
  • README で始まるタイトルの記事はテンプレートとして扱われません(大文字・小文字を問わず)
  • WIP状態(下書き)ではテンプレートとして使えないため、必ず "Ship It!" してください
"Templates"カテゴリページ テンプレート元記事
テンプレート元記事一覧 日報テンプレート元記事

テンプレート元記事には、画面上部に斜線模様が表示され、他の記事と区別されます。

テンプレート変数について

テンプレートでは、タイトル・カテゴリ・本文に変数を埋め込むことができます。変数は、投稿時にユーザー情報や日付などに置き換えられます。

例:%{Year}/%{month}/%{day}/%{me}2025/06/04/taea

変数の適用例

テンプレート変数一覧

変数 効果
%{year} 本日の年 (e.g. 14)
%{Year} 本日の年 (e.g. 2014)
%{jyear} 本日の年度 (e.g. H26)
%{Jyear} 本日の年度 (e.g. 平成26)
%{jfyear} 本日の会計年度(4月始まり) (e.g. H25)
%{Jfyear} 本日の会計年度(4月始まり) (e.g. 平成25)
%{Year:-3m} 本日の会計年度(4月始まり) (e.g. 2013)
%{month} 本日の月 (e.g. 06)
%{Month} 本日の月 (e.g. Jun)
%{Monthname} 本日の月 (e.g. June)
%{Weekday} 本日の曜日 (e.g. Saturday)
%{Week} 本日の曜日 (e.g. Sat)
%{weekday} 本日の曜日 (e.g. 土曜日)
%{week} 本日の曜日 (e.g. 土)
%{cweek} (当月における)暦週 (e.g. 4)
%{cWeek} 暦週 (e.g. 25)
%{day} 本日の日 (e.g. 03)
%{timestamp} UNIXタイムスタンプ(秒) (e.g. 1214022600)
%{Timestamp} UNIXタイムスタンプ(ミリ秒) (e.g. 1214022600123)
%{me} or %{screen_name} 自分の screen name (e.g. ken_c_lo)
%{name} 自分の名前 (e.g. Taeko Akatsuka)
%{team} チーム名
%{README} README に変換
%{} 空文字列に変換

日付のずらし・補正

%{day:+2d}%{day:=mon} のように、日付を調整する構文も利用可能です。

記法 結果 補足
%{day} 14 本日の日(例として2018/03/14 (水) の場合)
%{day:+2d} 16 %{day} を2日後の時点で評価
%{day:=mon} 12 %{day} を今週の月曜日の時点で評価
Tip

詳しくはこちらもご覧ください: #254: ProTip/テンプレート変数の拡張

個人用テンプレートの作成

自分専用のテンプレートを作成する場合は、Users/[screen_name]/Templates/ 配下に記事を置いてください。

記事タイトル例:Users/taea/Templates/日報/%{Year}/%{month}/%{day}/TITLE

このようなテンプレートは、該当ユーザーの新規投稿画面にのみ表示されます。

カテゴリごとのテンプレート自動適用

カテゴリ階層に応じてテンプレートを自動適用することができます。

例:

  • テンプレート:Templates/ProTip/%{Year}/%{month}/%{day}/title
  • カテゴリ:「ProTip」配下で " + " (このカテゴリに投稿) をクリックすると自動的に適用

カテゴリ用テンプレートの使用例

自動適用の条件

  • テンプレート記事が Templates/ 配下に存在していること
  • 作成する記事のカテゴリと、テンプレート記事のパスが前方一致していること
  • テンプレート記事が フロー型(パスに日付などを含む構造) になっていること

以下のようなテンプレートが登録されているとします:

  • Templates/カテゴリ1/YYYY/MM/DD/テンプレートA
  • Templates/カテゴリ1/サブカテゴリ1/YYYY/MM/DD/テンプレートB

このとき、新規記事を作成するカテゴリに応じて、以下のようにテンプレートが自動適用されます:

新規投稿カテゴリ 適用されるテンプレート
カテゴリ1 配下 テンプレートA
カテゴリ1/サブカテゴリ2 配下 テンプレートB
Tip

より深いサブカテゴリが一致するテンプレートが優先されます。カテゴリ階層が一致しているかが重要です。

URLからテンプレート付き投稿を開始する

次のURL形式で、テンプレートが適用された状態で新規投稿画面を開くことができます:

https://[チーム名].esa.io/posts/new?template_post_id=[記事番号]

例:https://example.esa.io/posts/new?template_post_id=3

これは README などに埋め込んだり、Chatbot から共有する用途に便利です。

chatbot
@here 日報書きましょう! https://example.esa.io/posts/new?template_post_id=3
README.md
...
[議事録を書く](/posts/new?template_post_id=5)
...

APIでテンプレートを使う

POST /v1/teams/:team_name/posts のパラメータにテンプレート記事IDを指定すると、API経由でテンプレートを適用できます。


Tip

Referenced from

help/テンプレート/投稿テンプレートを使った記事の書き方

Comments0