mmap2md
TypeScript icon, indicating that this package has built-in type declarations

0.7.0 • Public • Published

mmap2md

Library to support conversion from mind map archive to Pandoc's markdown.

Features

  • 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...)

Usage

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);
}

Conversion Name

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.

Conversion Settings

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.

Package Sidebar

Install

npm i mmap2md

Weekly Downloads

2

Version

0.7.0

License

MIT

Unpacked Size

1.39 MB

Total Files

6

Last publish

Collaborators

  • qfield