ブログテンプレートを作成するCLIを作る

ブログテンプレートを作成するCLIを作る

こんにちは会津大学学部4年森本望です。
前回書いた通り、processmdを用いてMarkdownからJSONに変換して ブログ記事にしています。

今回はprocessmdに使うテンプレートを作成するCLIをNodeJSを使って作成しました。
作成するCLIが出力するのは

---
title: ブログテンプレートを作成するCLIを作る
created_at: 2019-07-13
tags: processmd, cli, node, markdown
description:
writer: nozomoto
---

といったものを出力します。

技術

使った言語は

  • NodeJSです。

processmd_template_maker

readline-syncを使い、標準入力で項目を入れることができます。

const title = readlineSync.question("Title: ");
const tags = readlineSync.question("Tag(カンマ区切り): ");
const writer = readlineSync.question("writer: ");

また command-line-argcommand-line-usage を使ってコマンドライン引数、--help の表示をしています。

こんな感じです。

const commandLineArgs = require("command-line-args");
const commandLineUsage = require("command-line-usage");
const optionDefinitions = [
  {
    name: "help",
    alias: "h",
    type: Boolean
  },
  {
    name: "outputDir",
    alias: "o",
    type: String
  }
];

const sections = [
  {
    header: "processmd template maker",
    content: "generate template of processmd for aizugeekdojo.github.io"
  },
  {
    header: "Options",
    optionList: [
      {
        name: "outputDir",
        typeLabel: "{underline path}",
        description: "The output template path."
      }
    ]
  }
];

const options = commandLineArgs(optionDefinitions);
const usage = commandLineUsage(sections);

if (options.help || !options.outputDir) {
  console.log(usage);
} else {
  main();
}

使い方

インストール

npm i --save nozo-moto/processmd_template_maker

package.json

  "scripts": {
		"blog-template": "processmd_template_maker --outputDir=./blog/"
  },

を付け加えます。 そして、npm run blog-template

$ npm run blog-template

Title: test
Tag(カンマ区切り): test
writer: test

すると

---
title: test
created_at: 2019-07-13
tags: test
description:
writer: test
---

と書かれた2019-07-13-test.mdが作成されます。

この後は、このファイルに記事を書けば自動的にレンダリングされます。

ブログテンプレートを作成するCLIを作る

ブログテンプレートを作成するCLIを作る

こんにちは会津大学学部4年森本望です。
前回書いた通り、processmdを用いてMarkdownからJSONに変換して ブログ記事にしています。

今回はprocessmdに使うテンプレートを作成するCLIをNodeJSを使って作成しました。
作成するCLIが出力するのは

---
title: ブログテンプレートを作成するCLIを作る
created_at: 2019-07-13
tags: processmd, cli, node, markdown
description:
writer: nozomoto
---

といったものを出力します。

技術

使った言語は

  • NodeJSです。

processmd_template_maker

readline-syncを使い、標準入力で項目を入れることができます。

const title = readlineSync.question("Title: ");
const tags = readlineSync.question("Tag(カンマ区切り): ");
const writer = readlineSync.question("writer: ");

また command-line-argcommand-line-usage を使ってコマンドライン引数、--help の表示をしています。

こんな感じです。

const commandLineArgs = require("command-line-args");
const commandLineUsage = require("command-line-usage");
const optionDefinitions = [
  {
    name: "help",
    alias: "h",
    type: Boolean
  },
  {
    name: "outputDir",
    alias: "o",
    type: String
  }
];

const sections = [
  {
    header: "processmd template maker",
    content: "generate template of processmd for aizugeekdojo.github.io"
  },
  {
    header: "Options",
    optionList: [
      {
        name: "outputDir",
        typeLabel: "{underline path}",
        description: "The output template path."
      }
    ]
  }
];

const options = commandLineArgs(optionDefinitions);
const usage = commandLineUsage(sections);

if (options.help || !options.outputDir) {
  console.log(usage);
} else {
  main();
}

使い方

インストール

npm i --save nozo-moto/processmd_template_maker

package.json

  "scripts": {
		"blog-template": "processmd_template_maker --outputDir=./blog/"
  },

を付け加えます。 そして、npm run blog-template

$ npm run blog-template

Title: test
Tag(カンマ区切り): test
writer: test

すると

---
title: test
created_at: 2019-07-13
tags: test
description:
writer: test
---

と書かれた2019-07-13-test.mdが作成されます。

この後は、このファイルに記事を書けば自動的にレンダリングされます。