/awesome-markdown

A collection of awesome markdown goodies (libraries, services, editors, tools, cheatsheets, etc.)

Awesome Series @ Write Kit

Markdown (Syntax & Extensions, Documentation & Cheat Sheets, Libraries, ...) β€’ Markdown Editors & (Pre)viewers β€’ Books (Services, Hand-Written, Auto-Built w/ Open Data, ...)

Awesome Markdown

A collection of awesome markdown goodies (libraries, services, editors, tools, cheatsheets, etc.)

Note: :octocat: stands for the GitHub page and πŸ’Ž stands for the RubyGems page.


[ANNOUNCEMENT] Looking for the latest news, tools, tips & tricks, and more about markdown and friends? Follow along the Manuscripts News (@manuscriptsnews) channel on twitter for updates.


Contributions welcome. Anything missing? Send in a pull request. Thanks.

Table of Contents

Markdown

email-style writing for the web by John Gruber and Aaron Swartz

  • Markdown (web: daringfireball.net/projects/markdown) - original Markdown syntax write-up and processor in Perl by John Gruber; no longer maintained (last update in December 2004)

History / Genesis

  • Introducing Markdown by John Gruber - March 15, 2004

    I've written a text-to-HTML formatting tool called Markdown, which is now available for download. Markdown allows web writers to compose text using a simple, readable, plain text formatting syntax; Markdown takes care of translating it to valid XHTML (or, if you prefer, HTML).

  • Dive into Markdown by John Gruber - March 19, 2004

    You don't need to "preview" an email before you send it -- you write it, you read it, you edit it, right there.

    In fact, I love writing email. Email is my favorite writing medium. I've sent over 16,000 emails in the last five years. The conventions of plain text email allow me to express myself clearly and precisely, without ever getting in my way.

    Thus, Markdown. Email-style writing for the web.

  • Markdown by Aaron Swartz - March 22, 2004

    For months I've been working with John Gruber on a new project. The idea was to make writing simple web pages, and especially weblog entries, as easy as writing an email, by allowing you to use much the same syntax and converting it automatically into HTML.

    Together we pored over the syntax details from top to bottom, trying to develop the perfect format, and I think we've got something pretty darn great. We've tested it extensively: on our blogs, in my comments form, in our emails.

Documentation

Markdown Syntax Extensions

MultiMarkdown (MMD)

  • MultiMarkdown (MMD) - Markdown extensions by Fletcher Penney adding footnotes, tables, definition lists, document metadata (e.g. title, author, date, etc.) and more; first added to MultiMarkdown.pl
  • MultiMarkdown.pl :octocat: - historic MultiMarkdown.pl code; converter script in Perl (last update in Jan 2011)

Markdown Extra

  • Markdown Extra - Markdown extensions by Michel Fortin; first added to PHP Markdown (Extra)
  • Dingus - try Markdown Extra in your browser

Markdown Extended (MDE)

Manuscripts

Free book format for Markdown

Manuscripts (web: manuscripts.github.io, github: manuscripts) - adds book.yml for book (meta) info e.g. title, author, publisher, year etc. and contents.yml for table of contents and file strucutre

CommonMark

A strongly specified, highly compatible implementation of Markdown

CommonMark (web: commonmark.org)

GitHub Flavored Markdown (GFM)

CommonMark with GitHub Extensions

GitHub Flavored Markdown (GFM)

Extensions include:

Leaf Blocks: Tables ++ Container Blocks: Task list items ++ Inlines: Strikethrough; Autolinks; Disallowed Raw HTML

Vanilla Flavored Markdown (VFMD)

A variant of Markdown with an unambiguous specification of its syntax

Vanilla Flavored Markdown (VFMD) (web: vfmd.org, github: vfmd)

Differences include:

Intra-word emphasis; Simplified reference link/image syntax; Lists and the 4-space rule; Better automatic link detection; Double blank lines as end of blocks; Starting number in lists; Misnested constructs; Including raw HTML; Character encoding

Markdown Documentation

Markdown Cheatsheets / Quick References

Markdown Getting Started Guides / Tutorials

Markdown Building Blocks

Markdown Libraries & Tools

Pandoc (web: pandoc.org, github: github.com/jgm/pandoc) - a universal document converter (in Haskell)

kramdown (web: kramdown.gettalong.org, github: gettalong/kramdown, gem: kramdown) - markdown library & command line tool (in Ruby)

Markdown Extended (MDE) (github: e-picas/markdown-extended

  • transform plain text input (strings or files) in various output formats (in PHP)

marked (web: marked.js.org, github: marked :octocat:) a markdown parser and compiler. Built for speed. (In Javascript)

markdown-it (web: markdown-it.github.io, github: markdown-it :octocat:) Javascript markdown parser. 100% CommonMark support, extensions, syntax plugins & high speed. Is extensible with plugins.

concat-md (npm, github) CLI and API to concatenate markdown files and modify as necessary. Also adds titles from FrontMatter, file names and directory names, decreases level of existing titles to comply with added titles.

Babelmark

  • Babelmark 2 - a tool for comparing the output of various implementations of Markdown syntax

Markdown Style Guides / Best Practices

to be done

Markdown Lint / Style Rule Checker

Markdown Web Components / Custom Elements

Markdown to Website / Blog

Jekyll (web: jekyllrb.com, github: jekyll/jekyll :octocat:, gem: jekyll πŸ’Ž) - transform your plain text into static websites and blogs (in Ruby)

Middleman (web: middlemanapp.com, github: middleman/middleman :octocat:, gem: middleman πŸ’Ž) - makes developing websites simple (in Ruby)

Slate (github: lord/slate :octocat:) - beautiful API documentation, based on Middleman

Shins (github: Mermade/shins :octocat:, npm: shins) – beautiful API documentation, with node.js (port of Slate)

md-fileserver (github: md-fileserver :octocat:, npm: md-fileserver) – View markdown files locally in browser.

Markdown to Email

Markdown Here (web: markdown-here.com, github: adam-p/markdown-here) - a browser extension for rendering email written in Markdown; available for Chrome, Firefox, Safari, Thunderbird, and more; besides email also works with Evernote, Google Groups, Blogger, and more

Markdown to Presentation / Slideshow

Slide Show (S9) (web: slideshow-s9.github.io, github: slideshow-s9/slideshow, gem: slideshow) - a free web alternative to PowerPoint and Keynote in Ruby

Markpress (github: markpress) - A command line tool and node package to convert markdown files into self-contained impressjs html presentations. Example

nodePPT (github: nodePPT) - A web presentation tool supporting markdown based on GFM.

Deckset (website: Deckset) – A macOS desktop app that renders Markdown presentations in beautifully designed templates.

GitPitch (website: GitPitch, github: gitpitch :octocat:) – Markdown Presentations For Everyone on GitHub, GitLab, Bitbucket, GitBucket, Gitea, and Gogs. Example

Markdown to Portable Document Format (PDF)

Markdown Styles / Documents / Pages

The Zen of Page Designs (github: pagedesigns)

Markdown to Books

The Zen of Book Designs (github: bookdesigns)

Hyper Book (H9) :octocat:, πŸ’Ž

Markdown to Table of Contents (TOC)

Markdown to Markdown Pre-Processor

  • markedpp (github: markedpp :octocat:) adds support for table-of-contents (TOC), numbered headings, includes other markdown files and/or create reference lists for use with different markdown processors like marked, markdown-it, pandoc or for hosting on github.com, gitlab.com, bitbucket.org or ghost.org.

Convert to Markdown Tools

Microsoft Word to Markdown

Hypertext Markup Language (HTML) to Markdown

Ruby

JavaScript / Node.js

More

  • heckyesmarkdown.com - instantly convert a webpage to markdown; the service presents a simple interface that converts any reasonable web page into markdown (note: the service seems to use the Readability API to remove all the non-content cruft from the source page before proceeding with markdownification)

Source Code to Markdown

Generate API documentation from source code in Markdown, then host it on the web using one of the many Markdown to Website tools to host and serve it.

  • widdershins :octocat: - turn OpenAPI/Swagger REST API documentation to Markdown
  • Moxygen :octocat: - Doxygen (C++, but also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL , Fortran, VHDL, Tcl, and to some extent D.) documentation to Markdown
  • raml2html/markdown-theme :octocat: - turn RAML REST API documentation to Markdown using raml2html
  • jsdoc-to-markdown :octocat: - JavaScript API documentation via JSDoc to Markdown
  • mmarkdown :octocat: - Interpret mmd fenced code blocks in a markdown file and generate a cooler version of it.

Technical Documentation to Markdown

  • dita-ot-markdown – converts DITA into Markdown, integrates with standard DITA OT tool chain

Book Services

  • Softcover.io - publish from the comfort of your command-line by Michael Hartl et al
    • Softcover :octocat:, πŸ’Ž - a command line tool for book generation, building, and publishing
  • GitBook.com - write and publish books with Markdown and Git by Samy PessΓ© et al
    • GitBook :octocat: - a command line tool (and Node.js library) for building beautiful books using GitHub/Git and Markdown (or AsciiDoc)

Articles

Meta

License

The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.

Questions? Comments?

Send them along to the markdown-discuss mailing list. Thanks!