{"id":17026486,"url":"https://github.com/djsudduth/mindmap-markdown","last_synced_at":"2025-03-17T10:34:07.045Z","repository":{"id":111217468,"uuid":"585391602","full_name":"djsudduth/mindmap-markdown","owner":"djsudduth","description":"Convert Simplemind .smmx mindmaps directly to markdown outline files or to an Obsdian canvas with all inner/outer notes, links, relations, images and connection labels for notetaking applications like Obsidian, Logseq, Notion and Joplin","archived":false,"fork":false,"pushed_at":"2024-10-23T01:31:17.000Z","size":2345,"stargazers_count":21,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T16:56:30.038Z","etag":null,"topics":["joplin","logseq","markdown","mindmap","mindmaps","notion","obsidian","obsidian-canvas","obsidian-md","simplemind","smmx"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djsudduth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-05T03:41:00.000Z","updated_at":"2024-10-23T01:37:45.000Z","dependencies_parsed_at":"2024-04-21T03:20:09.320Z","dependency_job_id":"4587b003-e60f-4758-a903-c15c66335823","html_url":"https://github.com/djsudduth/mindmap-markdown","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djsudduth%2Fmindmap-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djsudduth%2Fmindmap-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djsudduth%2Fmindmap-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djsudduth%2Fmindmap-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djsudduth","download_url":"https://codeload.github.com/djsudduth/mindmap-markdown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221675251,"owners_count":16861860,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["joplin","logseq","markdown","mindmap","mindmaps","notion","obsidian","obsidian-canvas","obsidian-md","simplemind","smmx"],"created_at":"2024-10-14T07:32:57.085Z","updated_at":"2024-10-27T12:32:43.302Z","avatar_url":"https://github.com/djsudduth.png","language":"Python","readme":"[![GitHub license](https://img.shields.io/github/license/djsudduth/keep-it-markdown)](https://github.com/djsudduth/keep-it-markdown/blob/main/LICENSE)\n\n# mindmap-markdown\nMindmap-markdown or **mindmd** converts [Simplemind](https://simplemind.eu/) mind maps to either a **single markdown outline** or an **Obsidian Canvas** as additional types to Simplemind's export function. **Simplemind is an amazing mind mapping application** that is free on mobile devices with significant capabilities to capture information. \n\nOne of the key missing components with Simplemind exports is that not all information is exported such as outer notes and relations. Plus, having a markdown outline or canvas of the mind map allows for notetaking apps like Obsidian or Logseq to consume the outline easily. \n\nMindmd will export inner and outer notes, notes on node-to-node links, embedded and linked images, urls, and relations between nodes. Audio files (only audio links), node colors, checkboxes, mindmap-to-mindmap links and icons are not exported. The script will execute on Windows, MacOS or Linux.\n\n## Examples\n\n### Markdown Outline\n\nHere is the default example Simplemind mindmap markdown outline screenshot that is located in the **mindmaps** folder:\n\n![](mindmaps/HII%20Regions%20Example.png)\n\nThe [example converted markdown](https://github.com/djsudduth/mindmap-markdown/blob/main/markdown/HII%20Regions.md) file is found in the **markdown** folder where the first few lines of the markdown output outline has a format like:\n\n- Nebulae Emissions\n\t- Types\n\t\t- Planetary Nebulae\n\t\t\t- (image here)\n\t\t- ~~\u003cu\u003e***HII Regions***\u003c/u\u003e~~\n\t\t\t- Orion Nebula\n\t\t\t\t- The radius of the Orion Nebula is a few parsecs\n                - .....\n\n\nTitle and note text formatting in Simplemind is converted as best as possible to markdown formatting. Underline, Superscript and Subscripts are converted to html tags. \n\n### Obsidian Canvas\nThe canvas feature allows you to create an Obsidian Canvas from Simplemind nodes that are exported to individual markdown notes that includes their inner and outer text.\n\nAn example of the sample canvas file output of the mindmap can be seen here:\n![](markdown/HII%20Regions%20Canvas.png)\n\n(Obsidian users please refer to the proper configuration below)\n\n## Usage\nTo run mindmd in outline mode you can either set your input and output paths in `settings.cfg` file, or, use the input `-i` or output `-o` switches to override the config file.\n\nThere are default paths already set in the `settings.cfg` file. However, you can simply test the script against the sample .smmx file by running:\n```bash\n\u003e python mindmd.py \n```\nThis will execute the example test .smmx file found in the `mindmaps` directory to see the markdown output. The default input path is the `mindmaps` folder. The default output path is the `markdown` folder. Output folders will be created dynamically. (Windows users should use forward slashes, e.g. -\u003e c:/md-files/export)\n\n###  Options\nAll configurations should first be setup in the `settings.cfg` file. If you need to run test files simply change the `test_file_name` to your .smmx file.\n\n#### Switches\nTo specify a specfic input and output path and name:\n```bash\n\u003e python mindmd.py -i mindmaps/inputname.smmx -o markdown/outputname.md\n```\n(paths will be pulled from the `settings.cfg` file if the -i or -o switches are not used)  \nIf you need to use the same directory as mindmd, prefix the files with `./` like `-i ./inputname.smmx`. If an input or output switch isn't provided then the settings path with be used. \n\n#### Batch\nTo run a batch conversion on a single directory:\n```bash\n\u003e python mindmd.py -d\n```\nMindmd will convert all .smmx files in a flat directory defined in `settings.cfg` (no subdirectories) using the same file name to markdown. You can also set the input directory with the `-i` switch: \n```bash\n\u003e python mindmd.py -d -i mysmmxfolder\n```\n\n#### Line Numbers\nTo add line numbers to each node in the markdown output use:\n```bash\n\u003e python mindmd.py -n\n```\n\n#### Obsidian Canvas\nTo output the mindmap to an Obsidian canvas vs. a single markdown outline file, use the `-c` switch along with the input flag if needed:\n```bash\n\u003e python mindmd.py -c\n```\nor  \n```bash\n\u003e python mindmd.py -c -i myfiles/coolmindmap.smmx\n```\nThis will create individual markdown files for every mindmap node vs a single output file. Plus, the canvas file will be output. If your mindmap is large you will have many markdown files!  \n\n**Try to use the default file and settings to test this at first**  \n\nBe aware that if you want to export directly to the Obsidian vault, just having an output path isn't enough since a canvas needs to know where the parent vault is located in order to map relative paths correctly.  Be sure to set the parent vault name in `settings.cfg`  called `obsidian_vault_name`. If your vault is located `c:/Documents/Notes/MyVault` the vault name is just `MyVault`. `Mindmd` can then use the `output_path` to determine where the canvas, markdown files and media can go.  \n\nYou can also set the scale factor to widen or reduce the separation of nodes on the Canvas in `settings.cfg` using `canvas_scale`. Values of about 2.0 to 4.0 seem to work well.  \n\nNote that the media path is relative to the output path in `settings.cfg`\n\n**Canvas mode does not support batch output yet!**\n\n###  Markdown\nThe markdown outline output will have a tree structure that is well suited for either Obsidian or Logseq notes. Bullets are added to be compatible with Logseq - but future versions will have a flag to remove them if needed.\n\nThe canvas file output is only supported by Obsidian. Logseq whiteboards are not yet supported.\n\nAn example output file can be found in the `markdown` directory\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjsudduth%2Fmindmap-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjsudduth%2Fmindmap-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjsudduth%2Fmindmap-markdown/lists"}