Markdown is a lightweight and easy-to-use syntax for styling all forms of writing on the GitHub platform.
Search: Clueless Google Docs. Copying from Google Docs to WordPress results in all sorts of formatting issues. Check out these 7 tricks to retain formatting and speed up your workflow. The Docs to Markdown add-on lets people collaborate and edit a Google Doc, as usual, then convert the Doc to Markdown or HTML. With this approach, people do not need to know Markdown to edit. The conversion process does work a bit better when people properly apply paragraph and text styles in.
What you will learn:
- How the Markdown format makes styled collaborative editing easy
- How Markdown differs from traditional formatting approaches
- How to use Markdown to format text
- How to leverage GitHub’s automatic Markdown rendering
- How to apply GitHub’s unique Markdown extensions
What is Markdown?
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 just regular text with a few non-alphabetic characters thrown in, like # or *.
You can use Markdown most places around GitHub:
- Comments in Issues and Pull Requests
- Files with the
.mdor.markdownextension
For more information, see “Writing on GitHub” in the GitHub Help.
Examples
Syntax guide
Here’s an overview of Markdown syntax that you can use anywhere on GitHub.com or in your own text files.
Headers
Emphasis
Lists
Unordered
Ordered
Images
Links
Blockquotes
Inline code
GitHub Flavored Markdown
GitHub.com uses its own version of the Markdown syntax that provides an additional set of useful features, many of which make it easier to work with content on GitHub.com.
Note that some features of GitHub Flavored Markdown are only available in the descriptions and comments of Issues and Pull Requests. These include @mentions as well as references to SHA-1 hashes, Issues, and Pull Requests. Task Lists are also available in Gist comments and in Gist Markdown files.
Syntax highlighting
Here’s an example of how you can use syntax highlighting with GitHub Flavored Markdown:
You can also simply indent your code by four spaces:

Free video converter ultimate. Here’s an example of Python code without syntax highlighting:
Task Lists
If you include a task list in the first comment of an Issue, you will get a handy progress indicator in your issue list. It also works in Pull Requests!
Tables
You can create tables by assembling a list of words and dividing them with hyphens - (for the first row), and then separating each column with a pipe |:
Would become:
| First Header | Second Header |
|---|---|
| Content from cell 1 | Content from cell 2 |
| Content in the first column | Content in the second column |
SHA references
Any reference to a commit’s SHA-1 hash will be automatically converted into a link to that commit on GitHub.

Issue references within a repository
Any number that refers to an Issue or Pull Request will be automatically converted into a link.
Username @mentions

Typing an @ symbol, followed by a username, will notify that person to come and view the comment. This is called an “@mention”, because you’re mentioning the individual. You can also @mention teams within an organization.

Automatic linking for URLs
Any URL (like http://www.github.com/) will be automatically converted into a clickable link.
Strikethrough
Google Drive
Any word wrapped with two tildes (like ~~this~~) will appear crossed out.
Emoji
Markdown Sync Google Docs
GitHub supports emoji!

To see a list of every image we support, check out the Emoji Cheat Sheet.
Last updated Jan 15, 2014
Note
The documentation for this module is an excerpt of the documentation available on the markdown2 project page on GitHub. Minor edits have been made to make the documentation fit on one page and to remove passages that are not relevant on iOS. Also, only a summary of available extras is included here, for more information on individual extras, please refer to the project page wiki.
Markdown is a light text markup format and a processor to convert that to HTML. The originator describes it as follows:
“Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).”
– http://daringfireball.net/projects/markdown/ Noizio.
This (markdown2) is a fast and complete Python implementation of Markdown. It was written to closely match the behaviour of the original Perl-implemented Markdown.pl. markdown2 also comes with a number of extensions (called “extras”) for things like syntax coloring, tables, header-ids. See the “Extras” section below.
Quick usage:
Extras¶
By default markdown2‘s processing attempts to produce output exactly as defined by http://daringfireball.net/projects/markdown/syntax – the “Markdown core.” However, a few optional extras are also provided.
Implemented Extras¶
- code-friendly: Disable _ and __ for em and strong.
- code-color: (DEPRECATED Use fenced-code-blocks extra instead.) Pygments-based syntax coloring of <code> sections.
- cuddled-lists: Allow lists to be cuddled to the preceding paragraph.
- fenced-code-blocks: Allows a code block to not have to be indented by fencing it with ‘```‘ on a line before and after. Based on http://github.github.com/github-flavored-markdown/ with support for syntax highlighting.
- footnotes: support footnotes as in use on daringfireball.net and implemented in other Markdown processors (tho not in Markdown.pl v1.0.1).
- header-ids: Adds “id” attributes to headers. The id value is a slug of the header text.
- html-classes: Takes a dict mapping html tag names (lowercase) to a string to use for a “class” tag attribute. Currently only supports “pre” and “code” tags. Add an issue if you require this for other tags.
- link-patterns: Auto-link given regex patterns in text (e.g. bug number references, revision number references).
- markdown-in-html: Allow the use of markdown=”1” in a block HTML tag to have markdown processing be done on its contents. Similar to http://michelf.com/projects/php-markdown/extra/#markdown-attr but with some limitations.
- metadata: Extract metadata from a leading ‘—’-fenced block.
- nofollow: Add rel=”nofollow” to add <a> tags with an href. See http://en.wikipedia.org/wiki/Nofollow.
- pyshell: Treats unindented Python interactive shell sessions as <code> blocks.
- smarty-pants: Fancy quote, em-dash and ellipsis handling similar to http://daringfireball.net/projects/smartypants/. See old issue 42 for discussion.
- toc: The returned HTML string gets a new “toc_html” attribute which is a Table of Contents for the document. (experimental)
- wiki-tables: Google Code Wiki table syntax support.
- xml: Passes one-liner processing instructions and namespaced XML tags.
How to turn on extras¶
Extras are all off by default and turned on as follows:
(New in v1.0.1.2) You can also now specify extras via the “markdown-extras” emacs-style local variable in the markdown text:
Functions¶
Convert the markdown-formatted text to html with the given options.
Google Drive Markdown
Same as markdown(), but use the text in a given file as input.
