vscodeでastroのfrontmatterを自動入力するには、スニペットを使えば良い
スニペットを使おう
このサイトは、astroを使って作っており、かつ、文章は、vscodeで書いている。面倒くさいのは、frontmatterの作成である。 frontmatterの項目がなんだったか、ちゃんと覚えきれていないし、タイポするのもあれなので、過去のページからコピペして作成していた。
これでは、あまりに芸がないので、自動化したいなと考えた結果、vscodeのスニペットを使うことにした。
スニペットの作成
ctrl+pを押して、「スニペットの構成」を選択する。見つからない場合には、「snippet」とか売ってやれば、見つかる。- 「新しいグローバルスニペット」を選択する
- 開いたファイルに、適当にJSONで記載していく。
私の場合、astro用のプロファイルを設定しているので、グローバルスニペットとして設定している。プロジェクト単位でスニペットを作成することも可能なようなだ。
スニペットの例
このブログの場合、frontmatterは、次のようになっている。
title: タイトルが入る
description: 説明が入る
pubDate: 公開日が入る
updatedDate: 更新日が入る
category: カテゴリが入る。デフォルトは雑記
tags: [雑記, メモ]
これをスニペットにすると、次のようになる。
{
"Astro Blog Frontmatter": {
"scope": "markdown,mdx",
"prefix": "post",
"description": "Insert Astro blog frontmatter for Markdown and MDX",
"body": [
"---",
"title: ${1:記事タイトル}",
"description: ${2:説明}",
"pubDate: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}${CURRENT_TIMEZONE_OFFSET}",
"updatedDate: ",
"category: ${3:雑記}",
"tags: []",
"---",
"",
"$0"
]
}
}
これで、frontmatterを自動生成できる。生産性が1ミリくらい向上した気がしないでもない。