MemoWiki lets you ‘mark up’ text using a series of fairly simple
notations which are based on those used for
Wikipedia », together
with some extensions for ‘proper’ quotes, some common symbols, dashes,
accents, open lists, and so on. The markup is either
structural
or
inline.
Structural markup is indicated by the first character of a
line being non-alphanumeric, and describes structural elements of
the page, such as paragraphs, lists, and sections.
Inline markup can be used anywhere there is text content, and
causes changes of font, inserts special characters or symbols, or
indicates a link.
Links (described on their own page) are inline markup
within square [ ] brackets that refer to another page, a reference,
an image, a GPS location, a file, a World Wide Web page, or a data
item.
Structural markup, as used in Wikipedia (must start a line):
empty line Paragraph
== title == Major heading (no tags or links in title)
=== title === Sub-heading
==== title ==== Sub-sub-heading
---- Horizontal rule
text (at least one blank at start) monospaced 'code' line
* unordered (bulleted) list item
** (nested)
# ordered (numbered) list item
### (nested)
; term : item definition list term/item; the : may start new line
#** *;# etc. (nested mixed lists)
these compact lists are ended by a blank line
:, ::, etc. indented paragraph (except after ; term)
{| params table start (params optional)
! content bold cell (th)
| content normal cell (td)
| cell1 || cell2 multiple cells on same line (use !! for bold centred)
| params | cell cell with parameters (also OK for same-line cells)
|- params new row (params optional); optional for first row
|- params | key new row (params optional) with key cell (e.g., date)
|+ caption caption (must start table)
|+ params|cap caption with parameters
|} end table
Inline markup, as used in Wikipedia (only recognised outside code
lines):
"phrase" double-quoted phrase
'phrase' quoted phrase
''phrase'' italic phrase
'''phrase''' bold phrase
'''''phrase''''' bold italic phrase
~~~ authorname
~~~~ authorname + date/time
~~~~~ date/time
[URL | content] <a href="URL">content</a>
If no content then content=URL
Notes for stand-alone processing:
1. If first word contains an embedded colon
it is assumed to be a URL and the | is
optional (Wikipedia- and Speleogroup-
compatible)
2. Content may be followed by "| options"
3. Content is optional, is used for rendering
instead of the URL.
4. No embedded <tags> are allowed in content,
but wiki inline shorthand is OK.
[[name|content]] Wikipedia article reference, with optional |content
<nowiki> ... pass through without Wiki processing; HTML markup
... </nowiki> (including tags and HTML's &symbols;) will be processed
Square-bracket notations are described in detail on the Links page.
Below here are additional markups supported by MemoWiki (MFC additions):
Structural markup (must start a line):
/ text break
// text (nested/indented)
> text overhanging break
>> text (nested/indented)
) text comment (line is ignored)
)) text ephemeral comment (will be removed when next edited)
List & paragraph marks may repeat to 3 characters, e.g., ///.
Open lists (which may be mixed with compact lists). First item (which
may be empty) has + following the list indicator (single or nested);
the list is then not terminated by an empty line, but instead is
terminated by a matching indicator with + with no item text (or by a
shorter list indicator, as usual).
Example:
*+ This is the first item.
Second paragraph of the first item.
* Second item.
*+ <!-- end of list marker; not an item. -->
A list may also have a '-' modifier on its first item; this requests
a compact list (useful on definition lists).
Inline markup (only recognised outside code lines):
--- em dash
-- en dash
_ required/non-breaking space ( )
~_ ~& underscore, ampersand (~& only needed if no space after &)
~~ ~ tilde
~? ~! inverted question mark, inverted exclamation mark
~' ~" apostrophe (only needed for leading apostrophe), "
~. middle dot
~= approximately equal
~*, ~/, ~- multiply, divide, minus
~+, ~# dagger, double dagger
~[, ~], ~<, ~> [, ], <, >
~{, ~} {, }
->, >= right arrow, ge
<-, <= left arrow, le
<-> double arrow
it's embedded ' becomes apostrophe
""phrase"" typewriter font phrase
"""phrase""" sans serif font phrase
foo^phrase foo<sup>phrase</sup> (must end in blank, which is
removed unless followed by alphanumeric)
foo^^phrase foo<sub>phrase</sub> (same rules)
[name | content] link to a page, reference, or data item
[name |cap|...] link to an image
[*||gps ...] link to a GPS location
[/topic/page|...] link to page in different topic
[//asis|...] MemoWiki URL selector/action used as-is
[@ mark|content] Mark: <a name="mark">content</a>
[# mark|content] Link to mark: <a href="#mark">content</a>
(the blank after @ or # is optional)
<!ENTITY name "data"> set custom entity (name must start with alphabetic)
The [...] notations are described in detail on the Links page.
Special sequences, including &aaa; entities provided by wiki2html
(rather than processed by the browser):
&lsq; &rsq; [ ]
&etc; etc. ''etc.''
&cf; cf. ''cf.''
⪚ e.g. ''e.g.''
&ie; i.e. ''i.e.''
&qv; q.v. ''q.v.''
&vs; vs. ''vs.''
&min; &ft; ' prime
&sec; ∈ " prime
&u; µ
&ts; &zw; thin space, zero-width space
Accented characters (mostly from the Latin-1 set):
~c! Accented character, where:
c=upper or lowercase aeiou
!=accent to apply, one of:
' ` ^ :
[acute, grave, circumflex, umlaut]
or one of the following:
~AE ~ae AEligature aeligature
~A~ ~a~ ~Ao ~ao Atilde atilde Aring aring
~A: ~a: Auml auml
~Cc ~cc ~E: ~e: Ccedilla ccedilla Euml euml
~I: ~i: ~N~ ~n~ Iuml iuml Ntilde ntilde
~O/ ~o/ ~O~ ~o~ Oslash oslash Otilde otilde
~O: ~o: ~OE ~oe Ouml ouml OEligature oeligature
~U: ~u: Uuml uuml
~Y' ~y' ~Y: ~y: Yacute yacute Yumlaut yumlaut
~ET ~et ~TH ~th ETH eth THORN thorn
for other accented characters, use HTML entities; e.g., ř
for ř.
Notes:
- Text within code lines (lines starting with a blank) is untouched,
except that &, <, and > characters are protected.
- HTML markup may be used at will, but is not processed in any way
or checked. You must ensure the HTML is correct and complete; if
you are not comfortable with HTML, use only MemoWiki markup.
- Table markup is extended from Wikipedia in the following ways:
- Multiple cells on same line may start with double | or !, e.g.:
|| cell1 || cell2
- The markup ‘|- params | key’ or ‘|-|key’ starts a new row
and also provides its first cell, which is a key that lets the row
be referred to from the current, or another, page. For example,
if the key was 20.06.2005 on the page test it could be referred
to using the markup [test#20.06.2005|2005].
- colspan and rowspan may be abbreviated to c or r
respectively.
- Numbers, in which commas are ignored, (or base 60 numbers hh:mm
or mm:ss) in table cells are added to the column totals (initially
zero) for all columns crossed. A cell with content solely #
has that content replaced by the sum of all columns spanned by this
cell (with colon and base 60 used if any cell counted had a colon).
A cell with content solely ## similarly shows the subtotal (sum
since the last ##). Use ~# to avoid the substitution.
If base 60 numbers are used they must all have the same units (e.g.,
the number after the colon must represent seconds or minutes always,
and any number without a colon must be in the same smallest units);
also fractions in the totals are truncated.
- align=auto may be used on a row start (|-) and means that
‘numeric’ (including base 60 and totals) cells will be right-aligned.
- align= (including auto) and valign= may be specified
on table start ({|) and will be copied to all rows.
MemoWiki markup is implemented by the wiki2html Rexx »
program.