ven. 24 mars 2023
Notations
Dans cet article :
<i> ou <h2>. On peut saisir du code html partout où l'on veut. Le code <balise ...> ou </balise> est interprété comme du code html dès lors que balise est une balise clé html (i.e a, abbr, acronym, ... ), sauf dans les parties code.
<head>Qlam se charge de créer une entête minimale de la page. On peut y ajouter des balises meta ou des inclusions de style css ou de script js. L'entête prend fin lorsque Qlam rencontre la commande #title qu'il traduit en <title>...</title>. De plus Qlam utilise l'argument de la commande #title pour créer le titre la page dans le <body>.
La ligne qui suit la balise #title est censée être la date de l'article.
Syntaxe des commandes du head :
<meta name="site" content="grognon"><link rel="stylesheet" href="css/perso"><script src="script/LaTeXMathML.js"></script><i>Italique</i><strong>texte en gras</strong><u>souligné</u><kbd>T</kbd><span="box">texte encadré</span><code>char buf[64];</code>char buf[64];Remarque : les caractères ^A, ^B, ... s'obtiennent sous linux par :
CtrlV CtrlA, CtrlV CtrlA, ...
Dans la pratique on maintient Ctrl enfoncée et on appuie successivement sur V et A ou sur V et B, etc.
<h2>Une balise qlam #2 Titre1 (resp. #3 Titre2, ... ) crée un header c'est à dire <h2>Titre1</h2> (resp. <h3>Titre2</h3>, ... ). Les trois premières h2, h3 et h4 sont numérotées automatiquement en css comme dans cette page. Mais Qlam leur attribue un identificateur compatible avec une URL qui sera exploité pour établir les liens internes (voir Liens).
Exemple : #2Listes à puces → <h3 id="Listesapuces"> Listes à puces</h3>.
Code qlam
- Ligne 1- Ligne 2- Ligne 3
Remarquez la ligne vide après le dernier item pour clore la liste..
Résultat
Code qlam
+ Ligne 1+ Ligne 2+ Ligne 3
Résultat
Code qlam
? Mot 1: Définition de Mot 1: Suite de la définition de Mot 1: ...? Mot 2Définition de Mot 2Suite de la définition de Mot 2
Résultat
Remarque
Dans une suite en définition le mot commence par '?'. Les lignes de la défitions sont initiées par une tabulaation ou le caractère ':' .
Exemple :
#tableDécimal|Français|English1 |un |one2 |deux |two
Le code précédent produit :
| Décimal | Français | English |
|---|---|---|
| 1 | un | one |
| 2 | deux | two |
La balise #table accepte un argument qui est la classe (css) de la table.
On l'a rencontré dans le paragraphe Styles typographiques.
On l'ouvre avec la balise qlam #code et se termine par une ligne vide.
La balise #code accepte un argument de la forme [-n] [-l] lang où lang est un langage de programmation. Qlam reconnait les langages que j'utilise : bash, c, cpp, html, js, py, scad. On peut en ajouter en ajoutant dans include un fichier *.dict qui contient les mots clés du langage.
Exemple de bloc de code produit par Qlam.
#include "qlam.h"int main(int argc, char *argv[]){// make hdictfor(int i=0; i<27; i++) hdict[i] = NULL;mkdict(hdict, "html");if(argc == 1) printf("Usage: %s NAME [NAME] ...\n", argv[0]);else {str_t src, dest;char *p = basename(argv[1]), *q;if((q = strchr(p, '.')) != NULL) *q = 0;for(int c=1; c<argc; c++){sprintf(src, "qlm/%s.qlm", p);sprintf(dest, "%s.html", p);mkhtml(src, dest);}}freedict(hdict);}
La syntaxe [nom du lien->cible] produit le code html <a href="cible">nom du lien</a>.
Qlam maintient des liens internes dans la page.
Par exemple le sous-titre ci-dessus 1.7. Liens ci-dessus est produit par le code #2 Liens. Il crée une ancre HTML <h3 id="Liens"> Liens</h3>.
Mais le sous-ttire ci-dessu 1.8. Note de bas de page, qui a été produit par le code Qlam #2 Note de bas de page va donner l'ancre HTML <h3 id="Notedebasdepage"> Note de bas de page</h3>. Son identifiantid est fabriqué par une fonction (safe-url) qui supprime les espaces, les accents, etc. afin d'obtenir une url propre.
Exemple : l'ancre du sous-titre bien avant 1.4.2 Listes numérotées est
<h4 id="Listesnumerotees"> Listes numérotées</h4>.
Pour obtenir un renvoi à un titre interne à la page à ce pargraphe il faut taper le code Qlam
[voir § Listes numérotées->#Listesnumerotees]
Essayez : voir § Listes numérotées.
Dans le corps du texte un renvoi à une note de bas de page se fait avec la balise Qlam (n) où n est le numéro de la note. Essayez (1).
La note proprement dite se fait (habituellement en bas de page) avec la balise #note n. Le contenu de la note doit se terminer par une ligne vide.
On peut écrire du javascript après la balise Qlam #js (sans argument).
Exemple : Le code suivant donne l'heure
#jsvar now = new Date();var h = now.getHours();var m = now.getMinutes();var s = now.getSeconds();document.write('I' est ' ' h + ':' + m + ':' + s);
Avec un argument la balise #js nomduscript produit le code :
<script src="script/nomduscript.js></script>
On peut inclure un fichier html avec la balise #include chemin/fichier.html.
Il faut télécharger les fichiers qlam.h et qlam.c et les compiler avec la commande gcc qlam.c -o qlam.
Il faut ensuite créer à la racine du site local les dossiers doc, img, include, script, qlm, css puis copier :
Notes de bas de page
(1)Ceci est la note de bas de bas de page crée dans le pargraphe 1.8 Note de bas de page