Wiki Formatting

The Faithlife Wiki is built on EdgeWiki.

The simplest Wiki document is just a list of paragraphs; the mechanism for creating paragraphs and more interesting textual constructs are described in the following sections.

Rationale

The syntax for EdgeWiki was designed to support copy and paste from anywhere. A primary goal was therefore that the Wiki syntax would be unlikely to appear in existing documents when pasted as text into a Wiki page. Also, in many other Wiki formats, a newline is treated as a simple space, which can cause paragraph boundaries to disappear when text is copied from a Word processor. Thus a newline in EdgeWiki always starts a new line in the Wiki page as well.

Like the Wiki syntax used by Wikipedia, all links in EdgeWiki are intentional; traditional automatic WikiLinks are not supported. The advantages and disadvantages of these approaches are discussed at length elsewhere.

The syntax for EdgeWiki is hopefully easy to understand, even for users that are not familiar with HTML or other similar specifications for formatted text.

The EdgeWiki syntax should also be powerful enough to express most of the constructs in HTML, and should hopefully be usable even for large projects like books. An extension mechanism should allow other applications to add features to the syntax for their own purposes.

Specifically, the EdgeWiki syntax is designed to provide feature parity with XHTML 1.0 Strict as closely as possible.

Paragraphs

Paragraphs are the easiest element to create in a Wiki document. Any consecutive lines of text that aren’t recognized as being headings, lists, etc., are treated as a single paragraph.

This is a simple paragraph.

This is a simple paragraph.

Blank lines split the text into multiple paragraphs.

This is the first paragraph.

This is the second paragraph.

This is the first paragraph.

This is the second paragraph.

Unlike most wiki engines, line breaks within a single paragraph are not ignored, but are displayed as separate lines in the same paragraph. (It is thus useful to turn on “word wrapping” when editing a Wiki document with a text editor.)

Also, leading spaces can be used for simple indentation; they do not cause any special formatting, nor are they ignored.

This is the first paragraph.
It has a line break.
   The third line is indented.

This is the second paragraph.

This is the first paragraph.
It has a line break.
   The third line is indented.

This is the second paragraph.

A new paragraph can be explicitly started on any line with a leading backslash (\) followed by a space. This can be used to avoid the blank line between paragraphs, or to add special attributes to the paragraph.

This is the first paragraph.
\ This is the second paragraph.

This is the first paragraph.

This is the second paragraph.

Blockquotes

Blockquotes are specified as a section with the ” character.

{{{"
"Profound thought."
}}}

“Profound thought.”

Headings

Headings provide a title to the text that follows.

Headings also have special meaning in Wiki documents; the first heading is automatically used as the title of the document (unless the special Title property is used).

To create a heading, start a line of text with one or more exclamation points (!) followed by a space.

!!! This is a heading.

This is a heading.

The more exclamation points, the less important the heading.

! Primary Heading
!! Secondary Heading
!!! Tertiary Heading
!!!! Quaternary Heading
!!!!! Quinary Heading
!!!!!! Senary Heading
!!!!!!! Septenary Heading
etc.

Primary Heading

Secondary Heading

Tertiary Heading

Quaternary Heading

Quinary Heading
Senary Heading
Septenary Heading

etc.

Lists

Lists are used to represent lists of information. Lists can be unordered (bulleted) or ordered (numbered). Definition lists are also supported.

Bulleted

To create a bulleted list, start each line of text with an asterisk (*) followed by a space.

* one
* two
* three
  • one
  • two
  • three

Numbered

To create a numbered list, start each line of text with a “number sign” (#), a period (.), and a space.

#. one
#. two
#. three
  1. one
  2. two
  3. three

Nesting

Lists can be nested by indenting lines with spaces. Make sure that lines that should be part of the same list have the same indentation.

#. one
#. two
  * inner
  * list
#. three
  1. one
  2. two
    • inner
    • list
  3. three

Definition

Definition lists are also supported. Start the line with a semicolon (;) and separate the term from the definition with a colon with spacing around it (:).

; BASIC : Beginner's All-purpose Symbolic Instruction Code
; COBOL : COmmon Business-Oriented Language
BASIC
Beginner’s All-purpose Symbolic Instruction Code
COBOL
COmmon Business-Oriented Language

Definition lists cannot currently be nested.

Hyperlinks are used to provide links from the Wiki document to other documents, Web sites, etc.

Automatic

Hyperlinks are created automatically when URLs and e-mail addresses are found in the Wiki text.

If you can't access http://www.example.com/, send an e-mail to webmaster@example.com.

If you can’t access http://www.example.com/, send an e-mail to webmaster@example.com.

To link to another wiki page in this same wiki, type the name of the wiki page surrounded by two left square brackets ([[) on the left and two right square brackets (]]) on the right. If the text between the brackets matches the title of another wiki document, the text automatically becomes a link to that document. If there is no matching title, the linked text turns grey and links to page where you can create a page with the title in brackets.

[[Wiki Formatting]] is linked to from the [[Wiki Help]] page.

Wiki Formatting is linked to from the Wiki Help page.

So what if you’d rather not include the URL in the text of your wiki page, but instead link specific text? You can use a targeted link. First, type the same two left brackets from the other links: ([[) Then, type the text you want to link, and two greater-than signs (>>) with a space on either side. Finally, type the URL or the name of the Wiki page you want to link to followed by two right brackets (]]). The text to the left of the greater-than signs is the text of the hyperlink; the text to the right of the greater-than signs is the target of the hyperlink.

[[This wiki formatting page >> Wiki Formatting]] is based on [[Edge Wiki Formatting >> http://www.edgewiki.com/?Wiki+Formatting]].

Identifiers are generally used to provide a special destination for hyperlinks, such as an anchor link to a specific part of a page.

To specify an identifier, use a “number sign” (#) followed by the identifier. An identifier should only be used once per Wiki page.

\#link_here Link to [[this paragraph >> # link_here]].

To target a specific Heading or identifier in the target document, include the name of the heading or identifier after a #.

You can learn more about [[ Anchor links >> Wiki Formatting # Anchor links]].

You can learn more about Anchor links.

To target a heading or identifier in the same document, omit everything before the #.

Remember [[automatic >> # Automatic]] hyperlinks?

Remember automatic hyperlinks?

Emphasis

The Wiki syntax allows you to “emphasize” text in various ways.

Italics

To apply italics to text, place a slash (/) immediately before and after the text.

Normal emphasis is generally rendered with /italics/.

Normal emphasis is generally rendered with italics.

This mechanism for applying emphasis to text only works when the first character to be emphasized is at the beginning of the line, or immediately follows a space or starting punctuation (like an open parenthesis). (Also, the first character to be emphasized must not be a space, and must not be the same character as the special character being used to delimit the emphasized text.) Segments can be used to emphasize the text in these special cases.

Partial-word-/emphasis/ doesn't work but partial-word-{{/ segments}} do.

Partial-word-/emphasis/ doesn’t work but partial-word-segments do.

Bold

To apply bold to text, place an asterisk (*) immediately before and after the text.

Strong emphasis is generally rendered as *bold text*.

Strong emphasis is generally rendered as bold text.

Underlines

To appropriately “emphasize” book titles, etc., place an underscore (_) immediately before and after the text.

Have you actually read _War and Peace_?

Have you actually read War and Peace?

Code Fragments

To “emphasize” code fragments or other technical text, place a percent sign (%) immediately before and after the text.

The Windows directory is often at %C:\Windows%.

The Windows directory is often at C:\Windows.

Sections

Sections are multiple lines of text marked by three curly braces ({{{) on the lines above and below the text. They can be normal sections, or code sections, simply by escaping formatting in the entire section:

Turning Formatting Off (“Escape Formatting”)

What if you want to show the actual ~*, ~/, ~% or ~{{ characters, like in a wiki page demonstrating proper format?
Put a tilde (~~) before the character(s) you want to expose.

What if you want to show the actual *, /, % or {{ characters, like in a wiki page demonstrating proper format?
Put a tilde (~) before the character(s) you want to expose.

Segments

Segments are used to mark arbitrary streams of text, like parts of words and sentences, marked by two curly braces ({{) on either side of the selected text.

When we want to style a part of a sentence with emphases like bold or italics, we wrap the text in a particular character, like * or /. However, this mechanism for applying emphasis to text only works when the first character in the selection is the first letter, symbol, or number in a paragraph or immediately follows a space or starting punctuation (like an open parenthesis). In other words, you can’t start italics or bold in the middle of a word using the normal * or /. Instead, you need to break that part of the word out separately using Segments.

First, wrap the segment of the word in two curly braces on either side: {{segment}}.
Then, add the proper character to reflect the emphasis you want, like * or /, followed by a space.

Partial-word-/emphasis/ doesn't work without curly braces, but but partial-word-{{/ segments}} with curly braces work just fine.

Partial-word-/emphasis/ doesn’t work without curly braces, but but partial-word-segments with curly braces work just fine.

Normal Segments

Normal segments are any segment that isn’t one of the following segment types. Generally speaking, normal segments aren’t noticable in the displayed text, so special attributes are used to change how they look.

You can't tell that there's a {{normal segment}} in this text.

You can’t tell that there’s a normal segment in this text.

Emphasis Segments

If the first character of the text is a slash (/), an asterisk (*), an underscore (_), or a percent sign (%), followed by a space, the segment serves as an alternate way to mark emphasis.

Here is some {{* bold-{{/ italic {{% code}} }} }}.

Here is some bold-italic code.

Superscript/Subscript Segments

If the first character of the text is a caret (^) or a comma (,), followed by a space, the remaining text is rendered in superscript or subscript, respectively.

H{{, 2}}O E=mc{{^ 2}}

H2O E=mc2

Images

If the first character of the text is $ followed by a space, the segment is replaced with an image. The content of the segment is the source path of the image. If the source path is followed by text in parentheses, that text is used as the “alternate text” for the image.

Hopefully the {{$ http://www.logos.com/images/logo.gif (Logos Logo)}} is still in the same place.

Hopefully the Logos Logo is still in the same place.

Resize

If an image is too large to be easily seen, like above, then maxwidth and/or maxheight can be used to limit how big it gets. Here are some examples:

{{$ amber:2007863:9225153?maxwidth=200}}

And if you want the image to take advantage of maximum width, you can use the @img-fluid class, and it will ujse the maximum available width up to its maximum size.

{{$@img-fluid amber:2007863:9225153}}

Comments

If the first character of the text is # followed by a space, the text in the segment is not displayed at all.

Merry Christmas! {{# remove December 26}}

Merry Christmas!

Code

Apart than %code emphasis %, which highlights a selection of text as code, a code section is used to display multiple lines of code. A code section looks like a normal section, except that the three left curly braces ({{{) are immediately followed by a percent sign (%).

You can “escape” or turn off the formatting in code and other sections, too. Just add a tilde (%~) immediately after the percent sign.

Code

Paragraph above.
{{{%
#. You can use a code section
#. to document wiki syntax.
}}}
{{{%~
#. You can use a /code section/
#. to document wiki syntax.
}}}
Paragraph below.

Example

Paragraph above.

#. You can use a code section
#. to document wiki syntax.
#. You can use a /code section/
#. to document wiki syntax.

Paragraph below.

More on Escaping Segment Formatting

If the first character of the text is a tilde (~) followed by a space, the text in the segment is displayed as-is, without interference from the Wiki parser. The tilde can also immediately follow any of the emphasis characters documented above.

I don't {{~ want *this* to be bold}}.
I do {{*~ want /this/ to be bold}}.

I don’t want *this* to be bold.
I do want /this/ to be bold.

Horizontal Lines

Horizontal lines provide a rudimentary way to separate the text above the line from the text below the line.

To create a horizontal line, simply type four or more hyphens (-) alone on a line.

Paragraph above.
----
Paragraph below.

Paragraph above.


Paragraph below.

Tables

Tables are used to display tabular data. The Wiki syntax supports simple tables, where each cell contains simple text, and complex tables, where each cell can contain any type of element, including paragraphs, lists, etc.

Simple Tables

To create a simple table, start a line with a “vertical line” (|) followed by a space. The text after the vertical line will be displayed in the first cell of the first row of the table. To add another cell to the first row, the line must contain another vertical line with a space on either side. The text after the second vertical line will be displayed in the second cell of the first row of the table. This can be repeated for any number of cells.

To end the first row, the line must end with a vertical line. To add another row to the table, simply create another row of cells in the same fashion on the next line in the Wiki document.

| top-left | top | top-right |
| left | middle | right |
| bottom-left | bottom | bottom-right |
top-left top top-right
left middle right
bottom-left bottom bottom-right

If a line that starts a table row doesn’t end with a vertical line, the next line will continue that same row.

| 1,1 | 2,1
| 3,1 |
| 1,2 | 2,2 | 3,2 |
1,1 2,1 3,1
1,2 2,2 3,2

Complex Tables

Each cell of a complex table is divided from the others by a line that consists only of vertical lines and spaces (and any optional special attributes). To start a new table, create a line with four vertical lines (representing the entire table) followed by a space and three vertical lines (representing the first row) followed by a space and two vertical lines (representing the first cell). All Wiki text that follows will be formatted normally and added to the first cell of the first row of the table.

To advance to the next cell of the row, create a line with two vertical lines (representing the next cell).
To advance to the next row, create a line with three vertical lines (representing the next row) followed by a space and two vertical lines (representing the first cell of the new row).

To stop the table, create a line with only four vertical lines.

|||| ||| ||
This is the top-left cell.
* It has an
* unordered list.
||
This is the top-right cell.
#. It has an
#. ordered list.
||| ||
This is the bottom-left cell.

It has two paragraphs.
||
This is the bottom-right cell.
||||

This is the top-left cell.

  • It has an
  • unordered list.

This is the top-right cell.

  1. It has an
  2. ordered list.

This is the bottom-left cell.

It has two paragraphs.

This is the bottom-right cell.

Heading Rows and Cells

Heading rows and cells are created by adding an asterisk (*) immediately after the vertical bars.

|||| |||* ||
x
||
1
||
2
||
3
||| ||*
1
||
1
||
2
||
3
||| ||*
2
||
2
||
4
||
6
||| ||*
3
||
3
||
6
||
9
||||

x

1

2

3

1

1

2

3

2

2

4

6

3

3

6

9

Column Span and Row Span

Column span is indicated with a number in parentheses immediately after the double-vertical-line for a cell (e.g. (2)). Column span and row span can be specified by separating the numbers with a comma. To specify only row span, use 1 for the column span or omit it entirely.

|||| ||| ||
x
||
x
||
x
||(,4)
(,4)
||| ||
x
||(2,2)
(2,2)
||| ||
x
||| ||(3)
(3)
||||

x

x

x

(,4)

x

(2,2)

x

(3)

Special Characters

The Wiki syntax supports a number of special characters.

Smart Quotes

Apostrophes (') and normal quotation marks (") are automatically changed into left (and right) single (and double) quotation marks.

He said, "I'm not fond of 'smart' quotes."

He said, “I’m not fond of ‘smart’ quotes.”

Smart Dashes

Any pair of hyphens (--) is automatically changed into an emdash or an endash. A single hyphen with space before and after is also changed into an endash.

Wait--I want to see -- an endash.

Wait—I want to see – an endash.

Escaped Characters

Place a tilde (~) immediately before a punctuation mark to prevent it from being recognized as Wiki markup.

~* I don~'t ~/want/ this
~* to be a list, so I use
~* a tilde (~~).

* I don't /want/ this
* to be a list, so I use
* a tilde (~).

To escape all characters in a range of text, use an escaping segment.

Page Properties

Page properties appear at the top of a Wiki document. Each page property has a name and an optional value.

To add a page property, add a line to the top of the document that starts with a question mark (?) followed by a space. Then add the property name, and, optionally, a space followed by the property value.

Title

Use this property to specify the “title” of the document. Normally, the first heading is used, but if that behavior is not desirable, or if the document does not have a heading, the Title property should be used to give the document a valid title.

? Title Actual Title
!! First Heading
The title of this document is "Actual Title".

First Heading

The title of this document is “Actual Title”.

Parent

Use this property to create hierarchy in the wiki. This page’s parent, and it’s parent’s parent, etc., are displayed as “breadcrumbs” at the top of the document to aid in navigation. For example, this document has the following page property:

? Parent Wiki Formatting

Special Attributes

Special attributes are supported on most Wiki markup. These attributes add to the complexity of the document, and thus should be avoided where possible.

The special attributes are added immediately after the first punctuation characters of the Wiki markup in question. The special attributes should always be separated from any following text by a single space. Here are a number of examples, each of which assigns the “x” style to the specified element.

!!!@x Heading
\@x Paragraph
*@x List Item
|@x Simple Table Cell |
||||@x |||@x ||@x
{{{@x
{{{%@x
----@x
[[@x Hyperlink]]
A {{@x segment}}.
Some {{*@x strong}} text.

Multiple special attributes can be added, one after another, in any order, with no space in between. Here is a paragraph with two styles and an identifier:

\@indent@bold#top A paragraph with two styles and an ID.

Language

The language of the text contained by a Wiki element can be specified with this special attribute.

To specify the language, use a colon (:) followed by the language tag (as used by XML). Only one language should be specified per Wiki element.

\:en Do you speak {{:es español}}?

Do you speak español?

Direction

Use a less-than symbol (<) to change the direction of text to right-to-left; use a greater-than symbol (>) to change the direction of the text to left-to-right.

\< This paragraph is right-to-left.

This paragraph is right-to-left.

Styles

Each element can be represented by one or more styles, which have an application-specific effect on the presentation of that text.

To specify a style, use an “at” symbol (@) followed by the name of the style. Multiple styles are permitted.

A stylesheet could change the color of {{@happy this text}}.

A stylesheet could change the color of this text.

A few styles available to the Logos wiki:

  • @callout
  • @float-right
  • @float-right

Bootstrap

EdgeWiki includes Twitter Bootstrap. You can use any of the standard classnames.

The example above applies two styles to the containing div, and one paragraph style (to remove margin-bottom) to the paragraph.

{{{@alert@alert-success
\@mb-0 EdgeWiki includes Twitter Bootstrap. You can use any of the [[standard classnames >> https://v4-alpha.getbootstrap.com/components/alerts/]].
}}}

Macros

Each element can have attached to it one or more macros, which have an application-specific effect on the presentation of that text.

To specify a macro, use a question mark (?) followed by the name of the macro, optionally followed by macro arguments in doubled-parentheses. Multiple macros are permitted. (In the example below, the size macro is not actually supported, so it has no effect on the text.)

This text {{?size((32pt)) uses a macro}}.

This text uses a macro.


See more at: http://www.edgewiki.com/?Wiki+Formatting



Faithlife Wiki

Welcome, Guest! (sign in)