CWiki is a kind of Wiki, based on flat file, with a "natural" Syntax (at least, it was the idea).
Page are stored as flat file, on disk. because :
What is "Natural Syntax" ? If you type and format the file to look nice in a text editor, it should look nice on the web page too. Of course, there are some conventions (not really a syntax..)
Automatic Table of content : the TOC of your document is automaticaly created from titles (menu on the left side).
Yet to be writen
the two titles above are simply written:
=Examples =Titles
You can make links like http://www.debian.org or Jump to My title or this!.
you can make links like [[http://www.debian.org]] or [[ Jump to My title => #Anchors ]] or [[this**!** => #Links ]].
Including an image (.png .gif .jpg or .bmp) is similar to linking. Append a hash to force linking
Show an image (with title) [[ Debian Powered => button-4.gif ]] or link to it [[ Debian Powered => button-4.gif# ]]
Show an image (with title)
or link to it Debian Powered
All titles are automaticaly converted as [CamelCase] anchors.
You can very easily write some Bold, Italics or underline text. code
You can very easily write some **Bold**, //Italics// or __underline__ text.
My List of fruits:
My List of fruits: - Orange - Pears - apples
Numbered list are very similar : My Prefered fruits:
My Prefered fruits: % Orange % Pears % Apples
Use "|" to draw your table, like :
| Table title | |||
| foo | foo | ||
| bar | bar | 33 | |
code
| Table title | |foo |foo | | |bar |bar | 33 |
To show a sample command, use the "$"
some code or command
code
$some code or command
Preview:
Code:
!This is a sample warning !
Preview:
Code:
+This is a sample note !
from: John.doe@acme.com
Some Quoted text or email Some Quoted text or email.. Some Quoted text or email Some Quoted text or email
Code:
> Some Quoted text or email Some Quoted text or email.. > Some Quoted text or email Some Quoted text or email
;Prefixed your comments with a semi-colon ";" like this.
And finaly, to print some raw text (like a file..)
=This isn't rendererd as a title... and no **Bold**, //Italic// text -And this one isn't a bullet list, etc.
code:
'=This isn't rendered as a title... and no **Bold**, //Italic// text '-And this one isn't a bullet list, etc.
Directive are lines begining with a tilde ("~"). Directive provide instruction to cwiki.
The "~cwiki" directive MUST be the first line. it has two purpose:
Set the depth of the table ot content (0=disabled ; 1= h1 only; 2 = h1 and h2...). The toc is generated by Javascript, and it's hidden on printed pages. You can customize it's appareance through stylesheet / CSS. autotoc will also add a tag at the bottom of the the page with "Last Modified" and the page Author (see ~author).
Document author
~author:Franklin PIAT <fpiat@bigfoot.com>
This will be re-written in the html header, like
<meta name="author" content="Franklin PIAT <fpiat@bigfoot.com>"/>
~keywords:flat file,wiki,diff
This will be re-written in the html header, like
<meta name="keywords" content="flat file,wiki,diff"/>
(text is also append'ed at the bottom of the page for search engines).
~description:Your page descritpion here
This will be re-written in the html header, like
<meta name="description" content="Your page descritpion here"/>
see roadmap for "variables"
Specify the URL of a CSS stylesheet to include
~stylesheet:/screen.css
This will be re-written in the html header, like
<link rel="stylesheet" type="text/css" href="/screen.css"/>
Include some files raw text file.
~rawtext:README.txt
see section Todo / Roadmap for example.
I would like to implement the folowing stuffs:
- Improve Paragraph and End of line detection.
- Definition List/Term/Data (Ã la HTML)
- Embedding files {{~image: myfile}} ; {{~text: }} ; {{~html: }} ; {{~highlight(html):}}
- write "Installation" Notes + a CSS writing howto;
Roadmap for futur release
- More document directives (lines starting with ~)
- Document merging and spliting (~splitlevel: and {{~cwiki: myfile}})
- Title shouldn't require the "=" prefix (if all uppercase on isolated line, or underline with =====)
- Variables : provides some variables (especially, to print directives in the page)
- how to link across different files
- some kind of HEREDOC (like perl/bash/php's $var=<<< ENDTAG)
- tables improvement :
- two column document (with two large cells ; width=100%)...
- "<th>" like (currently, one has to use ||**Title**|| to have similar result)