mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-16 22:38:34 +02:00
47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
import { readFileSync, writeFileSync } from "node:fs";
|
|
import { dirname, resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import remarkMath from "remark-math";
|
|
import remarkParse from "remark-parse";
|
|
import remarkRehype from "remark-rehype";
|
|
import { unified } from "unified";
|
|
|
|
import { createPlugin } from "../../src/ThirdParty/RehypePlugin.mjs";
|
|
import { convertToMML, walkDir } from "./utils.mjs";
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
|
|
const data = {};
|
|
const parser = unified().use(remarkParse).use(remarkMath);
|
|
const tool = unified()
|
|
.use(remarkRehype)
|
|
.use(
|
|
createPlugin(function () {
|
|
return {
|
|
render(value) {
|
|
data[value] = convertToMML(value);
|
|
return [];
|
|
},
|
|
};
|
|
}),
|
|
);
|
|
|
|
function processDir(dir) {
|
|
walkDir(dir, (filePath) => {
|
|
tool.runSync(parser.parse(readFileSync(filePath)));
|
|
});
|
|
}
|
|
|
|
processDir(resolve(__dirname, "../../src/Documentation/doc/en"));
|
|
|
|
const notationInput = JSON.parse(readFileSync(resolve(__dirname, "../../src/Documentation/data/MathNotation.json")));
|
|
for (const value of Object.values(notationInput)) {
|
|
data[value] = convertToMML(value);
|
|
}
|
|
console.log(`Generated MathML data for ${Object.keys(data).length} notation entries`);
|
|
writeFileSync(resolve(__dirname, "../../src/Documentation/data/MathNotationOutput.json"), JSON.stringify(data), {
|
|
encoding: "utf-8",
|
|
});
|