Markdown kitchen sink
The kramdown GFM parser README
includes:
By default, Jekyll uses the GitHub Flavored Markdown (GFM) processor for kramdown. At the moment this parser is based on the kramdown parser, with the following changes:
- Support for fenced code blocks using three or more backticks has been added.
- Hard line breaks in paragraphs are enforced by default (see option hard_wrap).
- ATX headers need a whitespace character after the hash signs.
- Strikethroughs can be created using two tildes surrounding a piece of text.
- Blank lines between paragraphs and other block elements are not needed by default.
- Render emojis used at GitHub.
See also the kramdown documentation.
The following button toggles between the light
and dark
schemes on this page:
Text can be bold, italic, or strikethrough.
There should be whitespace between paragraphs.
There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project.
Header 1
This is a normal paragraph following a header. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
Header 2
This is a blockquote following a header.
When something is important enough, you do it even if the odds are not in your favor.
Header 3
// Javascript code with syntax highlighting.
var fun = function lang(l) {
dateformat.i18n = require('./lang/' + l)
return true;
}
# Ruby code with syntax highlighting
GitHubPages::Dependencies.gems.each do |gem, version|
s.add_dependency(gem, "= #{version}")
end
Header 4 with code not transformed
- This is an unordered list following a header.
- This is an unordered list following a header.
- This is an unordered list following a header.
Header 5
- This is an ordered list following a header.
- This is an ordered list following a header.
- This is an ordered list following a header.
Header 6
This is a very long link which wraps and therefore doesn’t overflow even when it comes at the beginning of the line.
head1 | head two | three |
---|---|---|
ok | good swedish fish | nice |
out of stock | good and plenty | nice |
ok | good oreos |
hmm |
ok | good zoute drop |
yumm |
There’s a horizontal rule below this.
Here is an unordered list:
- Item foo
- Item bar
- Item baz
- Item zip
And an ordered list:
- Item one
- Item two
- Item three
- Item four
And an ordered list, continued:
- Item one
- Item two
Some text
- Item three
- Item four
And an ordered list starting from 42:
- Item 42
- Item 43
- Item 44
And a nested list:
- level 1 item
- level 2 item
- level 2 item
- level 3 item
- level 3 item
- level 1 item
- level 2 item
- level 2 item
- level 2 item
- level 1 item
- level 2 item
- level 2 item
- level 1 item
Nesting an ol in ul in an ol
- level 1 item (ul)
- level 2 item (ol)
- level 2 item (ol)
- level 3 item (ul)
- level 3 item (ul)
- level 1 item (ul)
- level 2 item (ol)
- level 2 item (ol)
- level 3 item (ul)
- level 3 item (ul)
- level 4 item (ol)
- level 4 item (ol)
- level 3 item (ul)
- level 3 item (ul)
- level 1 item (ul)
And a task list
- Hello, this is a TODO item
- Hello, this is another TODO item
- Goodbye, this item is done
Nesting task lists
- level 1 item (task)
- level 2 item (task)
- level 2 item (task)
- level 1 item (task)
- level 1 item (task)
Nesting a ul in a task list
- level 1 item (task)
- level 2 item (ul)
- level 2 item (ul)
- level 1 item (task)
- level 1 item (task)
Nesting a task list in a ul
- level 1 item (ul)
- level 2 item (task)
- level 2 item (task)
- level 1 item (ul)
- level 1 item (ul)
Small image
Large image
“Wroclaw University Library digitizing rare archival texts” by j_cadmus is marked with CC BY 2.0.
Labels
I’m a label
blue
green
purple
yellow
red
bold
italic
bold + italic
Definition lists can be used with HTML syntax.
- Name
- Godzilla
- Born
- 1952
- Birthplace
- Japan
- Color
- Green
Multiple description terms and values
- Term
- Brief description of Term
- Longer Term
- Longer description of Term, possibly more than one line
- A longer term that requires a line break
- Longer description of Term, possibly more than one line
- Term
- First description of Term, possibly more than one line
-
Second description of Term, possibly more than one line
- Term1
- Term2
- Single description of Term1 and Term2, possibly more than one line
- Term1
- Term2
- First description of Term1 and Term2, possibly more than one line
-
Second description of Term1 and Term2, possibly more than one line
More code
def dump_args(func):
"This decorator dumps out the arguments passed to a function before calling it"
argnames = func.func_code.co_varnames[:func.func_code.co_argcount]
fname = func.func_name
def echo_func(*args,**kwargs):
print fname, ":", ', '.join(
'%s=%r' % entry
for entry in zip(argnames,args) + kwargs.items())
return func(*args, **kwargs)
return echo_func
@dump_args
def f1(a,b,c):
print a + b + c
f1(1, 2, 3)
def precondition(precondition, use_conditions=DEFAULT_ON):
return conditions(precondition, None, use_conditions)
def postcondition(postcondition, use_conditions=DEFAULT_ON):
return conditions(None, postcondition, use_conditions)
class conditions(object):
__slots__ = ('__precondition', '__postcondition')
def __init__(self, pre, post, use_conditions=DEFAULT_ON):
if not use_conditions:
pre, post = None, None
self.__precondition = pre
self.__postcondition = post
Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
The final element.