Aller au contenu

Formats

phil/markup

Chaque format atteint les mêmes fonctionnalités. Ce qu'un langage a nativement s'écrit à sa façon ; ce qui lui manque s'écrit avec une extension de ce langage, dans son propre style. Chaque fonctionnalité aboutit au même bloc ou au même élément en ligne UJO, quel que soit le format dans lequel elle a été écrite : un texte peut donc être converti d'un format à l'autre par UJO.

Les formats

FormatMarkupFormatLu en UJO parCompilé
MarkdownmarkdownReader\Markdown\MarkdownReaderUJO, rendu par phil/ujo
UJOujoReader\UjoReaderUJO, rendu par phil/ujo
BBCodebbcodeReader\BBCode\BBCodeReaderUJO, rendu par phil/ujo
MediaWikimediawikiReader\MediaWiki\MediaWikiReaderUJO, rendu par phil/ujo
DokuWikidokuwikiReader\DokuWiki\DokuWikiReaderUJO, rendu par phil/ujo
CreolecreoleReader\Creole\CreoleReaderUJO, rendu par phil/ujo
HTMLhtmlReader\Html\HtmlReadertel qu'écrit, pour l'assainisseur
Texte bruttextReader\Text\TextReaderAdapter\PlainText, directement en HTML

Le HTML est compilé tel qu'il est écrit, pour que ce qu'a écrit un rédacteur parvienne intact à l'assainisseur, et le texte brut directement en paragraphes ; leurs lecteurs les convertissent en UJO quand un texte doit devenir des blocs. Un module complémentaire apporte un format à lui sous un autre nom : voir Points d'extension.

Correspondance

Une cellule nomme la syntaxe ; « — » marque une fonctionnalité que le format n'a pas. La colonne UJO est ce que devient chaque syntaxe de la ligne. La colonne Markdown décrit le Markdown de PHIL, blocs {{ }} et pages compris. Les trois wikis partagent leurs balises d'extension : MediaWiki et DokuWiki les écrivent <note>, Creole <<note>>, fermées par </note> et <</note>> ; une cellule de la colonne DokuWiki ou Creole qui dit « la balise » désigne la balise de la colonne MediaWiki, dans ses propres délimiteurs. La colonne HTML nomme les éléments, et les classes du HTML que produit phil/ujo, que le lecteur HTML relit.

Texte et éléments en ligne

FonctionnalitéUJOMarkdownBBCodeMediaWikiDokuWikiCreoleHTML
Gras, italique<b>, <i>**b**, *i*, __b__, _i_[b], [i]'''b''', ''i'', '''''both'''''**b**, //i//**b**, //i//<b>, <strong>, <i>, <em>, <cite>, un style gras ou italique
Barré<s>~s~, ~~s~~[s]<s>, <del>, <strike>, {{s|…}}<del><<s>>…<</s>><s>, <del>, <strike>, text-decoration: line-through
Souligné<u>—[u]<u>, <ins>, {{u|…}}__u____u__<u>, <ins>, text-decoration: underline
Surlignage<mark>==text==[mark], [highlight]<mark>, {{Mark|…}}, {{Highlight|…}}<mark><<mark>>…<</mark>><mark>
Exposant, indice<sup>, <sub>—[sup], [sub]<sup>, <sub><sup>, <sub>^^sup^^, ,,sub,,<sup>, <sub>
Code en ligne<code>`code`[icode]<code>, <tt>, {{code|…}}''code''##code##, {{{text}}}<code>, <kbd>, <samp>, <tt>
Texte gardé tel qu'écritson texte\ avant un caractère[code], [icode]<nowiki><nowiki>, %%text%%~ avant un caractère, {{{text}}}—
Saut de ligne<br>deux espaces ou \ à la fin d'une ligneune nouvelle ligne<br>\\ avant une espace ou la fin de la ligne\\<br>
Lien<a href>[text](address), [text][label], [label][url], [url=address], [email][[Page|text]], [[Page#Section]], [https://… text][[page|text]], [[namespace:page#section]], [[https://…|text]][[page|text]], [[https://…|text]]<a href>
Lien automatique<a href><https://…>, <name@example.com>, https://…, www.…une adresse dans le texteune adresse dans le texteune adresse dans le texte, <name@example.com>une adresse dans le texte—
Espace insécableU+00A0—[nbsp]&nbsp;, {{nbsp}}, <nbsp>la balisela balise&nbsp;
Icône<i data-icon="set:name">—[icon=fas_fa-dragon]{{Icon|fas_fa-dragon}}, <icon fas_fa-dragon>la balisela balise<i data-icon>
Espace horizontale<span data-hspace>—[hspace=100px]{{Hspace|100px}}, <hspace 100px>la balisela balise<span data-hspace>
Couleur du texte<span class="text-color" data-color>—[color=red]{{Color|red|text}}, <color red>la balisela balise<span data-color>
Divulgâcheur<span class="spoiler">—[spoiler]{{Spoiler|text}}, <spoiler>la balisela balise<span class="spoiler">
Variablesa valeur—[var=name]value[/var], [var]name[/var]{{#vardefine:name|value}}, {{#var:name}}, <var name="value">, <var name><var name="value">, <var name><<var name="value">>, <<var name>>—
Note de bas de page<sup data-footnote> et footnote[^label], [^label]: text[footnote]text[/footnote]<ref>text</ref>, <ref name="a">, <ref name="a"/>, {{Footnote|text}}((text))<<footnote>>text<</footnote>><sup data-footnote> et son <aside class="ujo-footnote">
HTML brutéléments en ligne, assainisgardé à all, échappé en dessous[html] comme bloc<html>, gardé à all, échappé en dessousla balisela balise—

Blocs

FonctionnalitéUJOMarkdownBBCodeMediaWikiDokuWikiCreoleHTML
Paragrapheparagraphdes lignes entre des lignes videsdu texte, une ligne vide entre deuxdes lignes entre des lignes videspareilpareil<p>, le texte entre les blocs
Titreheader, son ajustement d'ancre# à ######, ou souligné par === ou ---[h1]…[h6]= … = à ====== … ============ … ====== est le premier niveau, == … == le cinquième= … = à ====== … ======, les signes fermants facultatifs<h1>…<h6>
Ancre de titreajustement anchorgénérée, ou {#id}générée, ou id=générée, ou id sur un <div> autourgénérée, ou id sur une balise autourgénérée, ou id sur une balise autourgénérée, ou id
Liste, liste ordonnéelist-, +, * ; 1., 1)[list], [*] ; [list=1], [list=a], [list=i]*, #, un signe de plus pour chaque niveau *, -, deux espaces de plus pour chaque niveau*, #, un signe de plus pour chaque niveau<ul>, <ol>, start, type
Liste de tâcheslist, style checklist- [ ], - [x] sur chaque élément[list=check], [*=x][ ], [x] après le signe de chaque élémentpareilpareilune case à cocher, ou data-checked, dans chaque élément
Paragraphe en retraitparagraph, son ajustement indent——:, ::, un signe pour chaque niveau—:, ::—
Citationquote>[quote]<blockquote>>><blockquote>
Citation avec attributionquote, sa légende—[quote=author]<quote author="…">, <blockquote author="…">la balisela balise<figure>, son <blockquote> et son <figcaption>
Bloc de codecode, son langageclôturé par ``` ou ~~~, ou indenté[code], [code=language]des lignes qui commencent par une espace, <pre>, <syntaxhighlight lang="…">, <source lang="…">, <code php>des lignes indentées de deux espaces, <code php>, <file php>{{{ et }}} sur des lignes à eux, <<code php>><pre>, son <code class="language-…">
Filetdelimiter***, ---, ___[hr]------------<hr>
Tableautableles tableaux de GitHub[table], [tr], [th], [td]{|, !, |, |-, |}^ en-têtes, | cellules|= en-têtes, | cellules<table>, <th>, <td>
Imageimage, son alt, sa légende, son ajustement de mise en page![alt](address "caption"), seule ou dans un paragraphe[img], [img=alt width=… wrap=left][[File:a.png|left|200px|alt=…|Caption]]{{ a.png?200|Caption}}, placée selon ses espaces{{a.png|alt}}<img alt title>, <figure> et son <figcaption>
Liste de définitionsdefinitionListTerm puis : definition[dl], [dt], [dd]; Term : Definition, : Definition = Term : Definition, : Definition; Term : Definition, : Definition<dl>, <dt>, <dd>
Table des matièrestoc[TOC][toc], [toc=Title depth=4]__TOC__, {{TOC|title=…}}, <toc title="…" depth=4>~~TOC~~, la balisela balise<nav class="ujo-toc">
PréambuleReading::$metadatadu YAML entre des lignes ---[metadata] YAML, [style] CSS<metadata> YAML, <style> CSSles balisesles balises<title>, <meta name="…" content="…">
Bloc de HTML brutrawgardé à all, échappé en dessous[html], gardé à all, échappé en dessous<html> sur des lignes à lui, gardé à all, échappé en dessousla balisela balise—
Attributsajustements, ou un container{.class #id} après un titre ou sur la ligne sous un blocid=, class=, align=, width=, height=, wrap= sur une balise de blocid, class, align, width, height, wrap sur une balise d'extension ; <div id="…"> autour d'un blocles mêmes, sur la baliseles mêmes, sur la baliseid, align, text-align, les classes ujo-align-… et ujo-wrap-…
Note encadrée, texte à lire à voix hautenote, descriptive::: note Title, {{note …}}[note=Title], [descriptive]<note title="…">, <descriptive>les balisesles balises<aside class="ujo-note">, ujo-descriptive, leur ujo-box__title
Avertissement, alertewarning, alert::: warning, ::: info et les autres types d'alerte[warning=Title], [alert=info]<warning title="…">, <alert info>les balises, et <note warning>, <note important>, <note tip> du module de notesles balises<aside class="ujo-warning">, <div class="ujo-alert ujo-alert--info">
Bloc repliabletoggle—[spoiler=Title]<spoiler title="…">, <toggle> qui contient des blocsles balises, et <hidden title="…">les balises<details>, son <summary>
Une classe de l'apparencecontainer::: {.class}, {{class …}}[block=class], class=<div class="…">, <block class><WRAP class>, les balisesles balises<div class="ujo-container …">

Pages et livres de jeu

FonctionnalitéUJOMarkdownBBCodeMediaWikiDokuWikiCreoleHTML
Saut de page, saut de colonnepageBreak, columnBreak\page, \column[pagebreak], [columnbreak]{{Page break}}, {{Column break}}, <pagebreak>, <columnbreak>~~PAGEBREAK~~, ~~COLUMNBREAK~~, les balisesles balisesujo-page-break, ujo-column-break
Style de la page suivante, couverturepageStyle\page {class}[pagebreak=frontCover], [block=frontCover]{{Page break|frontCover}}, <pagebreak frontCover>, <block frontCover>~~PAGEBREAK:frontCover~~, les balisesles balisesujo-page-style, son data-variant
Sur toute la largeur des colonneswide::: wide, {{wide …}}[wide], l'indicateur wide<wide>, l'indicateur widepareilpareilujo-wide
Colonnes côte à côtecolumns—[columns][column]…[column]…[/columns]<columns><column>…<column>…</columns>pareil, et <newcolumn>pareilujo-columns, son ujo-column
Colonnes à écoulementcolumnFlow—[columns=3]<columns 3>pareilpareilujo-column-flow--3
Lignes videsspacer—[spacer=3]{{Spacer|3}}, <spacer 3>~~SPACER:3~~, la balisela baliseujo-spacer, son data-lines
Alignementajustement alignment{text-align:center} sous un bloc[center], [left], [right], [justify], [align=…], align=<center>, <left>, <right>, <justify>, <align right>, align=pareilpareil<center>, align, text-align
Numéro de pagepageNumber{{pageNumber 1}}[pagenumber], [pagenumber=12], [pagenumber=skip], [pagenumber=reset]{{Page number|12}}, <pagenumber 12>, <pagenumber skip>, <pagenumber reset>~~PAGENUMBER:12~~, les balisesles balisesujo-page-number, son data-mode
Pied de page courantrunningFooter{{footnote …}}[footer]<footer>la balisela baliseujo-running-footer
Filigrane, bannièrewatermark, banner{{watermark …}}, {{banner …}}[watermark], [banner]<watermark>, <banner>les balisesles balisesujo-watermark, ujo-banner
Décorationdecoration{{watercolor1}} à {{watercolor99}}[decoration=12 color=#rrggbb]{{Decoration|12|color=#rrggbb}}, <decoration 12 color=#rrggbb kind=ornament>~~DECORATION:12 color=#rrggbb~~, la balisela baliseujo-decoration--stain-12
Bloc de statistiquesstatblock{{monster …}}, {{statblock,spell …}}[statblock], [monster], frame, wide, name=, subtitle=<statblock name="…" subtitle="…" frame wide>, <monster>les balisesles balisesses blocs
Table de classetable, ajustement variant{{classTable …}}[classtable frame decoration]<classtable frame decoration>la balisela baliseson tableau, sans la variante
Crédit d'illustrationcredit{{artist …}}[credit=Title], [artist]<credit title="…">, <artist>les balisesles balisesujo-credit, son ujo-credit__title

Prévu

Les fonctionnalités ci-dessous font partie du Markdown de PHIL et de chaque autre format, et ne sont pas encore lues : des attributs par défaut par type de bloc, les liens vers d'autres sites (rel, target, les domaines propres du site), les mentions @name et #ticket, une adresse seule sur sa ligne comme contenu intégré, la ponctuation typographique par phil/typography, des niveaux de titres rendus consécutifs, et un mode en ligne seulement. BBCode, Les wikis et HTML détaillent leurs colonnes.