Intro
This lightweight syntax is subject to change, perhaps to more fully align it with
Markdown. (Also see
Is HTML a Humane Markup Language?.)
Lists
- bulleted
1. numbered
a. lettered
Nest lists by indenting two spaces at a time; different types of lists can be nested inside of each other.
Hyperlinks
Hyperlinks matching the regular expression below get auto-linked.
Hyperlinks may be included as footnotes:
"reference them like this"[1]
[1] http://example.com?q=declare_them_like_this
- zero or more whitespace chars between the
] and the start of the protocol
- footnotes declarations must follow the reference(s)
- the earliest matching declaration found below the reference is used
To link from item to item, do
[[whatever]],
[[12:test]], or
[[whatever/12:ooh]]. The
:foo portion is optional, and will display as the anchor text if specified. (Maybe the number-only version gets auto-converted to name/number when the item is saved.) No existence check is made.
Bold, italics, strikethrough
--strikethrough-- ->
strikethrough
*bold* ->
bold
_italics_ ->
italics
Headings
1-6
= can be used at the beginning of a line to wrap it in
<h6>-
<h1>, respectively. (
discussion)
Line break magic
If there are 2+ blank lines before/after a bullet or
{{}}, one of them is removed (so the plaintext can be separated but the rendered text doesn't look all spaced out).
Monospacing (for code)
{{code}} renders
<pre>; The text within has tabs intelligently turned into <= 4 spaces upon rendering. If any line is longer than 80 characters, the width of the
<pre> is explicitly set.
Preceding a line inside
{{}} with
! will cause that line to be highlit, excluding leading and trailing whitespace.
`code` renders as
<code> unless the first ` is written as \` (single line only)
Escaping
Preceding
[[,
{{, and any other special characters with
\ prevents them from being parsed.
Quoting
This is quoted text.
This is quoted text starting with !.
^[ ]*".+?"[ ]*$ -> <blockquote>
"! gets rendered with a red bar instead of a gray one — this is good for documenting error messages, like
these three
Other
"
-- " ->
— ( — ) if outside of
{{}} (note the surrounding spaces)
Footnotes
Hyperlink regex:
\b
[a-zA-Z]+:// # protocol
(?:
(?<p>\() # [track] open parentheses
|
[\w#~@#$%&\-+=/?.,:;!'*] # valid URL characters (excluding parens)
|
(?(p) # allow one close paren for each open
(?<-p>\)) # see balanced constructs with .NET Regex
)
)+
(?<![.,:;!]) # last character cannot be punctuation