notebook

都内でWEB系エンジニアやってます。

VS Codeのスニペットで記事執筆を楽にする

この記事はVisual Studio Code Advent Calendar 2020の23日目の記事です

Gatsbyなどの静的サイトジェネレータでブログ記事などを書く場合、Markdownのメタデータ(frontmatter)を最初に書くと思う

ほぼ定形なので記事を書くたびに他の記事からコピーして…というのが面倒

ということで、VS Codeのスニペット機能で楽をする

前提

前提として自分は次のような形式のメタデータを用意している

---
title: "VS Codeのスニペットで記事執筆を楽にする"
date: "2020-11-11"
description: "frontmatterのスニペット"
tags:
  - VS Code
---

スニペットの設定

可変な部分(title,description,tags)はプレースホルダで入力できるように設定する

日付はその現在日時をとりあえず入れるようにしている

{
    "frontmatter": {
        "prefix": "mdmeta",
        "body": [
            "---",
            "title: \"${1:title}\"",
            "date: \"${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}\"",
            "description: \"${2:desc}\"",
            "tags:",
            "  - ${3:tag}",
            "---"
        ]
    }
}

CURRENT_YEAR,CURRENT_MONTH,CURRENT_DATEはVS Codeが用意している組込み変数

現在の日付や月など他にも色々種類があるので見てみたらアイデアが浮かぶかも

code.visualstudio.com

また、新規に無題のファイルを作成した状態でも差し込めるようにするため、上記設定をMarkdownのスニペットではなくグローバルのスニペットに登録している

f:id:swfz:20201223092228g:plain

これだけで書き出しがかなり楽になった

まぁ記事自体毎日書くわけでもないので使用機会でいうとそんなに多くないが、記事を書き始めるまでのステップの面倒くささを解消できるので心理的ハードル下がって継続につながる要素の1つになる

よければお試しください