TOMLが入っているMarkdownから属性を取得する

2019/12/26 14:08jsts

上の方にTOML形式で記事情報が付属しているMarkdownファイルを読み込んで情報を取得します。

区切り文字

なんでも良いですが、+++を目印にして区切っていきます。

+++
title = "タイトル"
date = 2019-12-26T14:08:02.413Z
tags = ["タグ1", "タグ2"]
+++


コンテンツ

TOML部分と本文の分離

正規表現を使います。

export const split: (str: string) => string[] = str => {
    return (/^\+{3}\s([^]*?(?!\+{3}))\s\+{3}\s([^]*)$/.exec(str) || []).slice(1)
}

TOMLのパース

npm install --save-dev toml
import * as toml from 'toml'

toml.parse(str)