DidiWiki 0.5
==============
DidiWiki est une petite et simple implémentation WikiWikiWeb écrite en
C. Elle est destinée à une utilisation personnelle pour des notes, 'listes à faire' etc. Elle inclut son
propre webserver et avec bon espoir d'être aussi simple que d'avoir seulement à : compiler, lancer
et indiquer l'adresse à votre navigateur.
Installation
============
Pour la compilation saisissez l'habituel ./configure et make. Vous pouvez alors tapez make install ou
lancez DidiWiki directement depuis l'emplacement des sources. Au démarrage il vous fournira l'adresse
vers laquelle diriger votre navigateur. Dès lors vous prêt à commencer.
Si c'est une mise à jour d'une version, c'est une bonne idée de supprimer
~/.didiwiki/DidiHelp avant le lancement du programme, ainsi vous aurez la dernière version
du fichier d'aide.
API déportée
==========
Ainsi 0.5 DidiWiki a un 'REST' très simple comme http api. On espère que
cela permettra d'écrire d'autres interfaces pour didiwiki.
L'api apparaît telle quelle, passée en variable avec GET ou POST ;
http://didiwiki/api/page/get?page=XXX
Prenez le texte de wiki brut pour la page indiquée. Code de rendu http 500, si
la page n'existe pas.
http://didiwiki/api/page/set?page=XXX&text=XXX
Mettez le wikitext d'une page. La page est créée si elle n'existe pas.
http://didiwiki/api/page/exists?page=XXX
Retour 'gagnant' si la page existe, sinon erreur 500.
http://didiwiki/api/page/delete?page=XXX
Supprime une page.
http: // didiwiki/api/pages
Retourne une liste séparée (une entrée par ligne contenant la page
le titre, l'ÉTIQUETTE, la date modifiée) de pages de wiki avec la plus récemment modifiée
en premier.
http: // didiwiki/api/search ? Expr=XXX
Comme ci-dessus, mais avec des listes dont les pages contiennent 'expr'
Notes & Excuses
===============
- si vous voulez contribuer, s'il vous plaît vérifier le TODO !
- les pages sont stockées dans ~/.didiwiki (vous pouvez l'ignorer en mettant
'DIDIWIKIHOME' vers une adresse valable.). Vous pouvez ajouter une feuille de styles .css
à cette adresse pour ignorer la feuille de style par défaut.
- La partie webserver est entièrement basée sur le serveur interne du cvstrac,
suivant la même sorte de processus;
- C'est un serveur fourché, léger et assez simple. Un processus-enfant est
dérivé pour traiter chaque demande http.
- Ces processus dérivés, ne le sont, que pendant
moins d'une seconde, ainsi aucune tentative réelle n'est faite pour une plus grande utilisation de
la mémoire.
- Ce n'est probablement pas très sûr du tout. !! S'IL VOUS PLAÎT NE L'EXÉCUTEZ PAS EN MODE 'ROOT' !!
- Le code utilise 'asprintf' en deux ou trois endroits. Je ne connaît pas sa portabilité
sur des systèmes non-Linux. Si celà vous pose problème, libre à vous d'envoyer des
patches.
- Vous pouvez debugguer segv en en lançant ' didiwiki debug ' qui ne fera pas
demarré le serveur http, celui-ci existant dans un processus simple, mais s'attendant à la demande de HTTP sur le stdin.
- Le style de formatage est très semblable à celui de kwiki - j'aime bien
kwiki :-)
- Je l'ai écrit en C, principalement parce que j'ai oublié le Python, Perl etc
(et j'ai voulu que celà tourne facilement sur un PDA).
Extrait du site Web kwiki.
Cela décrit le langage de balises wiki utilisé par ce kwiki.
= Niveau d'en-tête 1 (H1)
.
== Niveau d'en-tête 2 (H2)
.
=== Niveau d'en-tête 3 (H3)
.
==== Niveau d'en-tête 4 (H4)
.
===== Niveau d'en-tête 5 (H5)
.
====== Niveau d'en-tête 6 (H6)
.
Les lignes horizontales dans cette page sont faites avec 4 tirets, ou plus :
----
.
Les paragraphes sont séparés par une ligne vierge.
Comme ceci. Un autre paragraphe.
Les paragraphes sont séparés par une ligne vierge.
Comme ceci. Un autre paragraphe.
.
Bold text, texte en italique, et texte souligné.
*Bold text*, /italic text/, et_underscore text_.
Combinaison de bold et d'italique
/*Combinaison de bold et italics*/
. Insertion de code, tels /etc/passwd ou CGI::Kwiki
Insertion de code, tels [=/etc/passwd] ou [=CGI::Kwiki]
.
Strikethrough
-Strikethrough-
.
liens-wiki, ils sont formés par deux mots ou plus en camel-case.
liens-wiki, ils sont formés par deux mots ou plus en /camel-case/.
Liens externes commençant par http://, comme http://www.freepan.org
Liens externes commençant par http://, comme http://www.freepan.org
Dans certains cas des liens peuvent apparaître comme <spam://.> Cela signifie que vous avez entré une adresse qui n'est pas en liste-blanche. Attendez un administrateur pour l'autoriser.
Liens wiki forcés, c'est une série alphanumérique entourée par des crochets.
[Liens]wiki forcés, c'est une série alphanumérique entourée par des crochets.
Nommer des liens ayant du texte avec un http:// en lien interne, tel : FreePAN Site
Nommer des liens ayant du texte avec un http:// en lien interne, tel [FreePAN http://www.freepan.org Site]
Parfois desmotsdevraientêtreunlien
Parfois !desmotsdevraientêtreunlien-wiki, mettez '!' devant.
De même avec http://foobar.com
De même avec !http://foobar.com
Envoyer un courriel par des liens n'étant que des adresses électroniques, comme foo@bar.com.
Envoyer un courriel par des liens n'étant que des adresses électroniques, comme foo@bar.com.
.
Liens vers des images affichant l'image :
http://www.google.com/images/logo.gif
.
Listes non-ordonnées commençant par un '* '. Le nombre d'astérisques détermine le niveau :
* foo
* bar
** boom
** bam
* baz
.
Listes ordonnées commençant par un '0 ' (zéro):
0 foo
0 bar
00 boom
00 bam
0 baz
.
Vous pouvez aussi, mélanger les listes :
* Today:
00 Eat icecream
00 Buy a pony
* Tomorrow:
00 Eat more icecream
00 Buy another pony
.
Cette possibilité ne fonctionne plus correctement dans Kwiki >0.31. Remarquez que cela produit deux listes non ordonnées au niveau supérieur, au lieu d'une. –MattHoward
N'importe quel texte qui ne commence pas dans la première colonne est rendu comme texte préformaté.
foo bar
x y
1 2
.
Vous pouvez commenter du wiki-texte avec '#' au début d'une ligne. Le texte s'affichera comme un commentaire en HTML :
# These lines have been # commented out# These lines have been
# commented out
.
Cette possibilité ne fonctionne plus correctement dans Kwiki >0.31. Rien à dire de plus, ça ne marche pas –MattHoward
Tableaux simples :
Dick | Jane | |
height | 72" | 65" |
weight | 130lbs | 150lbs |
| | Dick | Jane |
| height | 72" | 65" |
| weight | 130lbs | 150lbs |
Pas d'insertion en HTML.
<hr> <bold>No?</bold> <i>Yes?</i> <hr/>
Retournent ceci : <hr> <bold>No?</bold> <i>Yes?<i> <hr>
Remarquez que le charactère '/' dans les étiquettes est retourné en balise italique.
Pour empêcher IE6 d'afficher un mauvais rendu des pages qui contiennent du texte préformaté, ajouter un point après chaque bloc de texte préformaté comme je l'ai fait dans cette page. C'est du provisoire - en attendant que le bug, annoncé par MichaelIvey at BugReports soit fixé. – DennieReniers