HTMLをMarkdown(md)に変換する

HTMLとMarkdownは、フォーマットされたテキストを作成するために使われる軽量マークアップ言語です。HTMLはより複雑で広く使われていますが、Markdownの方がシンプルで読み書きが簡単です。

Githubリポジトリをダウンロードしてください: https://github.com/myogeshverma/convert-html-markdown

const { NodeHtmlMarkdown } = require("node-html-markdown");
const glob = require("glob");
const { promisify } = require("util");
const fs = require("fs");
const fsExtra = require("fs-extra");

const readFileAsync = promisify(fs.readFile);
const writeFileAsync = promisify(fs.writeFile);

const nhm = new NodeHtmlMarkdown(
  /* options (任意) */ {},
  /* customTransformers (任意) */ undefined,
  /* customCodeBlockTranslators (任意) */ undefined
);

const fileDirectory = "あなたのフォルダのパスと、ConfluencePagesという名前";
(async () => {
  try {
    const getDirectories = function (src, ext) {
      return glob.sync(`${src}/**/**/*.${ext}`);
    };

    const allFiles = getDirectories(fileDirectory, "html");

    for (const iterator of allFiles) {
      const data = await readFileAsync(iterator, "utf8");
      const content = nhm.translate(data);
      const localPath = iterator.replace(
        "ConfluencePages",
        "ConfluencePagesMD"
      );

      const dirPath = localPath.split("/");
      dirPath.pop();

      fsExtra.ensureDir(dirPath.join("/"), (err) => {
        console.log("fsExtra.ensureDir ~ err:", err)
      });

      writeFileAsync(
        `${localPath.substring(0, localPath.length - 5)}.md`,
        content,
        (err) => {
          if (err) {
            console.error(err);
          }
          console.log("ファイルが正常に書き込まれました");
        }
      ).catch((err) => {
        console.log("writeFileAsync ~ err:", err);
      });
    }
  } catch (err) {
    console.error(err);
  }
})();

全画面表示モードにする 出全画面表示モードを終了する

こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/myogeshverma/convert-html-to-markdown-md-1dk9