antyuntyuntyun / qiita-cli

Qiita記事管理用CLI
Apache License 2.0
0 stars 1 forks source link

front-matterのparseなどの取り扱いにgray-matterを使うようにしたい #43

Closed TakuKobayashi closed 2 years ago

TakuKobayashi commented 2 years ago

現在、front-matter付きmarkdownを取り扱っている部分では以下のようにremarkの各種プラグインを使って行われています。

import remarkExtractFrontmatter from 'remark-extract-frontmatter';
import remarkFrontmatter from 'remark-frontmatter';
import remarkParse from 'remark-parse';
import remarkRehype from 'remark-rehype';
import rehypeStringify from 'rehype-stringify';
import yaml from 'yaml';
import unified from 'unified';

    // front-matter付きmarkdownのパース
    const inputArticle = fs.readFileSync(String(uploadArticlePath));
    const processor = unified()
      .use(remarkParse)
      .use(remarkFrontmatter, [
        {
          type: 'yaml',
          marker: '-',
          anywhere: false, // ファイルの冒頭に Front Matter がある前提で探索する
        },
      ])
      .use(remarkExtractFrontmatter, {
        yaml: yaml.parse,
        name: 'frontMatter', // result.data 配下のキー名を決める
      })
      .use(remarkRehype)
      .use(rehypeStringify);

実装している内容の金甌として足りていないものが多く見受けられます。 この部分を gray-matter というライブラリに置き換えることで、front-matterの部分の取り扱いがシンプルになり、使いやすくなるので こちらのライブラリを使う形に変更するようにしたいです。