Unordered lists:
This is a bullet point.
This is a sub bullet point.
This is another bullet point.
Ordered lists:
This is an ordered list
With a second element.
And a forty-fourth element.
Remember, Markdown doesn’t care which number you use.
List items with bold and italic:
This is a list item in italics, just a test.
List item in italics.
This is a list item in bold, just a test.
List item in bold.
Bold and italic phrases at the beginning of lines:
not a list also not a list
this is a test of the blockquote mechanism
Contributed by Ryan Barrett on 2007-07-02
thanks! the new version 1.4 works great. very cool.
i did notice a minor bug. if there are two inline links in the same line, e.g. baz , it colors the text between the links (baz) as well.
i’m guessing this is because the inline link regexp is greedy. if you switch it to non-greedy - if elisp can do that - or to something like ‘[And this is a valid reference definition!]+]’ if not, that might do the trick.
Contributed by Conal Elliott on 2007-08-27
By the way, here are two syntax-highlighting glitches I’ve seen so far:
foo and doo or ziddle zop Oh – what’s happening here?
Why doesn’t the bold part get picked up? ziddle zop or foo and doo
Contributed by Alastair Rankine on 2007-09-10
Thanks for this, I have been waiting for an emacs markdown mode for ages!
One minor quibble is in the highlighting of inline links. As currently (1.4) implemented the presence of a close paren on the same line as an inline link will highlight the link and the subsequent text:
[blah](this bit will be highlighted) and so (will this bit)
I think this is because of greedy regexes. Here is a simple patch to address.
Here’s a [link] with a space between the components.
Single backtick code fragments as well as double`backtick fragments are
supported.
This is a _ single underscore and a * single asterisk. They should not trigger font locking.
Neither should a double **asterisk and double__ underscore!
To make lists look nice, you can wrap items with hanging indents:
* 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.
bold phrase spanning two lines asdf same line test
italic phrase spanning two lines italic same line test
This document was created in GNU Emacs using . It provides syntax highlighting for Markdown Homepage documents which allows reference-style links like these. The reference definitions can even contain alternate text such as Alternate Text.
ab *literal asterisks* asdf inside * literal asterisks asd lkj
ab *this should be italic* yz
ab *this should be italic* yz
ab *this should be italic* yz
ab *this should be italic* yz
a single a bold letter and bold word test asdf
a single a italic letter and italic word test asdf
a single a bold letter and bold word test asdf
a single a italic letter italic word test asdf
An exclamation mark: !;
followed by a set of square brackets, containing the alt
attribute text for the image;
Here’s an example of reference links in action:
This document was created in GNU Emacs using [markdown-mode][]. It provides syntax highlighting for [Markdown][] documents which allows reference-style links like these. The reference definitions can even contain alternate text such as [this one][id]. [markdown-mode]: http://jrblevin.freeshell.org/software/markdown-mode [Markdown]: http://daringfireball.net/projects/markdown [id]: http://reference-link.com/with/alt "Alternate Text"
svn commit -m "Imported RCS project" svn add image.png binaries/* svn commit -m "Imported additional project files"
This text gets counted as part of the block quote too. But it can be ended
by a star-slash: */ It is as if markdown-mode is using C++ style comments.
Fixed by commit d81138d.
Contributed by shindo on 2008-01-20
get_something_by_name()
Escaped backticks: `not code`
Escaped underscores: don’t_italicize_this
Escaped asterisks: *also not italic*
Escaped hash marks:
# This is not a heading
[[Two]] [[WikiLinks]] [[InARow]]
This is a test of “SmartyPants,” a progrm written by John Gruber for generating typographically correct HTML entities–ones such as the em-dash and ellipsis…
Asterisks *should
not match across* block boundaries.
Underscores _should
not match across_ block boundaries.
Double Asterisks **should
not match across** block boundaries.
Double underscores __should
not match across__ block boundaries.
But, this should still match.
So should this.
Addressed by commit d81138d.
Code fragments can_have_underscores_inside_like this.
Markdown allows code fragments to span across lines.
Let’s make sure that double` backtick`code fragments work
this way too.
However, they should `not
match` across blocks.
Here’s another valid one.
List level 1 item 1
List level 1 item 2
This is a second paragraph, part of item 2.
This nested pre block should match So should this
Now we move back to the list.
List level 1 item 3
List level 2 item 1
Nested pre block
List level 2 item 2
List level 3 item 1
Nested pre block
[[AnotherLink]]:note
Contributed by Luciano Gerber on April 4, 2012.
It is interesting to see what happens when one queries
social upheaval and protopalatial era.
social upheaval: the following queries have been tried:
social upheaval subClassOf
The preceding text should not be matched as a preformatted block.
This is a footnote marker,[^1] but this is not.And this is a valid reference definition!
This is a valid markdown link: And this is a valid reference definition!
class Employee < ActiveRecord::Base attr_accessible :github_username, :name def self.syncify! begin employee_sync = GitOrganized::GithubEmployeeSync.new( GitOrganized::Organization.new( GitOrganized.config.default_org, ["employees-pull", "employees-push"] ), Sources.new ) employee_sync.sync rescue Github::Error::ServiceError => e retry end end after_save do |employee| Employee.syncify! end after_destroy do |employee| Employee.syncify! end end
Fenced code blocks begin with three or more tildes and end with a line with at least as many tildes.
program hello implicit none print '(a)', 'Hello, world!' end program hello
They may also have a lang attribute.
program hello implicit none print '(a)', 'Hello, world!' end program hello
In Kramdown, one specifies the language identifier as follows:
program hello implicit none print '(a)', 'Hello, world!' end program hello
or with a Maruku-style inline attribute list
program hello implicit none print '(a)', 'Hello, world!' end program hello
{: .language-fortran}