Markdown editor

What is Markdown?

It's a plain text format for writing structured documents, based on formatting conventions from email and Usenet.

Markdown is a way to style text on the web. You control the display of the document; formatting words as bold or italic, adding images, and creating lists are just a few of the things we can do with Markdown. Mostly, Markdown is only regular text with a few non-alphabetic characters thrown in, like # or *.

Want to learn Markdown in 60 seconds?

CommonMark

CommonMark proposes a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against the specification.

Github Flavoured Markdown

GitHub.com uses a version of the Markdown syntax that provides an additional set of useful features:

  • Tables
  • Task list items
  • Strikethrough texts
  • Extended auto-links

Document Node supports the core features of CommonMark as well as the extended Github Flavoured Markdown. With auto-suggestion and syntax highlighting, writing using Document Node is definitely a joy.

Side-by-side preview

When you open the "Preview" pane on the right side, you can see what your Markdown content looks like in a basic HTML format.

screen-side-by-side-preview

Changes will be synchronised to the preview pane automatically. Scrolling in the Markdown editor will scroll on the preview pane at the same time.

Clicking the PDF icon on the header of the preview pane, we can quickly export the current document as a PDF file.

Synchronising scroll bar

While you are writing at the bottom of your text editor in Document Node, you often want to switch to your web browser and see the current sentence on the page.

With the feature of synchronising the scroll bar position between the text editor and the web page, we don't have to scroll to bottom any more manually.

screencast-sync-scrollbar-with-web

The same feature is available in the Rich text editor as well.

Syntax highlight

In addition to highlighting basic Markdown syntax, the Markdown editor can highlight sourcecode fragments as well. With a generic syntax highlighting engine, Document Node supports the highlighting of 310 languages.

screen-kotlin-highlighting

Code blocks highlighting happens in four and more places:

  • The Markdown editor
  • The preview pane
  • The web page generated
  • The PDF files exported

That is, without any other plugins or configurations, by only using Document Node, you will get all your code syntax-highlighted in all places, as well as your website, blog, or online documentation.

As references, please see below for a complete list of supported languages.

4dos, abap, abc, actionscript, ada, adblock, agda, ahdl, ahk, alert, ample, ansforth94, ansic89, ansys, apache, apparmor, asciidoc, asm-avr, asm-dsp56k, asm-m68k, asm6502, asn1, asp, awk, bash, bibtex, bitbake, bmethod, boo, brightscript, c, carto-css, ccss, cg, cgis, changelog, chicken, cil, cisco, clipper, clist, clojure, cmake, coffee, coldfusion, commonlisp, component-pascal, context, cpp, crk, cs, css, cubescript, cue, curry, d, debianchangelog, debiancontrol, desktop, diff, djangotemplate, dockerfile, dosbat, dot, doxyfile, doxygen, doxygenlua, dtd, e, eiffel, elixir, elm, email, erlang, euphoria, fasm, fastq, ferite, fgl-4gl, fgl-per, fish, flatbuffers, fortran, freebasic, fsharp, fstab, ftl, gap, gcc, gcode, gdb, gdb-bt, gdbinit, gdl, gettext, git-ignore, git-rebase, gitolite, glosstex, glsl, gnuassembler, gnuplot, go, grammar, groovy, haml, hamlet, haskell, haxe, html, hunspell-aff, hunspell-dat, hunspell-dic, hunspell-idx, idconsole, idl, ilerpg, inform, ini, intelhex, isocpp, j, jam, java, javadoc, javascript, javascript-react, jcl, jira, json, jsp, julia, k, kbasic, kconfig, kdesrc-buildrc, kotlin, latex, ld, ldif, less, lex, lilypond, literate-curry, literate-haskell, logcat, logtalk, lpc, lsl, lua, m3u, m4, mab, magma, makefile, mako, mandoc, markdown, mason, mathematica, matlab, maxima, mediawiki, mel, mergetagtext, meson, metafont, metamath, mib, mips, modelica, modelines, modula-2, modula-2-iso-only, modula-2-pim-only, modula-2-r10-only, monobasic, mup, mustache, nagios, nasm, nemerle, nesc, ninja, noweb, nsis, objectivec, objectivecpp, ocaml, ocamllex, ocamlyacc, octave, oors, opal, opencl, openscad, pango, pascal, perl, pgn, php, picsrc, pig, pike, pli, ply, pony, postscript, povray, powershell, ppd, praat, progress, prolog, protobuf, pug, puppet, purebasic, python, q, qdocconf, qmake, qml, r, rapidq, rdoc, relaxng, relaxngcompact, replicode, rest, rexx, rhtml, rib, rmarkdown, roff, rpmspec, rsiidl, rtf, ruby, rust, sather, scala, scheme, sci, scss, sed, selinux, selinux-cil, selinux-fc, sgml, sieve, sisu, smali, sml, spice, sql, sql-mysql, sql-oracle, sql-postgresql, stan, stata, stl, systemc, systemverilog, tads3, taskjuggler, tcl, tcsh, template-toolkit, texinfo, textile, tibasic, tiger, toml, txt2tags, typescript, typescript-react, uscript, vala, valgrind-suppression, varnish, varnish4, varnishcc, varnishcc4, varnishtest, varnishtest4, vcard, velocity, vera, verilog, vhdl, vrml, wavefront-obj, wayland-trace, winehq, wml, xharbour, xml, xmldebug, xonotic-console, xorg, xslt, xul, yacas, yacc, yaml, yang, zonnon, zsh