Un générateur de site statique - retour accueil
git clone git://bebou.netlib.re/catium
Log | Files | Refs | README |
page (2846B)
1 #! /usr/bin/env sh 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 printf "Compris ? [o/n] " >&2 44 read compris 45 [ "$compris" = "o" ] && 46 >&2 echo "\nBonne édition :)\n" || 47 >&2 echo "\nContactez katzele@framalistes.org pour des explications\n" 48 exit 1; 49 # A DE LA 50 ######### 51 52 # Fonction appelée dans le layout 53 # Permet de traduire en html et afficher 54 # à l'endroit souhaité la section passée 55 # en argument 56 # Par exemple : 57 # <main> 58 # $(show main) 59 # </main> 60 61 # Décommentez l'une des fonctions qui suit 62 # ou créez la votre en fonction du 63 # format que vous souhaitez 64 #show() lowdown "$tmpdir/$1" 65 #show() asciidoc "$tmpdir/$1" 66 #show() cat "$tmpdir/$1" 67 68 ############################### 69 # FIN DE PREMIÈRE CONFIGURATION 70 ############################### 71 72 # alias pour le DSL 73 # Se retrouvent à l'écriture des articles 74 # dans l'entête type : 75 # title: "titre de mon article" 76 alias title:="title" 77 # La fonction appelé par l'alias 78 # Ici permet simplement d'instancier 79 # une variable contenant la valeur du titre 80 title() title="$*" 81 82 alias author:="author" 83 author() author="$*" 84 85 alias description:="description" 86 description() description="$*" 87 88 89 # On charge la fonction déclarée dans layouts/html 90 # C'est le layout 91 . layouts/html 92 93 # Je comprends pas bien ce que cette ligne fait 94 # Demander à Marc 95 # A priori elle teste si un argument a été donné 96 # à page et sinon elle fait `set -` 97 # Or dans le manuel de dash je ne trouve pas 98 # ce que ça fait 99 # En attendant on laisse 100 [ "$1" ] || set - 101 102 # On exécute le code dans la page sh 103 # C'est maintenant que toutes les variables vont s'instancier 104 # et l'html être généré 105 . "$@" 106 107 # On appelle la fonction layout de layouts/html 108 # pour afficher la page 109 layout