├── README.md ├── lightweightMarkupSyntaxComparison.tsv ├── markdown-dialects.yml ├── markdown-editors-browserBased.yml ├── markdown-editors-nativeApps.yml ├── markdown-implementations.yml ├── markdown-people.yml ├── markdown-stylesheets.yml └── markdown-tools.md /README.md: -------------------------------------------------------------------------------- 1 | # Markdown Resources 2 | 3 | [Markdown](http://en.wikipedia.org/wiki/Markdown) (John Gruber & Aaron Swartz, 2004) is a [lightweight markup language](http://en.wikipedia.org/wiki/Lightweight_markup_language), similar to [Setext](http://en.wikipedia.org/wiki/Setext) (Ian Feldman, 1992), [AFT](http://www.maplefish.com/todd/aft.html) (Todd Coram, 1999), [Grutatxt](http://www.triptico.com/software/grutatxt.html) (Ángel Ortega, 2000), [atx](http://www.aaronsw.com/2002/atx/intro) (Aaron Swartz, 2002), [AsciiDoc](http://en.wikipedia.org/wiki/AsciiDoc) (Stuart Rackham, 2002), [MediaWiki](http://en.wikipedia.org/wiki/MediaWiki) (Magnus Manske & Lee Daniel Crocker, 2002), [reStructuredText](http://en.wikipedia.org/wiki/ReStructuredText) (David Goodger, 2002), [Org-mode](http://en.wikipedia.org/wiki/Org-mode) (Carsten Dominik, 2003), [Textile](http://en.wikipedia.org/wiki/Textile_(markup_language)) (Dean Allen, 2004), and many others (listed [here](http://en.wikipedia.org/wiki/Lightweight_markup_language#Comparison_of_language_features), 4 | [here](http://micans.org/zoem/ecosphere.html) and [here](http://outl.sourceforge.net/lightweight.html)).[^1] 5 | 6 | Lightweight markup languages are abundant. Markdown seems to have have won the race, but its popularity comes at a cost. Whereas original Markdown in its early days, ca 2004, had to compete with many alternatives, today it is clearly king, but its realm is falling apart into many baronnies. Markdown dialects, forks, and supersets, are competing amongst each other. While they all remain true to the original Markdown syntax subset, new initiatives arise, which abandon the Markdown syntax. Noteworthy are [SkrivML](http://markup.skriv.org/), [Strictdown](https://github.com/jakwings/strictdown) and [z.](http://www.z-m-l.com/)[m.](http://zenmagiclove.com/marchforth/march-forth-manifesto.zml)[l.](http://zenmagiclove.com/phrase-change-display.html) [Rumor](https://twitter.com/jpleboeuf/status/459739776858718208) has it that there is even a “Markdown Operating System” in the make… 7 | 8 | 9 | ## About Markdown (and the purpose of this collection) 10 | 11 | Markdown is said to be “invented” by [John Gruber](http://en.wikipedia.org/wiki/John_Gruber), who, in any case, worked on it together with [Aaron Swartz](http://en.wikipedia.org/wiki/Aaron_Swartz) (1986–2013). Since the release of “original” Markdown in 2004, the language has been “forked” many times over. Today, there are several “[extensions](http://en.wikipedia.org/wiki/Markdown_extensions)” and dialects in circulation. Many more apps have been created (for the Web, OSX, iOS, Android, Windows). 12 | 13 | Depending on the specific Markdown implementation (parser) those apps use under the hood, they support one or more Markdown dialects or “flavors”. It is not always obvious to end users which apps (and backend scripts) can do what exactly. This collection of resources tries to clear up some of that confusion. 14 | 15 | 16 | ## This repo 17 | 18 | At the moment the repository has structured lists for Markdown editors (apps with a graphical user interface), dialects/extensions, implementations, stylesheets (themes in `css`), and a simple list for various other Markdown related tools: 19 | 20 | - [Markdown Editors: native apps](markdown-editors-nativeApps.yml) 21 | - [Markdown Editors: browser-based](markdown-editors-browserBased.yml) 22 | - [Markdown Dialects](markdown-dialects.yml) 23 | - [Markdown Implementations](markdown-implementations.yml) 24 | - [Markdown People](markdown-people.yml) 25 | - [Markdown Stylesheets](markdown-stylesheets.yml) 26 | - [Various Markdown Tools](markdown-tools.md) 27 | 28 | Feel free to grab the `.yml` files, [convert them into `.json`](http://nodeca.github.io/js-yaml/), `.xml` or whatever suits your needs, and import them into a searchable data store. Enjoy! 29 | 30 | 31 | ### On the use of YAML 32 | 33 | The structured lists in this repo are formatted using [YAML](http://en.wikipedia.org/wiki/YAML). Not unlike Markdown, YAML is a lightweight markup language with a syntax that is intended to be easily readable by humans, all while formally structured for machine processing. But unlike Markdown, YAML is more suited to author, edit, and store non-sequential data. 34 | 35 | YAML and Markdown only seem to be competing languages, but they are not mutually exclusive. Indeed, some Markdown editors and implementations even support YAML: while the document’s body is formatted in Markdown syntax, its front matter (metadata) is structured using YAML syntax. Just like documents can exist without front matter, and be formatted in Markdown exclusively, so can documents consist out of nothing else than ~~(meta)~~data and be completely formatted in YAML. 36 | 37 | One might put it like this: Markdown is for text (i.e. text that is meant for continuous reading), while YAML is for structured data (not sequentially read, but randomly accessed/queried). 38 | 39 | While both languages are concise enough to be easily read in raw format by a human editor, the intended output of a text file formatted in Markdown is a (typographically) styled document, whereas a text file formatted in YAML is expected to be eventually read into a datastore. 40 | 41 | 42 | ## Contributions 43 | 44 | Markdown is gaining enormous popularity and dozens of implementations and applications are pumped out almost every single week, it seems. Maybe one could set up some sort of automated tracking, but as it stans now, the present collection is curated manually. It cannot be exhaustive without some help, and contributions are gratefully welcomed! 45 | 46 | Please fork, edit, commit, and send pull requests, or just [file an issue](https://github.com/rhythmus/markdown-resources/issues). 47 | 48 | Alternatively, if you want to quickly add a Markdown resource (that is not on a list already), and you don’t like how the YAML format is presented by Github, you can do so on the [Wiki](https://github.com/rhythmus/markdown-resources/wiki). 49 | 50 | 51 | ## Discussion 52 | 53 | There’s not much room for discussion here on Github, and the present repo is just a shared store of resources. If you want to take part in the vibrant discussions on the future of Markdown, there’s no exact place to point to. 54 | 55 | There’s a [Markdown Community Page on GitHub](http://markdown.github.io/), but it seems it never got further than some initial enthusiasm. There’s also an official [W3C Markdown Community Group](http://www.w3.org/community/markdown/), but that too seems abandoned. The actual discussion on Markdown takes place at the [Markdown mailing list](http://six.pairlist.net/mailman/listinfo/markdown-discuss), and on private blogs. 56 | 57 | 58 | ## Other useful Markdown resources 59 | 60 | While this entire repository is made up of links to useful Markdown resources, the following stand apart as they too are curated collections of links to other Markdown resources, and/or provide more context. 61 | 62 | - 63 | - 64 | - – Testing and comparison suite for Markdown implementations, by John MacFarlane. 65 | - 66 | 67 | --- 68 | 69 | [^1]: This document (`README.md`) is itself formatted using the GitHub Flavored Markdown dialect. The specs are [here](https://help.github.com/articles/github-flavored-markdown). The repo is kept at . 70 | -------------------------------------------------------------------------------- /lightweightMarkupSyntaxComparison.tsv: -------------------------------------------------------------------------------- 1 | TYPE LEVEL HTML MARK PATTERN LANGUAGES NOTE 2 | header block

= ↩======↩string↩======↩ reST "section title" 3 | header block

= ↩string↩======↩ "markdown; reST" "section title, header first level" 4 | header block

- ↩string↩------↩↩string↩------↩ "markdown; AsciiDoc, reST" "header second level" 5 | header block

~ ↩string↩~~~~~~↩ "AsciiDoc, reST" "header third level" 6 | header block

- ↩string↩------↩ AsciiDoc "header first level" 7 | header block

~ ↩string↩~~~~~~↩ AsciiDoc "header second level" 8 | header block

^ ↩string↩^^^^^^↩ AsciiDoc "header third level" 9 | header block

+ ↩string↩++++++↩ AsciiDoc "header fourth level" 10 | header block

# ↩#␣string↩ markdown "header first level" 11 | header block

# ↩##␣string↩ markdown "header second level" 12 | header block

# ↩###␣string↩ markdown "header thrid level" 13 | header block

# ↩####␣string↩ markdown "header fourth level" 14 | header block

# ↩#####␣string↩ markdown "header fifth level" 15 | header block
# ↩######␣string↩ markdown "header sixth level" 16 | header block

# ↩#␣string␣#↩ markdown "header first level" 17 | header block

# ↩##␣string␣##↩ markdown "header second level" 18 | header block

# ↩###␣string␣###↩ markdown "header thrid level" 19 | header block

# ↩####␣string␣####↩ markdown "header fourth level" 20 | header block

# ↩#####␣string␣#####↩ markdown "header fifth level" 21 | header block
# ↩######␣string␣######↩ markdown "header sixth level" 22 | header block

= ↩==␣string↩ AsciiDoc "header first level" 23 | header block

= ↩===␣string↩ AsciiDoc "header second level" 24 | header block

= ↩====␣string↩ AsciiDoc "header thrid level" 25 | header block

= ↩=====␣string↩ AsciiDoc "header fourth level" 26 | header block

= ↩=␣string↩ "Creole, Skriv" "header first level" 27 | header block

= ↩==␣string↩ "Creole, Skriv" "header second level" 28 | header block

= ↩===␣string↩ "Creole, Skriv" "header thrid level" 29 | header block

= ↩====␣string↩ "Creole, Skriv" "header fourth level" 30 | header block

= ↩=====␣string↩ "Creole, Skriv" "header fifth level" 31 | header block
= ↩======␣string↩ "Creole, Skriv" "header sixth level" 32 | header block

= ↩=␣string␣=↩ "Creole, Skriv" "header first level" 33 | header block

= ↩==␣string␣==↩ "Creole, MediaWiki, Skriv" "header second level" 34 | header block

= ↩===␣string␣===↩ "Creole, MediaWiki, Skriv" "header thrid level" 35 | header block

= ↩====␣string␣====↩ "Creole, MediaWiki, Skriv" "header fourth level" 36 | header block

= ↩=====␣string␣=====↩ "Creole, MediaWiki, Skriv" "header fifth level" 37 | header block
= ↩======␣string␣======↩ "Creole, MediaWiki, Skriv" "header sixth level" 38 | header block

* ↩*␣string↩ Org-mode "header first level" 39 | header block

* ↩**␣string↩ Org-mode "header second level" 40 | header block

* ↩***␣string↩ Org-mode "header thrid level" 41 | header block

* ↩****␣string↩ Org-mode "header fourth level" 42 | header block

* ↩*****␣string↩ Org-mode "header fifth level" 43 | header block
* ↩******␣string↩ Org-mode "header sixth level" 44 | header block . ↩.string↩ AsciiDoc "paragraph title" 45 | paragraph block

↩string↩↩ "markdown; AsciiDoc, reST, Skriv, Textile " paragraph 46 | paragraph block

↩string↩ "MMD, writedown" paragraph 47 | "single line" block
␣ ↩string␣␣↩ markdown "line within a paragraph" 48 | "single line" block
↩string↩ "GFM; Textile, Skriv" "line within a paragraph" 49 | "single line" block
string␣+↩ AsciiDoc "forced line break within a paragraph" 50 | italics inline * ␣*string*␣ "markdown; reST" emphasis 51 | italics inline ", " _ ␣_string_␣ "markdown; AsciiDoc, Textile" emphasis 52 | italics inline _ ␣__string__␣ Textile 53 | italics inline / ␣/string/␣ Org-mode italics 54 | italics inline / ␣//string//␣ Creole italics 55 | italics inline ~ ␣~string~␣ Setext italics 56 | italics inline ' ␣'string'␣ AsciiDoc 57 | italics inline ' ␣''string''␣ "MediaWiki, Skriv" italics 58 | boldface inline * *string* "AsciiDoc, Org-mode, Textile" boldface 59 | boldface inline ", " * ␣**string**␣ "markdown; Creole, reST, Setext, Skriv, Textile" "strong emphasis, boldface" 60 | boldface inline ", " _ ␣__string__␣ markdown "strong emphasis, boldface" 61 | boldface inline ' ␣'''string'''␣ MediaWiki boldface 62 | "bold italics" inline * ␣**_string_**␣ markdown "combined emphasis, bold italics" 63 | = "=== Text ===" Textile emphasis 64 | monospaced inline ` ␣`string`␣ markdown "monospaced font, code" 65 | monospaced inline ` `string` AsciiDoc command 66 | inline ' 'string' AsciiDoc "file path" 67 | monospaced inline ` ␣``string``␣ reST "monospaced font, code" 68 | monospaced inline + +string+ AsciiDoc "monospaced font" 69 | monospaced inline ", " # ␣##string##␣ "Creole, Skriv" "monospaced font" 70 | monospaced inline = ␣=string=␣ Org-mode "monospaced font" 71 | monospaced inline ~ ␣~string~␣ Org-mode "verbatim, monospaced font" 72 | monospaced inline { ␣{{{string}}}␣ Creole "monospaced font" 73 | monospaced inline @ ␣@string@␣ Textile "monospaced font" 74 | monospaced inline ` ``text`` "reST " "inline literal" 75 | ` `text` "reST " "interpreted text (rendering is domain- or application-dependent)" 76 | underlined inline _ ␣_string_␣ Org-mode underlined 77 | underlined inline _ ␣__string__␣ Skriv underlined 78 | strike-through inline + ␣+string+␣ Org-mode deleted 79 | strike-through inline - ␣--string--␣ Skriv deleted 80 | strike-through inline ~ ␣~~string~~␣ markdown deleted 81 | strike-through inline {- ␣{--string--} "MMD, CriticMarkup" deletion 82 | underlined inline { ␣{++string++} "MMD, CriticMarkup" addition 83 | inline {~ ␣{~~foo~>bar~~} "MMD, CriticMarkup" "replacement of “foo” (deleted) by “bar” (added)" 84 | highlight inline { ␣{==string==} "MMD, CriticMarkup" "highlighted text, e.g. with a colored fluo marker background" 85 | comment inline "" { {>>string<<} "MMD, CriticMarkup" "comment, text removed from in output" 86 | strike-through inline - ␣-word-␣ Textile deletion 87 | underlined inline + ␣+word+␣ Textile addition 88 | superscript inline ^ ^c MMD "single raised character" 89 | superscript inline ^ ^string^ "MMD; AsciiDoc, Textile" "multiple raised characters" 90 | subscript inline ~ ~c MMD "single lowered character" 91 | subscript inline ~ ~string~ "MMD; AsciiDoc, Textile" "multiple lowered characters" 92 | superscript inline ^ ␣^^string^^␣ "Creole, Skriv" 93 | subscript inline "," "␣,,string,,␣" "Creole, Skriv" 94 | inline % %{css:rule}text% Textile "arbitrary styling" 95 | math block "\ \\[formula␣\\]" MMD "block-level formula" 96 | math inline "\ \\(formula␣\\)" MMD "inline formula" 97 | math block $ $$formula$$ MMD "block-level formula" 98 | math inline $ $formula$␣ MMD "inline formula" 99 | list block

    ↩1.␣string↩ markdown "ordered list item" 100 | list block
      ␣ ↩␣␣1.␣string↩ markdown "ordered nested list item" 101 | list block
        ↩1.1.␣string↩ writedown "ordered nested list item" 102 | list block
          ) ↩1)␣string↩ reST "ordered enumerated list item" 103 | list block
            # ↩#)␣string↩ reST "ordered enumerated list item" 104 | list block
              # ↩#␣string↩ "Creole, MediaWiki, Skriv, Textile" "ordered list item" 105 | list block
                # ↩##␣string↩ "Creole, MediaWiki, Skriv, Textile" "ordered nested list item" 106 | list block
                  . "↩. string↩" AsciiDoc "numbered list item" 107 | list block
                    . "↩.. string↩" AsciiDoc "ordered nested list item" 108 | list block
                      . "↩␣␣.. string↩" AsciiDoc "ordered nested list item" 109 | list block
                        "↩a. string↩" AsciiDoc "alphanumeric list item" 110 | list block
                          ) ↩␣␣␣a)␣string↩ reST "nested ordered alphanumeric list item" 111 | list block