Library to support conversion from mind map archive to Pandoc's markdown.
- Topic text and notes conversion
- Placeholders replacement
- Topic attributes
- Link attributes
- User defined variables
- Custom layout settings
- Supported mind map archive:
- MindManager XML document (*.mmap)
- Visual Paradigm XML archive (*.zip)
- Breakdown Structure Diagram Model
- Package Diagram Model
The XML archive for a Visual Paradigm Diagram Model organizes files created via the "Export XML" function using the "Simple XML Structure" option into a zip archive that adheres to the structure specified below:
+-- project.xml |-- data.zip |-- mmap2md.xml (Optional, bundled settings file) `-- (reference files...)
const mmap2md = require('mmap2md')
const fs = require('fs');
const path = require("path");
const archive = fs.readFileSync('./test_case_01.mmap');
const configString = fs.readFileSync('./test_config.xml').toString();
const now = new Date();
const variables = [
new mmap2md.Variable("year", now.getFullYear().toString()),
new mmap2md.Variable("short_numerical_month", (now.getMonth() + 1).toString()),
new mmap2md.Variable("date", now.getDate().toString()),
new mmap2md.Variable("hours", now.getHours().toString()),
new mmap2md.Variable("minutes", now.getMinutes().toString()),
new mmap2md.Variable("seconds", now.getSeconds().toString()),
];
const result = mmap2md.convert(archive, "", configString, variables, false);
const outputFolder = './test_case/test_case_01';
fs.mkdirSync(outputFolder, {recursive: true});
fs.writeFileSync(path.join(outputFolder, 'result.md'), result.content, {
encoding: 'utf-8'
});
for (const resource of result.resources) {
const targetPath = path.join(outputFolder, resource.path);
const targetFolder = path.dirname(targetPath);
fs.mkdirSync(targetFolder, {recursive: true});
fs.writeFileSync(targetPath, resource.content);
}
The conversion function takes a name parameter to identify the parent model of the Breakdown Structure Model. In the name parameter, the mark "::" is used as a delimiter for the model name path, hence avoid using this marker within the name of model.
The conversion function takes an XML format string as a configuration parameter to govern the output. This XML format string conforms to the mmap2md settings XML schema.