Text Formatting
Nota bene: to edit this page use View source at the bottom of this node to access the un-translated source and then edit it off-line (see SGML entities bug at the bottom of this node for an explanation).Guidelines
CLiki links are case-insensitive. "CLiki" will point to the same node as "cliki". However, node names are case-sensitive, and may show up in searches among topics, etc. So keep your node names uniform to the elements of the same category. For example, term nodes should be capitalized, as well as topics.Avoid P
tags
As a convenience, text is assumed to start a new paragraph -- will be rendered preceded by a P
tag -- if preceded by a blank line and not starting with a left-angle bracket. This seems to work passably well unless you want to start a paragraph with marked-up text. You'll just have to add the P
tag yourself in that case. Don't use a P
tag (or, in general, any other tag) at the beginning of an entry because it causes problems with topic-listing (see Searches below).
Markup
Most of the weird and wonderful markup syntax of the original Wiki is omitted, as HTML markup is allowed. This is easily abusable: I'd rather receive patches to fix it than I would see the problem demonstrated.We have our own special markup too, of course: this consists of a funny character followed by an argument in parens.
- Internal links:
-
_(Foo)
renders as Foo._(Ex Em Ell|XML)
renders as Ex Em Ell.
Cliki page titles aren't case-sensitive, and spaces and underscores are treated equivalently, but Cliki will remember the way the title was written when you first created the page, and format it that way forevermore. So, please make some effort to use capitals where appropriate. In keeping with the precedent set by Ward's Wiki, links to pages that don't exist are displayed less obtrusively than links to pages that do. - External links:
-
_(Foo | http://www.google.com/)
renders as Foo._(http://www.google.com/)
renders as http://www.google.com/._("Alias|Wavefront"|http://www.aliaswavefront.com/)
renders as Alias|Wavefront_(Alias\|Wavefront|http://www.aliaswavefront.com/)
renders as Alias|Wavefront._(anchor | URL)
provides a convenient wiki-style external link.
- Links and anchors:
-
- tipically, you want the possibility to link directly to an item in a list of links (for an example see http://cliki.tunes.org/Scheme#chicken).
- This is the wrong way (just in case):
_(name="LLL" "chicken"|http://tunes.org/subprojects.html)
- This is the correct way to insert a link with an anchor (named LLL):
_("here the link to LLL"|http://tunes.org/subprojects.html" name="LLL)
which render as here the link to LLL (this link go directly to a page on the main Tunes project site).
Now you can jump directly in the middle of this same page, at the link just stated, with:_("go to the link to LLL in this page"|http://cliki.tunes.org/Text%20Formatting#LLL)
which render as go to the link to LLL in this page.
- tipically, you want the possibility to link directly to an item in a list of links (for an example see http://cliki.tunes.org/Scheme#chicken).
- CLHS references:
#H(FOO)
, where FOO is a standard CL symbol, will expand into a link to the appropriate Hyperspec page. Thanks to Eric Marsden for the code that does this. It presently goes to the Xanalys site, because the ALU site was down when I tried it.- Searches:
/("prototype-based" :attribute :topic :match :substring)
where::attribute
is one of:title
,:topic
,:body
;:match
is:exact
or:substring
;:case-sensitive
isnil
ort
;
- Brain - A purely object-oriented prototype-based programming language
- Cecil - A prototype-based object-oriented programming language developed at the University of Washington
- Cel - An object-oriented prototype-based programming language based on Self and Smalltalk
- Io - A small prototype-based object-oriented programming language, mostly inspired by Smalltalk (all values are objects), Self, NewtonScript and Act1 (prototype-based differential inheritance, actors and futures for concurrency), Lisp (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable)
- Kevo - A Forth-like concatenative prototype-based object-oriented programming language by Antero Taivalsaari
- Moostrap - An acronym for Mini Object-Oriented System Towards Reflective Architectures for Programming: a prototype-based object-oriented programming language with behavioral reflection
- Prothon - Prothon is a prototype-based programming language based on Python
- Self - A pure prototype-based Object-Oriented programming language in the Smalltalk family, based on very simple concepts which allow efficient implementations
- Slate - An object-oriented programming language based on Smalltalk syntax, prototype-based object system, and multi-method dispatch, by Brian T. Rice and Lee Salzman
:case-sensitive
), body text doesn't at all.
Now the search is able to display also the first sentence of the page found. So remember this when you will write the first sentence of an entry. CLiki Style encourages the use of inverted pyramid style.
Topic markers
The use of topic indicators should be minimized. For example, acronyms are generally not glossary terms unless they are in common usage in a generic sense.*(Foo)
declares this page to be relevant to topic Foo. This means that:
- it will have Foo listed in the footer,
- it will be listed on pages which include a topic search for Foo.
Some general advice (you can find the complete list of topic at the topic entry):
- Pages for persons should have the
*(person)
topic in them. - If the person is a contributor of the TUNES project you should also put the
*(contributor)
topic. - An entry in the Operating systems review section must have the topic
*(OS)
in it. - An entry in the Programming languages review section must have the topic
*(Programming Language)
in it. - An entry in the Glossary section should have the topic
*(term)
in it. - An acronym should have the topic
*(acronym)
in it.
Style-sheet support
- Put code examples in
code
tags.
Example:<code>x = f(x)</code>
render asx = f(x)
. - Put remarks, that you want your to stand separately from the main document and be noticed as such, tipically in a
span
tag, with aclass="comment"
attribute.
Example:<span class="comment">This is a not so long comment</span>
render as This is a not so long comment. - Put a list of links to external sites at the bottom of your new entry using
ul
(Unordered List) orol
(Ordered List) tags.- When the links are about implementations put a
class="implementations"
attribute.
Example with an Ordered List:
Render as:<ol class="implementations"> <li>_("1st implementation"|http://cliki.tunes.org/Text%20Formatting) <li>_("2nd implementation"|http://cliki.tunes.org/Text%20Formatting) </ol>
- When the links are informative put a
class="links"
attribute.
Example with an Unordered List:
Render as:<ul class="links"> <li>_("A link"|http://cliki.tunes.org/Text%20Formatting) <li>_("Another link"|http://cliki.tunes.org/Text%20Formatting) </ul>
- When the links are about implementations put a
SGML entities bug
Don't expect to be able to type SGML entities (e.g. ampersand-l-t-semicolon), and have them work, as they tend to be translated into the actual characters they represent (e.g. less-than sign). This is listed on the CLiki bugs page, but is unlikely to get fixed any time soon.In any case you can mantain and edit a local version of a node and then copy the result, so this is a minor annoyance (but use View source at the bottom of each node to access the un-translated source).
See also HTML special characters and symbols.
This page is linked from: CLiki Bugs CLiki Content Forth OSes Topic Markers