Editing help

  1. Editing help
    1. Introduction
    2. Text Formatting
      1. Creating a paragraph
    3. Creating titles
    4. Font styles (bold, italics, technical)
  2. Organizing your article (Table of contents, lists, tables, horizontal lines)
    1. Table of Contents
    2. Lists of items
    3. Lists of Definitions
    4. Using tables
    5. Horizontal dividing line
  3. Creating Links
  4. Including Images
  5. Marking up code
    1. Syntax coloring
    2. Literal blocks of preformatted text
    3. Escaping wiki interpretation
  6. Extensions for Chicken documentation
    1. Tags for procedure-like definitions
    2. Tags for other definitions
  7. Tools
    1. Emacs

Introduction

This wiki uses a simplified version of the wiki syntax used by svnwiki. Below you will find an explanation of the subset that's supported by this wiki:

Text Formatting

Creating a paragraph

To create a paragraph simply enter the text. You can place a single newline anywhere in your paragraph and it will have no effect.

To split a paragraph use two consecutive newlines (an empty line).

The above two paragraphs could have been written as:

To create a paragraph simply enter the text.
You can place a single newline anywhere in
your paragraph and it will have no effect.

To split a paragraph use two consecutive newlines (an empty line).

Creating titles

To create a title, use a line starting with two, three, four or five equal signs:

== Title Name
=== Sub-title Name
==== Sub-sub-title Name
===== Sub-sub-sub-title Name

If you use two equal signs, you will create a top-level title. The more equal signs you use, the less important your title will be. The levels correspond to HTML's <h2> up to <h6> tags. The first level is reserved for use by the wiki itself.

The very first title will be used as the page title of the entire wiki page. This usually appears in your browser's window title and in the search results of a search engine so it's important to choose a good title!

This wiki does not support HTML <h1>..<h6> syntax for headings.

Font styles (bold, italics, technical)

To create bold text, use three apostrophes ('), as in: '''bold'''. Use two for italics: ''italics''. For type-written text, which is useful for technical documentation, use this syntax: {{text}}.

Bold and italics can be nested, but type-written text is treated as-is. This means ''{{foo}}'' works but {{''foo''}} does not. This is mainly for convenience, because often type-written text is used for identifiers and other programming-like material which can often contain strange sigils that might otherwise affect the wiki.

See also the section below about marking up code for how to mark up entire blocks of program code or technical output.

Organizing your article (Table of contents, lists, tables, horizontal lines)

Table of Contents

If you want to show the table of contents of an article, use the following code:

[[toc:]]

This will be replaced with the table of contents. You can see an example at the beginning of this page.

Lists of items

You can create lists of bullets or numbers by starting your lines with asterisks or number signs:

* Some item
* Another item
** A sub item
** Another sub item
**# A numbered sub sub item
**# Another numbered sub sub item
* The last item

The above list will be rendered as:

As you can see, you can mix bullets and numbered lists any way you want.

Lists of Definitions

You can create a list of definitions by using multiple lines with the following syntax:

; TERM : DEFINITION

This is useful to give a list of terms along with their respective definitions.

Example:

; Lassie : A very intelligent dog.
; Garfield : A pessimistic cat.
; Tux : A fearsome pinguin.

This list is shown as:

Lassie
A very intelligent dog.
Garfield
A pessimistic cat.
Tux
A fearsome pinguin.

Using tables

You can create a table using the standard HTML syntax, based on the HTML <table> tag.

Example:

<table>
<tr><th>Country</th><th>Number of cities</th></tr>
<tr><td>Colombia</td><td>17</td></tr>
<tr><td>Argentina</td><td>12</td></tr>
<tr><td>Brasil</td><td>31</td></tr>
</table>

This is shown as:

Country Number of cities
Colombia 17
Argentina 12
Brasil 31

This syntax is rather restricted and clumsy; it is hoped that in a future version there will be better syntax for tables.

Horizontal dividing line

You can include an horizontal dividing line with the following markup:

----

This is shown as:


To create links use [[dst]], where dst is the link target. You can use relative or absolute URLs; a relative URL will link to a page at the same level. dst is used unchanged as the descriptive text, but the link target will be lowercased, stripped of special characters, and have spaces changed to hyphens.

If you want your link to display a text other than its target, use [[dst|Some text]]. This will be shown as: Some text. When descriptive text is provided, the link target is used without change.

To link to an egg, use

To link to a manual page, use

Note: You can't use the plain [[Page name]] syntax for manual pages, as the page URL will be lowercased and hyphenated.

Here are some examples. Since this page is neither an egg nor a man page, we must use the full /egg or /manual syntax for those:

Including Images

To include images in your articles use the following text:

[[image:URL|ALT]]

Here you'll need to replace URL with the URL of your image and ALT with a simple description of the image.

Example: [[image:http://www.call-with-current-continuation.org/chicken-small.png|Chicken logo]]

Renders this:

If you keep your images in the wiki repository, the base for the absolute URL is: http://code.call-cc.org/svn/chicken-eggs/wiki/. For example, an image egg-image-1.png uploaded into wiki/eggref/4 has URL http://code.call-cc.org/svn/chicken-eggs/wiki/eggref/4/egg-image-1.png

Marking up code

Syntax coloring

You can embbed code or information in many file formats or programming languages; the wiki will use the colorize egg to add syntax highlighting to it. You can use any language supported by colorize. This is a growing list.

<enscript highlight="c">
static void
pinst_check ()
{
  pid_t pinst = pinst_find();
  if (pinst != -1 && kill(pinst, 0) != -1)
    printf("%s: server alive (%d)\n", program_name, pinst);
  else
    printf("%s: server is not running\n", program_name);
  exit(EXIT_SUCCESS);
}
</enscript>

is shown as:

static void
pinst_check ()
{
  pid_t pinst = pinst_find();
  if (pinst != -1 && kill(pinst, 0) != -1)
    printf("%s: server alive (%d)\n", program_name, pinst);
  else
    printf("%s: server is not running\n", program_name);
  exit(EXIT_SUCCESS);
}

Literal blocks of preformatted text

Sometimes you don't want any fancy formatting or interpretation at all, you just want to dump a block of preformatted text as-is onto a wiki page.

Examples include license statements, transcripts of shell sessions, code in alien languages not supported by colorize or when you're frustrated by the wiki because it keeps interpreting what you're trying to put on a page.

This is easily done by simply prefixing each line of the text you are pasting by at least one space.

Like this!

Escaping wiki interpretation

To include something in a page literally (preventing the wiki from converting it to HTML), place it inside a <nowiki> ... </nowiki> pair. This currently only has an effect on HTML output (not the other outputs supported by multidoc, so please don't rely on it too much.

Extensions for Chicken documentation

Tags for procedure-like definitions

The following tags are supported:

Each of these should be used as follows:

 <procedure>(string-append a b ...)</procedure>

This will be roughly rendered as follows (with some divs and spans for easy CSSing):

[procedure] (string-append a b ...)

Tags for other definitions

The following tags are also supported:

They should be used as follows:

 <string>doctype:xhtml-1.0-strict</string>

This will be rendered roughly as follows:

[string] doctype:xhtml-1.0-strict

Tools

Emacs

At https://github.com/mario-goulart/el-chicken-wiki you can find some Emacs commands to help editing this wiki.