- A beautiful and easy to use editor for the popular Markdown markup language, combined with a themed live preview feature, you will never have to write bor.
- Markdown.css makes HTML markup look like plain text Markdown. Begin writing your markdown document, and click Ctrl+E to preview your markdown document.
- Common markup for Markdown and reStructuredText. GitHub Gist: instantly share code, notes, and snippets.
- Marked-down — mark mark 2 verb transitive to put a sign on something:. You must mark all hazardous goods with international danger symbols.
The post title renders the word “with” in italics and the word “Markdown” in bold. The post title markup should be removed from the browser window /.
This page introduces you to the most important elements of the Markdown syntax. For details on the Python implementation of Markdown see https://python-markdown.github.io/.
In addition to being supported by moin2, the Markdown markup language is used by issue trackerssuch as those found in Github and Bitbucket. So what you learn here can be used to create or edit issues on the moin issue tracker.
If there are error messages on the top of this page they are the result of examples showing unsupported HTML tags. The error messages will not be present if this item has been served from cache; to see the messages click Modify and Save.
Features currently not working with moin's Markdown parser are marked with MDTODO.
Table of Contents
The table of contents is a supported extension that is distributed with Python Markdown.
Markup:
Result:
- Markdown Syntax[+]
- Headings[+]
- Level 3[+]
- Level 4[+]
- Level 5[+]
- Level 4[+]
- Level 3[+]
- Linking[+]
- Inline HTML[+]
- Extensions[+]
- Headings[+]
Headings
Level 1 and 2 headings may be created by underlining with = and - characters, respectively.
Having equal numbers of characters in the heading and the underlinelooks best in raw text, but having fewer or more = or - characters also works.
Heading levels 3 through 6 must be defined by prefixing the heading with a variable number of # characters indicating the heading level. Heading levels 1 and 2 may be defined in the same manner. It is customary, but not required, to follow the # characters with a single space character. Another option is to append the appropriate number of # characters after the heading text.
Markup:
Result:
Level 3
Level 4
Level 5
Level 6
NOTE: Levels 1 and 2 are not shown above to avoid addingunwanted entries to the table of contents. See the top of this pagefor an approximate view of a level 1 heading and next section headingbelow for level 2.
Preformatted Code
To show a preformatted block of code, indent all the lines by 4 or more spaces.
Markup:
Result:
Begin preformatted code
End preformatted code
Simple text editing
Markup:
Result:
Paragraphs are separatedby a blank line.
To force a line break, end a line
with 2 spaces.
Markdown provides markup for only a few common text augmentations. Less common augmentations may be obtained by using HTML tags. See support for inline HTML. Note support for HTML tagson other implementations of Markdown such as GitHub and BitBucket is both limited and variable.
Markup | Result |
---|---|
*italic* | italic |
**bold** | bold |
***bold italics*** | bold italics |
_italic_ | italic |
__bold__ | bold |
___bold italics___ | bold italics |
<ins>underlined</ins> | |
2<sup>2</sup> | 22 |
H<sub>2</sub>O | H2O |
<small>smaller</small> | smaller |
<del>strike</del> |
|
Linking
Markdown supports two style of links: inline and reference.
Inline Links
Inline links use the form:
Markup | Result |
---|---|
[home page](Home) | home page |
[home page](Home 'my home page') | home page |
[a sub item](Home/subitem) | a sub item |
[missing page](MissingPage) | missing page |
[toc](markdown#table-of-contents) | toc |
[toc](#table-of-contents) | toc |
[moinmoin](https://moinmo.in 'Go there') | moinmoin |
[](Home 'click me') |
Reference Links
Reference links have two parts. Somewhere in the document the link label is defined using a unique id; this has no visible output. Then the reference link uses a form with square brackets rather than parens:
Markup | Result |
---|---|
[apple]: https://www.apple.com/ | |
[MoinMoin]: https://moinmo.in/ 'go there!' | |
[see Apple stuff][apple] | see Apple stuff |
[go to MoinMoin][MoinMoin] | go to MoinMoin |
Images
Images are similar to links with both an inline and a reference style, but they start with an exclamation point. There are no options to change the default sizes or positions (float left) of images:
Markup | Result |
---|---|
 | |
 | |
[logo]: png 'Optional title attribute' | |
![Alt text][logo] |
Lists
Unordered lists may use *, +, or - characters as bullets. The character used as a bullet does not effect the display. The display would be the same if * characters were used everywhere.
Markup:
Result:
- apples
- oranges
- pears
- carrot
- beet
- man
- woman
- turnip
- cherries
Ordered lists use numbers and are incremented in regular order. Neither alpha characters nor roman numerals are supported. Although you may use numbers other than 1 with no adverse effect (as shown below), it is a best practice to always start a list with 1.
Markup:
Result:
- apples
- oranges
- pears
- carrot
- beet
- man
- woman
- turnip
- cherries
Lists composed of long paragraphs are easier to read in raw text if the lines are manually wrapped with optional hanging indents. If multiple paragraphs are required, separate the paragraphs with blank lines and indent.
Markup:
Result:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
- Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,viverra nec, fringilla in, laoreet vitae, risus.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,viverra nec, fringilla in, laoreet vitae, risus.
- Donec sit amet nisl. Aliquam semper ipsum sit amet velit.Suspendisse id sem consectetuer libero luctus adipiscing.
Horizontal Rules
To create horizontal rules, use 3 or more -, *, or _ on a line. Neither changing the character nor increasing the number of characters will change the width of the rule.Putting spaces between the characters also works.
Markup:
Result:
Backslash Escapes
Sometimes there is a need to use special characters as literal characters, but Markdown's syntax gets in the way. Use the backslash character as an escape.
Markup:
Result:
hot
- is a float, 333 is an integer.
*hot*
333. is a float, 333 is an integer.
Nested Blockquotes

Advanced blockquotes with nesting are created by starting a line with a > character.
Markup:
Result:
A standard blockquote is indented
A nested blockquote is indented more
You can nest to any depth.
Inline HTML
You may embed a subset of HTML tags directly into your markdown documents. If there were an official list of allowed tags, it may look like the list below. However, theMoin implementation of Markdown uses the html_in converter to convert inline HTML: anythingpermitted within an HTML item will likely also work within a Markdown item.
Markup:
Result:
E = MC2
This word is italic.
This word is bold; colors depend upon configuration settings.
Note: See top of html and configuration docs for information on allow_style_attributes.
Unsupported HTML Tags
Markup:
Result:
Unsupported tags within paragraphs are ignored and create no output other than error messages at the top of the page.
Malformed HTML Tags
Markup:
Result:
Malformed tags within paragraphs are escaped. The <b>
below has no closing tag. <strong>Hello</strong><strike>Hello</strike><b>End of paragraph.
Extensions
In addition to the TOC extension shown near the top of this page, the following features are installed as part of the 'extras' extension.
Tables
All tables must have one heading row. By default table headings are centered and table body cells are aligned left. Use a ':' character on the left, right or both sides of the heading-body separator to change the alignment. Changing the alignment changes both the heading and table body cells.
As shown in the second table below, use of outside borders and neat alignment of the cells do not effect the display. Markup within the table cells is supported.
Markup:
Result:
Tables | Are | Very | Cool |
---|---|---|---|
col 2 is | centered | $12 | Gloves |
col 3 is | right-aligned | $1600 | Necklace |
col 4 is | left-aligned | $100 | Hat |
Tables | Are | Very | Cool |
---|---|---|---|
col 2 is | centered | $12 | Gloves |
col 3 is | right-aligned | $1600 | Necklace |
col 4 is | left-aligned | $100 | Hat |
Fenced Code
A second way to display a block of preformatted code is to 'fence' the code with lines starting with three tilde (~) or backtick (`) characters.
Markup:
Result:
Syntax Highlighting of Preformatted Code
To highlight code syntax, wrap the code in triple backtick (`) or tilde (~) characters and specify the language on the first line. Many languages are supported.
Markup:

Result:
Smart Strong
The smart strong extension prevents words with embedded double underscores from being converted. e.g.double__underscore__words
is wanted, not double
underscorewords
.
Markup:
Result:

Text with double__underscore__words.
Strong still works.
this__works__too.
Attribute Lists
Attribute lists can be used to define various attributes onto the HTML elements created when a Markdown document is rendered. The general form of an attribute list:
Prepend a # character to a name that defines an ID that can be used in a link. Prepend a . character to a name that will define a class used to style the element. Or, use the somekey='some value' form to define any attribute. The two lines below do the same thing:
{: .orange .green }
{: class='orange green' }
Attribute lists may be either inline or block. Inline attribute lists are defined immediately after the target element. Block attribute lists are defined on a separate line below the block element. Heading lines are an exception in that they are treated as inline elements.
Markup:
Result:
orange heading
Markup Language Or Markdown
A class of green isadded to this paragraph.
A {: #para3 }
id was added to the 3rd paragraph on this page, so click to see 3rd paragraph.
Definition Lists
Markup:
Result:
- Apple
- Pomaceous fruit of plants of the genus Malus in the family Rosaceae.
- An american computer company.
- Orange
- The fruit of an evergreen tree of the genus Citrus.
Footnotes
The syntax for footnotes in Markdown is rather unique. Place any unique label after the characters '[^' and close the label with a ']'. The footnote text may be placed after the reference on a new line using the label, followed by a ':', followed by the footnote text. All footnotes are placed at the bottom of the document under a horizontal rule in the order defined.
Markup:
Result:
Footnotes1 have a label2 and a definition3.

This is a footnote ↩
A footnote on 'label' ↩
The footnote for definition ↩
Released:
Python implementation of Markdown.
Project description
This is a Python implementation of John Gruber's Markdown.It is almost completely compliant with the reference implementation,though there are a few known issues. See Features for informationon what exactly is supported and what is not. Additional features aresupported by the Available Extensions.
Documentation
For more advanced installation and usage documentation, see the docs/
directoryof the distribution or the project website at https://Python-Markdown.github.io/.
See the change log at https://Python-Markdown.github.io/change_log.
Support
You may report bugs, ask for help, and discuss various other issues on the bug tracker.
Code of Conduct
Everyone interacting in the Python-Markdown project's codebases, issue trackers,and mailing lists is expected to follow the Code of Conduct.
Release historyRelease notifications | RSS feed
3.3.4

3.3.3
3.3.2
3.3.1
3.3
3.2.2
3.2.1
3.2
3.1.1
3.1
3.0.1
3.0
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6
2.5.2
2.5.1
2.5
2.4.1
2.4
2.3.1
2.3
2.2.1
2.2.0
2.1.1
2.1.0
2.0.3
2.0.2
Markup E Markdown Online
2.0.1
2.0
Markup Markdown Finra
1.7
1.6
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size Markdown-3.3.4-py3-none-any.whl (97.6 kB) | File type Wheel | Python version py3 | Upload date | Hashes |
Filename, size Markdown-3.3.4.tar.gz (322.2 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for Markdown-3.3.4-py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | 96c3ba1261de2f7547b46a00ea8463832c921d3f9d6aba3f255a6f71386db20c |
MD5 | 99de91534b8df789312a16ebcb18813e |
BLAKE2-256 | 6e331ae0f71395e618d6140fbbc9587cc3156591f748226075e0f7d6f9176522 |
Hashes for Markdown-3.3.4.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | 31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49 |
MD5 | b6833c6326e9164ee0c662218a75e7f0 |
BLAKE2-256 | 490237bd82ae255bb4dfef97a4b32d95906187b7a7a74970761fca1360c4ba22 |
