Un générateur de site statique - retour accueil
git clone git://bebou.netlib.re/catium
Log | Files | Refs | README |
page (2840B)
1 #! /usr/bin/env dash 2 3 # Chemin absolu du fichier css 4 # du point de vue du serveur web 5 # (et non pas dans le système de fichier 6 # du dépôt git) 7 STYLE=/style.css 8 9 # Création du dossier temporaire dans lequel 10 # les fichiers contenant l'html des sections 11 tmpdir=$(mktemp -d) 12 trap "rm -rf $tmpdir" EXIT 13 14 # Fonction pour enregistrer du contenu dans une section 15 16 save() cat >> "$tmpdir/$1" 17 18 # L'alias pour ouvrir une section 19 # Ouvre un heredoc avec pour délimiteur 20 # "endsection" et commande "save" 21 22 alias section:='<<\endsection save' 23 24 # Pareil mais le shell écrit dans la 25 # section s'exécutera 26 # alias section:='<<endsection save' 27 28 ######################## 29 # PREMIÈRE CONFIGURATION 30 ######################## 31 32 ################# 33 # SUPPRIMEZ DE LA 34 <<. >&2 cat 35 ---------------------------- 36 Première exécution de catium, merci d'aller modifier le code juste en dessous 37 de ce paragraphe dans le fichier "page". Cela vous permettra de choisir un ou 38 plusieurs transcripteurs pour votre site. Si une ou plusieurs des lignes déjà 39 présentes vous conviennent vous pouvez la ou les décommenter en retirant le "#" 40 devant. Vous pouvez ensuite supprimer ce bloc de code et relancer make :) 41 ---------------------------- 42 . 43 read -p "Compris ? [y/n] " compris 44 [ "$compris" = "y" ] && 45 >&2 echo "\nBonne édition :)\n" || 46 >&2 echo "\nContactez katzele@framalistes.org pour des explications\n" 47 exit 1; 48 # A DE LA 49 ######### 50 51 # Fonction appelée dans le layout 52 # Permet de traduire en html et afficher 53 # à l'endroit souhaité la section passée 54 # en argument 55 # Par exemple : 56 # <main> 57 # $(show main) 58 # </main> 59 60 # Décommentez l'une des fonctions qui suit 61 # ou créez la votre en fonction du 62 # format que vous souhaitez 63 #show() lowdown "$tmpdir/$1" 64 #show() asciidoc "$tmpdir/$1" 65 #show() cat "$tmpdir/$1" 66 67 ############################### 68 # FIN DE PREMIÈRE CONFIGURATION 69 ############################### 70 71 # alias pour le DSL 72 # Se retrouvent à l'écriture des articles 73 # dans l'entête type : 74 # title: "titre de mon article" 75 alias title:="title" 76 # La fonction appelé par l'alias 77 # Ici permet simplement d'instancier 78 # une variable contenant la valeur du titre 79 title() title="$*" 80 81 alias author:="author" 82 author() author="$*" 83 84 alias description:="description" 85 description() description="$*" 86 87 88 # On charge la fonction déclarée dans layouts/html 89 # C'est le layout 90 . layouts/html 91 92 # Je comprends pas bien ce que cette ligne fait 93 # Demander à Marc 94 # A priori elle teste si un argument a été donné 95 # à page et sinon elle fait `set -` 96 # Or dans le manuel de dash je ne trouve pas 97 # ce que ça fait 98 # En attendant on laisse 99 [ "$1" ] || set - 100 101 # On exécute le code dans la page sh 102 # C'est maintenant que toutes les variables vont s'instancier 103 # et l'html être généré 104 . "$@" 105 106 # On appelle la fonction layout de layouts/html 107 # pour afficher la page 108 layout