Modules externes pour python 2.7
CE script en python permet de produire un fichier HTML contenant un tableau dont les colonnes contiennent des chronologies que l'on peut comparer. Il est possible de prévoir des couleurs pour les colonnes.
Script en débogage !
Cette archive contient le script chrono.py, un fichier d'«événements» chrono.dat et quelques indications générales chrono.txt, et leur équivalent chrono-w.py et chrono-w.dat.
Structure des données
Entrées des événements
Chaque entrée doit comporter un préfixe, une date, une espace et un texte. Elle peut comporter un second texte précédé du signe § (paragraphe).
- le préfixe est lié à une colonne
- la date est une année, éventuellement négative (trait-d'union / signe moins)
- une espace entre l'année et le texte
- le texte sera visible dans la colonne désignée, la date ne le sera pas
- l'éventuel second texte n'est pas visible, il apparaît comme info-bulle en survolant le texte visible
&800 Couronnement de Charlemagne§Cette date a probablement été choisie pour la facilité des écoliers, comme Marignan en 1515.
Déclaration des préfixes utilisés et couleurs des colonnes
Le préfixe & doit préalablement avoir été déclaré sous une forme un peu barbare :
préfixe=fond=texte=infobulle=lien
- fond (blanc par défaut) est la couleur de fond de la colonne concernée par le préfixe
- texte (noir par défaut) represente la couleur du texte
- infobulle représente la couleur du texte (bleu foncé pa défaut) s'il est accompagné d'une info-bulle
- lien est la couleur que prend un lien de cette colonne, à savoir le lien codé sous la forme <a href="https://jchr.be">jchr.be<a>
Les couleurs sont ajustables avec un code de trois chiffres hexadécimaux, c'est-à-dire ayant 16 valeurs, de 0 à 9 et de a (10) à f (15), dans l'ordre RVB (rouge, vert et bleu). b04 signifie beaucoup de rouge, pas de vert et un peu de bleu. Vous trouverez une animation pour choisir les nuances à l'adresse jchr.be/html/rouge.htm
Il est également possible de coder une couleur en RRVVBB pour plus de nuances. fff7f7 signifie le maximum de rouge et très près du maximum pour les deux autres couleurs, soit un rose très pâle. Note : bb0044 vaut b04.
La déclaration des préfixes permet également de définir l'ordre des colonnes selon les préfixes :
:=efe===008 # concerne tout ce qui est à l'extérieur du tableau: titre, paragraphe, lien &=ffe==840 # première colonne avec fond jaune très pâle; les textes à info-bulle sera marron _=000=fff # préfixe réservé à l'emplacement de la colonne des dates, ici la deuxième, en blanc sur fond noir != la troisième colonne contient les événements préfixés par ! @= la dernière colonne contient les événement préfixés par @
Les couleurs par défaut sont le fond blanc fff, le texte noir 000, bleu nuit 008 pour les textes à info-bulle et framboise foncé b04 pour les liens.
Le choix du préfixe est relativement libre, mais évitez les chiffres et le trait d'union ; le # est interdit car ce qui est à droite est supprimé!
Exemple fonctionnel
Fichier des donnée
Voici le fichier des données, dont le nom se termine par .dat
# Tout ce qui est situé à droite de '#' est un commentaire et est ignoré # D E F I N I T I O N D E S P R É F I X E S E T C O U L E U R S # préfixe=fond=texte=infobulle=lien := # concerne le titre et les paragraphes avant le tableau !=ffd # toute donnée préfixée par '!' aura un fond jaune pâle %= # texte noir sur fond blanc pour les données préfixée par '%' _=000=fff # la colonne des dates est blanc sur fond noir (l'inverse par défaut) @=ddf=090 # bleu pâle pour le fond ; le texte apparaît verdâtre &=fdd==088 # la troisième chaîne concerne la couleur du texte pour l'info-bulle $=dfd=a60==080 # fond vert pâle, les liens sont en vert foncé # D O N N É E S : : Titre de la page # le titre de la page est la première ligne préfixée de ':' : Un premier paragraphe est défini avec la deuxième ligne préfixée avec ':' . Il doit être saisi d'une seule traite, le retour-chariot est interdit. Les couleurs utilisées ici piquent les yeux, elles servent à montrer les possibilités. Pour la composition des couleurs, voir jchr.be/html/rouge.htm. : Deuxième paragraphe. # préfixe [négation] date espace texte [§infobulle] !-5 # pour éventuellement commencer par une date antérieure au premier événement !-3 Ce texte s'écrira sur fond jaune (ffd) &7 Ce texte s'affichera sur fond rose (fdd) &7 info-bulle en bleu-vert§et un texte qui n'apparaîtra qu'en info-bulle @-2 Texte verdâtre sur fond bleu ciel %5 Texte noir sur fond blanc (par défaut) %5 Autre texte à la même date $3 fond vert pale§autre info-bulle
Résultat
Titre de la page
Un premier paragraphe est défini avec la deuxième ligne préfixée avec ':' . Il doit être saisi d'une seule traite, le retour-chariot est interdit. Les couleurs utilisées ici piquent les yeux, elles servent à montrer les possibilités. Pour la composition des couleurs, voir jchr.be/html/rouge.htm.
Deuxième paragraphe.
-5 | |||||
---|---|---|---|---|---|
-4 | |||||
Ce texte s'écrira sur fond jaune (ffd) | -3 | ||||
-2 | Texte verdâtre sur fond bleu ciel | ||||
-1 | |||||
1 | |||||
2 | |||||
3 | |||||
4 | |||||
Texte noir sur fond blanc (par défaut) Autre texte à la même date | 5 | ||||
6 | |||||
7 | Ce texte s'affichera sur fond rose (fdd) |