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