wiki-formats-fr
wiki formats
Auteurs
- Tantek Çelik
- Ben West
(traduction en cours et localisation francophone Christophe Ducamp)
Intro
Ian Hickson se plaignait récemment auprès de moi :
"Je dois trouver maintenant un wiki qui ait à la fois une belle syntaxe (c'est à dire une qui ressemble à du texte/clair à l'opposé de celui qui ressemble simplement à une autre syntaxe obscure -- si vous allez utiliser un balisage, pourquoi ne pas utiliser le HTML en premier lieu), et qui produise une syntaxe sémantique (à l'opposé du fait d'avoir des tags pour "gras" et "italique")."
Et en quelque sorte je dois être d'accord avec lui. Mon expérience avec le wiki actuel des formats est qu'il ne fait pas ce bon travail de "daller les chemins des vaches", ce qui veut dire, prendre ce que les gens écrivent dans des documents en texte clair, et l'interpréter comme une structure, plutôt que de réinventer des nouvelles conventions de texte (par exemple des signes égal pour les titres ?!?) et faire en sorte que les personnes les apprennent.
Cette page est un essai pour cataloguer/documenter le wiki actuel et les formats textes comme wiki pour voir s'il y a quelque chance de résoudre ce problème.
Techniquement un format wiki serait de ne pas être un microformat pare que ce n'est pas exprimé par la construction de blocs XHTML. Néanmoins, bon nombre des autres principes des microformats peuvent être appliqués pour aboutir peut-être à une meilleure solution que celle utilisée aujourd'hui par les wikis (parce qu'ils semblent tous utiliser en quelque sorte leurs propres variantes).
Logiciel wiki
MediaWiki
Celui que vous utilisez à cette heure.
- paragraphes
- une ligne blanche crée un nouveau paragraphe
- listes non numérotées
- démarrer une ligne avec "* " et cela la mettra dans une liste non numérotée
- utiliser plusieurs "*", par ex. "** " pour le niveau deux, pour des listes non numérotées imbriquées.
- listes numérotées
- démarrer une ligne avec "# " et cela la mettra dans une liste numérotée.
- utiliser plusieurs "#", par ex. "## " pour le niveau deux, pour des listes numérotées imbriquées.
- en-têtes
- préfixe et suffixe avec le signe "=" pour un titre de niveau 1 heading, "==" pour le titre de niveau 2 etc.
- littéral
- utiliser les tags <pre> ... </pre>
MoinMoin
Celui utilisé par les développeurs de Technorati. Commence à la v1.3.2, MoinMoin supporte aussi le reStructuredText.
Kwiki
Tiki Wiki
TikiWiki Syntax Reference et Formatting Guide
Syntaxe Importante :
- Listes
- * Crée une liste non numérotée.
- # Crée une liste numérotée
- ;terme:définition crée un terme et une liste de défintiion.
- Les fonctionnalités incluent l'imbrication dans une manière prévisible, des sections qui peuvent se cacher/s'affiher avec un symbole +/-, et une continuation de la ligne après les sauts de ligne.
- Liens
- Les MotsJoints indiquent un lien wiki interne.
- ((Mots|Description)) entre parenthèses indique aussi un lien interne wiki et peut inclure des espaces et des conventions de liens wiki non standards. Un signe pipe délimite le texte qui va être utilisé pour le lien.
- ))MotsJoints(( peut empêcher le parsage du lien.
- Les liens externes vont dans des crochets carrés [ ] avec la même convention eu égard au texte descriptif. Beaucoup de fonctionnalités de ce wiki permettent aussi aux options d'être passées, par ex. nocache, après un pipe.
- Images
- {img src= width= height= align= desc= link= }
- Mise en forme du texte
- Le gras est produit en mettant le texte entre une paire de double souligné :__texte graissé__
- Le texte est centré en plaçant le texte entre deux signes deux-points : ::texte centré::
- Le texte est coloré en délimitant le nom de la couleur et le texte par un sgne deux points entouré d'une parie de double tildes. ~~blue:text~~
- Le texte est mis en italique en entourant le texte par une double paire de guillemets simples : ''italique''.
- La syntaxe pour le texte à espace fixe/télétype est : -+monospaced text+-
- Le texte souligné est indiqué avec trois signes égal : ===underlined text===
- Le texte peut être posé dans une boîte simple en l'entourant avc des circonflexes : ^texte en boîte^
- Titres
- Les titres sont indiqués par la présence d'un point d'exclamation au début de la ligne : !Mon titre. Les sous-titres et niveau d'imbrication sont indiqués par le nombre de points d'exclamation. (Même principe que l'imbricage de liste). Ceci porte vraiment un intention sémantique dans la documentation Tikiwiki et le module de table des matières "maketoc" utilise cette fonctionnalité afin de produire des tables des matières.
phpwiki
Introduction et règles de syntaxe (lien mort à cette heure)
- La mise en page (copiée à partir de http://wiki.crao.net/index.php/R%E8glesDeFormatageDesTextes)
- Emphase : _ pour italique, * pour bold, _* pour les deux, = pour chasse fixe.
- Listes : * pour listes pointées, # pour listes numérotées, Terme:<nouvelle ligne> définition pour les listes de définitions.
- Texte pré-formaté : enfermer le texte dans <pre></pre> ou <verbatim></verbatim>.
- Texte décalé : décaler le paragraphe avec des espaces.
- Liens : JoindreMotsAvecMajuscules ou utiliser des crochets pour une [page] ou une URL [http://cool.wiki.int/].
- Désactiver les liens : Préfixer avec "~": ~NePasLier, nommer les liens comme [texte | URL].
- Divers : "!", "!!", "!!!" pour les titres et sous-titres, "%%%" ou "<br>" pour aller à la ligne, "----" fait un trait horizontal.
- Balises HTML utilisables : b big i small tt em strong abbr acronym cite code dfn kbd samp var sup sub
Midgard Wiki (net.nemein.wiki)
- Markdown est utilisé par défaut, mais il peut être basculé en WYSIWYG HTML
- Quelques formats de liens supplémentaires sont utilisés
- Voir Midgard Wiki documentation
ProWiki
- Accueil francophone
- Un clone de UseMod développé par Helmut Leitner
- Permet d'insérer du code html dans les pages.
- Une syntaxe simple de mise en page des textes et une mise en page plus avancée grâce à des CdmlElements
- Implémente le multi-linking
Autres Ressources
- Voir la page http://c2.com/cgi/wiki?WikiEngines pour une liste des wikis connus.
- Voir http://tavi.sourceforge.net/WikiEngines/ComparingWikis pour un tableau comparant les fonctionnalités wiki (pas d'information de syntaxe)
Est-ce que les formats en texte clair d'autres systèmes non wiki devraient être inclus dans cette exploration ? Que penser des codes phpbb ? Ou de certains outils de blog ? Que penser de Almost Free Text ( Syntax Overview ) et d'autres outils de processeur du texte clair ? Il existe une race de systèmes de wiki-blog hybrides comme http://www.backpackit.com et http://www.basecamphq.com tous les deux de 37signals.
Conventions de Mise en Page Extra-Wikis
Live Chats
Ceci comprend IRC et les services de chat divers comme AIM. Il existe plusieurs conventions populaires pour indiquer un faible niveau de mise en forme en plein texte dans différents srvices de chat. Le texte entre une paire d'* est compris pour être une émotion ou une action (par ex. *grin*) ou *valorisé* (peut-être équivalent au graissage). Le texte entre une paire de /slashes avant/ est très souvent compris pour porter un sens italique. Le texte entre une paire de _souligné_ est compris pour être souligné.
Par exemple, la syntaxe (ed : lien brisée juin 2006) utilisée par le système de chat Yarr (☠) in-Wiki. (ed : lien brisée juin 2006)
Autres Efforts de Standards
- http://tikiwiki.org/RFCWiki Un Brouillon RFC pour une syntaxe wiki.
- http://lab.lolipop.jp/fswiki/wiki.cgi/wikistandard Une tentave d'établir une syntaxe wiki standard (pour la langue japonaise)
- http://daringfireball.net/projects/markdown/basics Ceci semble résoudre le problème (presque).
Résumé
Apparemment la plupart des wikis utilisent une * pour indiquer des listes à puces. L'imbrication fonctionne intuitivement. Plusieurs schémas utilisent les MotsJoints pour indiquer un lien interne, et les crochets rectangulaires [ ] pour indiquer un lien externe. Les problèmes communs incluent un échec inattendu pour gérer l'imbrication dans certaines syntaxes, le fait de se battre sur des règles de mise en page, des degrés variables de sens sémantique et de codes de mise en forme arbitraire.
Les astérisques pour gérer les listes non numérotées et les signes dièses pour les listes numérotées fonctionnent vraiment bien. Il est commun d'utiliser des astérisques pour les listes dans la mise en forme en texte clair, et utiliser un signe dièse veut dire généralement un "nombre" et cela laisse l'utilisateur savoir que le système énumérera automatiquement les points suivants. Néanmoins, indiquer que la ligne suivante devrait s'adapter à l'indentation de ligne précédente implique une notation étrange. Malheureusement les éléments bloqués arbitrairement comme une simple boîte casseront l'imbrication et le parsage continu des items de listes de plusieurs wikis.
Pareillement, même si on ne voit pas souvent de points d'exclamations pour amener qu'une ligne donnée est un titre, ceci pourrait tout aussi bien très bien fonctionner. Un point d'exclamation indique l'importance et l'emphase ; l'avoir au début de la ligne est rare, rend l'interface vers le comportement d'imbrication monotone parce que c'est la même que les listes, et semble simplement aussi naturel (pour cet auteur) que de remplir les lignes suivantes avec des soulignés ou des signes égal. Cela fait aussi plus de sens que d'entourer le texte de titre avec des signes égal.
Les crochets rectangulaires sont utilisés dans la plupart des wikis pour indiquer un lien de toute sorte. Néanmoins quelques wikis tranchent les liens en externe et interne, créant une interface modale pour publier des liens. En plus, malgré le standard JoindreMotEntreLettresCapitales pour créer un lien interne (et/ou créer une page), les systèmes wiki permettent librement aux utilisateurs d'ignorer la convention en autorisant des méthodes de liens alternatives et variées. Un défaut supplémentaire des schémas de liens internes est que les wikis sont souvent une partie d'un système de gestion de contenu plus grand, et les liens "externes" complets sont requis afin de pouvoir atteindre les composants du site. Dans les documents en plein texte, il est plus commun de voir un url complet accompagnée de quelque texte explicatif. Des wikis qui permettent un rendu naturel des urls comme des liens, ils permettent aussi une convention spécialisée de permettre que le texte substitué de pointer vers l'url. Peut-être qu'une solution future serait d'abolir la modalité interne/externe, de parser les urls dans la loige, et d'inclure une option simple pour la substitution de texte. Par exemple : "http://www.google.com(Google) est un moteur de recherche énorme." s'afficherait comme : "[http:www.google.com Google] est un moteur de recherche énorme."
wiki formats
proposition straw
Ce que Ian utilise dans ses documents texte/clair :
- h1:
premier niveau de titre - suivi par une ligne démarrant par des signes égal "=" =============================================
- h2:
second niveau de titre - suivi par une ligne commençant par des tirets "-" --------
- h3:
TROISIEME NIVEAU DE TITRE - TOUTES LES CAPITALES SUR UNE LIGNE
- p:
- une ligne blanche pour démarrer et finir
- ol / li
- une ligne démarrant par un espace puis un nombre suivi immédiatement par un point, par ex :
1. Voici un item de liste numéroté
- notez que de tels items de liste peuvent être séparés par des lignes blanches.
- notez que les paragraphes dans un item de liste sera intentionnel tout comme le texte après le marqueur d'item de liste.
- la liste est terminée par une ligne non blanche qui ne commence *pas* par un espace puis un nombre puis un point, et est décalée à partir de l'endroit où sont les paragraphes items de liste.
- ul / li
- une ligne démarrant par un espace puis un astérisque puis au moins un espace, par ex :
* Voilà un item de liste non numéroté
- les mêmes notes s'appliquent respectivement que celles pour les items de listes numérotés ci-dessus.
- les items de listes non numérotées sont similaires, si ce n'est que leur marqueur est indenté plus à fond, et en plus du "*", d'autres marqueurs d'items de listes peuvent être utilisés comme "+" et "-".
- pre / code
- quelque quantité d'imbriquage avec l'espace blanc. pre / code. il n'est pas clair quel est le type de code (par ex HTML ou CSS).
- em
- texte entouré par un souligné adjacent unique des deux côtés, par ex :
_pour le mmoment_
- attributs blockquote et cite
- un ensemble de lignes qui étant avec le "|", et après la dernière, une ligne qui démarre par " -- ", suivie par l'url citation, par ex :
| Ceci est une citation | et une seconde ligne -- http://exemple.com/citation/
Problématiques ouvertes :
- Qu'est ce que c'est ?
-*- Mode: text; -*-
It's the Emacs mode line. Just ignore anything starting with one or more spaces and then having the form -*- ... -*-
- comment encodez-vous dans la sémantique texte/clair :
- strong Utiliser les *stars* au lieu des _soulignés_
- dfn
- dl/dt/dd
- h4, h5, h6 Il n'y a pas de H4 dans ce format. seulement H1-H3. Tout comme le HTML n'a pas de H7, et reste limité de H1-H6.
- table / thead, tbody, tfoot, caption / tr / td, th j'ai quelques pages qui font des tableaux, vous faites simplement une table véritable ASCII art avec des lignes d'ASCII art
- texte hyperlié texte/clair n'a pas d'hyperliens, aussi je les mets toujours sur la ligne suivante (style pre/code)
- relations hyperlien ('rel attribute' sur texte hyperlié)
- address (possiblement la ligne "Author: " ?)
- inline code