mef2html.awk un convertisseur de tags en html écrit en awk

Mise à jour: 26 mars 2015
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2015 Jean-Louis BICQUELET-SALAÜN

PRESENTATION

mef2html est un système de tags permettant d'écrire plus simplement du code html. Les principales caractéristiques sont:

  • Son système de tag est simple et fonctionne sur un nombre de règles restreintes. Il permet de mettre en valeur le texte (italique, gras, mise en couleur ...) .
  • Il permet de générer des tableaux facilement avec des couleurs différentes pour chaques lignes.
  • Il permet d'utiliser du code css pour mettre en relief les écrans console, les fichiers, etc..
  • Il autorise l'insertion de fichiers include et l'inclusion de résultat de commandes systèmes.

  • Il est écrit en Awk, ce qui lui permet d'être portable et de demander peut de ressources.
  • Il est facilement extensible.
  • Il contient sa propre documentation.

VERSION

version : 1.6

date : 12/02/2015

historique:

06/11/2014 1.0 initial          
10/11/2014 1.1 liste et puces, liste de définition
14/11/2014 1.2 ajout tags html (<ins>, <exp> ...)
14/11/2014 1.3 ajout de la date et de l'heure	
20/11/2014 1.4 ajout de @link 'non générique)
02/12/2014 1.5 @tab avec couleur
03/12/2014 1.5.1 documentation associée
10/12/2014 1.5.2 tags en plus small,mark
15/12/2014 1.5.3 affichage de la version, meilleure documentation
16/12/2014 1.5.4 commentaires
14/01/2015 1.5.5 @lip/ ajouté (liste + paragraphe)
12/02/2015 1.6 correction bug tab: split ne retourne pas une valeur ordonnée

UTILISATION

USAGE

mef2html.awk s'utilise de 3 manières possibles

  1. awk -f mef2html.awk fichier
    convertit en html fichier

  2. awk -f mef2html.awk usage
    affiche l'usage

  3. awk -f mef2html.awk doc
    affiche une documentation en html

principes

  • Les tags utilisés par mef2html.awk commencent toujours par le caractère @.

  • Les tags se terminant par / correspondent à des commandes de blocs.
    si le tag est @key/ , le bloc se termine par @key et le formattage s applique au bloc définit.

  • Les tags délimités par ( ) correspondent à des fonctions soit de mise en forme de texte, soit des fonctions fournissant une chaine (heure, date par exemple).

  • Les tags se terminant par un = indique des affectations de variables ou des directives de mise en forme.

BLOCS

Les tags définissant les blocs sont:


@h1/ header niveau 1
@h2/ header niveau 2
@h3/ header niveau 3
@h4/ header niveau 4
@h5/ header niveau 5
@h6/ header niveau 6

@tab/ ou @table/ début de tableau
@tab ou @table fin de tableau

les colonnes sont séparées par un caractère défini par la variable [sep].
la taille de la bordure est fixée par la variable [border].

@screen/ ou @scr/ ou @cons/ début du mode console
@screen ou @scr ou @cons fin du mode console

@code/ ou @lst/ début du mode listing
@code ou @lst fin du mode listing

@list/ début d'une liste v@list fin d'une liste

@download/ début d'un tableau de download
@download fin d'un tableau de download

@system/ execute une commande et insère le résultat
@include/ insère un fichier

TAGS

Les tags de mise en forme du texte:

@ins() - ajout de texte
@del() - suppresion de texte
@sup() - exposant
@sub() - indice
@em() - emphase
@strong() - strong
@abbr() - abréviation
@acronym() - acronym
@acro() - acronym
@def() - définition
@citation() - citation
@kbd() - touche clavier
@var() - variable
@samp() - exemple de sortie
@address() - addresse
@b() - gras
@i() - italique
@u() - souligné
@s() - barré
@cr() - couleur rouge
@cb() - couleur bleu
@cv() - couleur verte
@cn() - couleur noiree
@cj() - couleur jaune
@cw() - couleur blanche

VARIABLES

Les variables et directives que l'on peut définir pour la mise en forme sont:

@border= bordure d'un tableau (0,1,2,..)
@sep= séparateur de colonne dans un tableau (; . : ...)
@puce= type de puce : disc, square, circle

@bicolor=0 tableau sans couleur
@bicolor=1 tableau avec couleur de fond color1 et color2
@color1= couleur format #F7F7F7 par exemple
@color2= couleur format #A7A7A7 par exemple

EXEMPLES

TELECHARGEMENT

Description date script
mef2html.awk 15/12/2014 mef2html.awk
fichier exemple 15/12/2015 a venir