• Stars
    star
    1,604
  • Rank 28,198 (Top 0.6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Visualize markdown documents as mindmaps

markmap

Build status on CircleCI npm version

Markmap is a javascript component that will visualize your markdown documents as mindmaps. It is useful for better navigation and overview of the content. You can see it in action online here.

It is used in:

markmap in action markmap in action
Default style Colorful style

Features

  • Zoom in and out with the mouse wheel.
  • Pan around by dragging the background.
  • Expand/collapse children of a node by clicking on the circle.

Supported formats:

  • Markdown
  • MindMup
  • Txtmap (whitespace indented plaintext)
  • Pandoc (limited prototype)

Suggestions for new features are welcome, feel free to open an issue.

How to use

Install the component with NPM:

npm install markmap

Visualizing a markdown text consists of two steps:

  1. The text is parsed and transformed into a tree representation.
  2. The tree is rendered.

Examples

To run the examples first clone the project and install dependencies:

git clone https://github.com/dundalek/markmap.git
cd markmap
npm install

In the examples code there are imports like require('../../lib/somefile'). When using this library in your project you need to change those to require('markmap/lib/somefile').

Browser

Run npm start and a browser will open with the example page where you can see how different formats are parsed and displayed. The source code for browser examples is located in examples/browser folder.

Node.js

Node examples are located in examples/node. You can run the markdown example or others as follows:

cd examples/node
node example.markdown.js

Changelog

0.6.1 (2019-10-23)

  • Bump dependencies to fix vulnerabilities

0.6.0 (2018-11-08)

  • Breaking change: Moved sources from src to lib. That way there will be no breakage if we happen to introduce babel in the future.
  • Added tree diffing heuristic
  • Added more code examples
  • Fixed link parsing issues

0.5.0 (2018-09-10)

  • Breaking change: Changed structure of source files
  • Added support for parsing inter file links for markdown
  • Updated code examples

License

The MIT License.

More Repositories

1

closh

Bash-like shell based on Clojure
Clojure
1,604
star
2

awesome-lisp-languages

A list of Lisp-flavored programming languages
673
star
3

liz

Lisp-flavored general-purpose programming language (based on Zig)
Clojure
248
star
4

GrammKit

Generate diagrams for parser grammars
JavaScript
232
star
5

lazy-lsp.nvim

Neovim plugin to auto install LSP servers
Lua
171
star
6

latinize

Simple library to convert accents (diacritics) from strings to latin characters.
JavaScript
148
star
7

atom-markdown-mindmap

Visualize markdown files as mindmaps in Atom editor
CoffeeScript
118
star
8

warehouse

Warehouse.js is a data storage layer for node.js and browser providing unified API for many supported storage engines (MongoDB, MySQL, SQLite, in-memory and others).
JavaScript
104
star
9

clojurescript-guide

My notes on ClojureScript
69
star
10

react-blessed-contrib

A wrapper for blessed-contrib widgets to be rendered with react-blessed.
JavaScript
60
star
11

notcurses-zig-example

Demo showing how to use Notcurses library for building terminal UIs with Zig
Zig
56
star
12

kmdoc

KMDoc is a software for an intelligent representation of knowledge useful for quick learning and browsing.
JavaScript
42
star
13

casio-f91w-fsm

Interactive model of the Casio F-91W watch using statecharts
Clojure
29
star
14

osquery-rest-adapter

Visualize information about your OS (REST adapter for osquery compatible with Vega)
JavaScript
26
star
15

dinodoc

Docusaurus-powered documentation system for Clojure and other languages
Clojure
23
star
16

parpar.nvim

Plugin for Neovim that seamlessly integrates Parinfer and Paredit for editing lisp code
Lua
22
star
17

longdown

Convert longform markdown files to outline format used by Logseq
Clojure
20
star
18

notcurses-clojure-example

Demo showing how to use Notcurses library for building terminal UIs with Clojure
C
14
star
19

bindem

A light-weight library providing Knockout-like two-way declarative data binding for Backbone.
JavaScript
13
star
20

humble-outliner

Clojure
12
star
21

knowledge-base

Notes on various subjects represented using KMDoc knowledge format
HTML
8
star
22

dotfiles

Shell
7
star
23

archieml-peg

Alternative parser for ArchieML in JavaScript using PEG (Parsing Expression Grammar)
JavaScript
7
star
24

git-sheet

Interactive page which presents most used git commands as a cheat sheet.
JavaScript
6
star
25

czech-stemmer

This is a port of stemmer for Czech language to Javascript, for both node.js and browser.
JavaScript
6
star
26

jquery-tagin

Simple jQuery Tag Input plugin with advanced features
JavaScript
5
star
27

userstyles

CSS
5
star
28

solid-cljs

Clojure
5
star
29

intools

Clojure
4
star
30

github-comparison

Show comparison of github repos in a table with this simple javascript component.
JavaScript
4
star
31

recline-warehouse

code for integration of Recline.js with Warehouse.js and other various additions to Recline
JavaScript
4
star
32

testing-without-mocks-clojure

Clojure
4
star
33

MEB-Genetic-Algorithm

Genetic Algorithm implementation in javaScript solving Minimum Energy Broadcast Problem
JavaScript
2
star
34

whitescape.js

Library for escaping whitespace characters
JavaScript
2
star
35

QueryHammer

QueryHammer is a visual tool that helps you create queries interactively
JavaScript
2
star
36

adventofcode

Clojure
2
star
37

rama-clj-playground

Clojure
2
star
38

humble-graal

Compile HumbleUI apps with GraalVM
Clojure
2
star
39

lumo-unpack-binding

Unpack binary node bindings for apps bundled with pkg-lumo
JavaScript
1
star
40

vmp

1
star
41

calculator-exercise

Clojure
1
star
42

cljs-stickies

Sticky notes demo app with Drag n Drop written in ClojureScript
Clojure
1
star
43

notemx

NoteMX is a note taking app for Android with Dropbox sync using React Native
JavaScript
1
star
44

livereloader

[Deprecated] Simple HTTP server with livereload functionality. No setup, other apps or browser extensions required.
JavaScript
1
star
45

x11-playground

JavaScript
1
star
46

cljs-kanban

Kanban board with drag and drop written in ClojureScript
Clojure
1
star
47

commandray

CommandRay is a graphical command-line tool to discover and execute commands more efficiently
JavaScript
1
star
48

cljs-date-format-tool

A simple tool that helps creating date format strings
Clojure
1
star
49

pickfile

JavaScript file picker component supporting drag and drop, file chooser and remote URL
JavaScript
1
star