新規記事のひな型を作ろう
🐤
NKSSG には、記事のひな型を作っておくことができます。default テーマにも記事のひな型が含まれているので、これを参考にして作り方を見ていきます。
新規記事のひな型の仕組み
NKSSG でブログやサイトを作るときには、docs フォルダの下に記事ファイルを追加していきます。この記事ファイルには、フロントマターと本文を追加していきます。このとき、フォルダを作ったり、フロントマターの設定項目を追加するのが面倒だという人もいるでしょう。
例えば、年、月ごとのフォルダは自動的にできてほしいし、毎回フロントマターに設定するタイトル(空文字)や公開日時(今の時間)は自動で設定されていてほしいと感じる人もいるはずです。
そこで、NKSSG では、ひな型から記事ファイルを作る機能を用意しています。default のテーマでは、以下のコマンドを実行すると、新規記事が作成されます。
nkssg new post
作成されたファイルのパスが表示されます。後は、そのファイルを更新していけばいいです。楽ですね。
このコマンドを実行したときには、次のような処理が行われています。
まず、使用しているテーマのフォルダの中で、new_post
という名前がついているファイルを探します。
ファイルがあれば、次にファイル内の変換を行います。フロントマターで以下の内容があれば、変換されます。
- %Y: コマンドを実行した年
- %m: コマンドを実行した月
- %d: コマンドを実行した日
- %H: コマンドを実行した時
- %M: コマンドを実行した分
- %S: コマンドを実行した秒
- {path}:
nkssg new post
の後に指定した文字
さらに、file:
という設定があれば、指定した場所にファイルが保存されます。docs フォルダからの相対パスで保存先が決まります。
以上を踏まえ、new_post.html
に次のように書いていた場合を考えます。
---
file: "post/%Y/%m/%Y%m%d-%H%M%S.html"
url: "/%Y/%m/%d/%H%M%S/"
title: ""
date: %Y-%m-%d %H:%M:%S
category: ["uncategorized"]
tag: ["Tag 1", "Tag2"]
---
Sample Text.
この場合、nkssg new post
を実行すると、/docs/post/2021/04/01/20210401-123456.html
のような場所に、ファイルができることになります。フォルダがない場合は、フォルダもすべて作成されます。
作成されたファイルの中は、次のようになります。
---
url: "/2021/04/01/123456/"
title: ""
date: 2021-04-01 12:34:56
category: ["uncategorized"]
tag: ["Tag 1", "Tag2"]
---
Sample Text.
URL と公開日時には、コマンドを実行したときの日時が反映されます。タイトル、カテゴリー、タグは初めのままです。本文も何も変換されません。file
の設定は、ファイルの保存場所を特定するために使われます。保存した後は、フロントマターからは削除されます。
新規記事のひな型を修正しよう
新規記事のひな型がどう変換されるかがわかったので、ひな型を好きな内容に修正しましょう。
まず、新しいひな型をどこに保存するかを決めます。/themes/default/new/new_post.html
に上書き保存することもできますし、このファイルを/themes/child/new/new_post.html
にコピーして、そこに保存することもできます。default テーマをそのままにしたい場合は、後者のやり方のように、child という子テーマにファイルを追加します。子テーマのほうが優先して採用されます。TODO
さて、ひな型を修正していきます。URL はパーマリンクで設定するからいらない、という場合は、行ごと削除しても構いません。カテゴリーやタグは、設定項目は必要だが、何もない状態にしておきたい、ということもあるでしょう。また、本文も空にしておきたいかもしれません。
これらを反映すると、次のような設定になります。
---
file: "post/%Y/%m/%Y%m%d-%H%M%S.html"
title: ""
date: %Y-%m-%d %H:%M:%S
category: []
tag: []
---
新規記事の保存場所を変えたい場合は、file の所を修正します。あまり記事を書かないので、年ごとのフォルダで分ければいい場合は、次のようにすればいいです。
file: "post/%Y/%Y%m%d-%H%M%S.html"
これは、docs
フォルダ内で記事ファイルをどう管理するか、なので、URL とはまた別の話です。記事ファイルは記事ファイルでどのように管理するかを考えましょう。
メモ
Windows であっても、パスの区切りは "/" を使います。
HTML ファイルではなく、Markdown ファイルで保存したい場合は、次のようにします。
file: "post/%Y/%m/%Y%m%d-%H%M%S.md"
これで、nkssg new post
を実行すると、Markdown ファイルが作成されるようになります。
新規記事のひな型を追加しよう
nkssg new post
を実行すると、new_post.html
というひな型から新規記事ファイルが作成されます。このひな形は、増やすこともできます。
nkssg new xxx
を実行すると、new_xxx.html
というひな型を探して、それをもとに新規記事が作成されます。なので、好きなだけひな型を増やすことができます。
例えば、本を読んだ感想を記事にすることが多いなら、new_book.html
というひな型を作っておくといいかもしれません。よく使うカスタムフィールドもフロントマターに書いておくと、記事を書くのが便利になるでしょう。カスタムフィールドは、次の記事が参考になります。
また、nkssg new xxx path
というように、4つ目の文字列はひな型の中で{path}
として使うことができます。例えば、ひな型ファイルnew_xxx.html
に、次のように書いたとしましょう。
file: "draft/%Y/{path}.md"
こうして、nkssg new xxx path
を実行すると、draft/2021/path.md
にファイルが保存されます。ブログではあまり使わないかもしれませんが、サイト(非ブログ)の場合は、記事を書き始めるのにいいかもしれません。