Un générateur de site statique - retour accueil
git clone git://bebou.netlib.re/catium
Log | Files | Refs | README |
commit fda5395d9df6cd7c79eb47af94555a90f49b1482 parent 0c55fe09fa787ad1a9d44b397591d676e521c011 Auterice: arthur <arthur.pons@unistra.fr> Date: Thu, 30 Nov 2023 15:56:46 +0100 Modif pour faire un dépôt "générique" Diffstat:
M | USAGE | | | 2 | +- |
M | lib/html | | | 14 | ++++++++++---- |
M | makefile | | | 50 | +++++++++++++++++++++++++++----------------------- |
A | rc/favicon.png | | | 0 | |
M | src/index.md | | | 46 | ++++++++++++++++++---------------------------- |
5 files changed, 56 insertions(+), 56 deletions(-)
diff --git a/USAGE b/USAGE @@ -383,7 +383,7 @@ défaut. Pour plus d'info lire le README ou consulter le manuel de `sh`. ### Ajouter une section au template -Admettons que nous souhaitons ajouter un footer et un aside donc nous voulons +Admettons que nous souhaitons ajouter un footer et un aside dont nous voulons maitriser le contenu. Rien de plus simple, il suffit de créer les balises qui vont bien et d'appeler la commande `the` avec les noms des sections. diff --git a/lib/html b/lib/html @@ -1,10 +1,16 @@ layout() <<@@ cat <html> -<header> ${STYLE:+<link rel="stylesheet" href="$STYLE"/>} -<title>${title?La page dont le chemin s'affiche au dessus nécessite un titre}</title> -</header> +<head> + ${STYLE:+<link rel="stylesheet" href="$STYLE"/>} + <title>${title?La page dont le chemin s'affiche au dessus nécessite un titre}</title> +</head> <body> - <div class="main">$(the main)</div> + <main> + $(the main) + </main> + <footer> + $(the footer) + </footer> </body> </html> @@ diff --git a/makefile b/makefile @@ -4,12 +4,9 @@ mk = install -D /dev/stdin # On créé des variables contenant la liste des fichiers qui nous intéressent # Dans sources les md à transformer en html -# Dans annexfiles les fichiers qui gravitent autour d'une page -# Dans allfiles l'union des deux pour générer le dossier raw +# Dans annexfiles le reste des fichiers sources != find src -type f -name '*.md' annexfiles != find src -type f -not -name '*.md' -allfiles = $(sources) $(annexfiles) -# find src -type f # On construit dynamiquement les règles à invoquer avec des substitutions de # chaînes de caractères @@ -20,33 +17,40 @@ allfiles = $(sources) $(annexfiles) # Même mécanique pour les raw et les fichiers annexes pages = ${sources:src/%.md=root/%.html} annexrules = ${annexfiles:src/%=root/%} -rawrules = ${allfiles:src/%.md=root/%.md} -# On appelle toutes les règles pour produire tous les fichiers +# On appelle toutes les cibles pour produire tous les fichiers # nécessaires -# Pour chacune make va tenter de trouver une règle correspondante dans la -# liste qui suit -all: ${pages} ${annexrules} ${rawrules} root/style.css +# Pour chacune make va tenter de trouver une règle correspondante dans la liste +# qui suit +all: ${pages} ${annexrules} root/style.css root/favicon.png +# Règle permettant de vider root si besoin +# Faire make clean pour l'appeler clean:; rm -r root/* + # Règle pour générer le css root/style.css: rc/style.css; cp $< $@ -# Règle pour générer l'html depuis les fichiers md -# Va matcher toutes les règles stockées dans la variable pages -# Chaque fichier html requiert sont équivalent md dans src et le script -# page +# Règle pour générer le favicon +root/favicon.png: rc/favicon.png; cp $< $@ + + +# Syntaxe générale d'une règle : +# cible : liste dépendances ; commandes +# +# Règles pour générer les fichiers +# Chaque cible requiert des dépendances après le ":" +# Si l'un des ses dépendances est plus récent que la cible +# alors la cible est reconstruite # Ce que % match dans la cible sera substitué à la place de % dans les # dépendances -# La commande pour la compilation revient à exécuter le fichier md (qui -# est en fait un script) et piper le contenu dans la commande stockée -# dans la variable mk avec pour argument la cible -# make substitue la variable $@ avec le chemin de la cible -root/index.html : FORCE ; STYLE=/style.css src/index.md | ${mk} $@ -root/%.html : src/%.md page common lib/html ; STYLE=/style.css $< | ${mk} $@ +# make substitue la variable $@ avec le chemin de la cible et $< avec le +# chemin de la première dépendance de la règle + +# Règle pour la génération des pages html +root/%.html : src/%.md page common ; STYLE=/style.css $< | ${mk} $@ +# Pour les autres fichiers root/% : src/%; install -D $< $@ -root/%.md : src/%.md; install -D $< $@ -page : lib/htmlhardcoded ; touch $@ -common : lib/htmlhardcoded ; touch $@ -FORCE: +page : lib/html ; touch $@ +common : lib/html ; touch $@ diff --git a/rc/favicon.png b/rc/favicon.png Binary files differ. diff --git a/src/index.md b/src/index.md @@ -1,42 +1,32 @@ #! page -%T Une exploration collective du convivialisme numérique +%T Un exemple de page %A katzele -%D Nous sommes un collectif de personnes interrogeant la place et l\'avenir du numérique dans une société contrainte de prendre en compte les limites planétaires +%D Un exemple de page Francium démontrant une partie des fonctionnalités %S main -# Katzele +# Un exemple de page dans Francium -Une exploration collective du [convivialisme](https://fr.wikipedia.org/wiki/Outil_convivial) numérique, -Katzele est un groupe ouvert de citoyen* impliqué* dans la réflexion et -l'expérimentation d'un numérique qui permette de s'inscrire dans une société -que les crises sociales et environnementales nous imposent de refonder. Outre -l'urgence de la situation, nous pensons que cette refondation est une chance. +Cette page est un exemple simple de ce que l'on peut faire avec Francium -Pour toute question, rencontre (physique ou virtuelle), animation, et en cas de doute, n'hésitez pas à -[nous contacter](contact.html) et nous partagerons avec vous [nos idées et nos références](about.html). +Ici c'est du markdown : -En plus de nos réunions régulières, les prochaines occasions pour nous rencontrer sont : + * des listes + * bidule + * chouette -Nous maintenons une liste relativement exhaustive des -[évenements passés](./archives/index.html) auxquels nous avons eu le plaisir de participer -(en tant qu'invités, organisateurs, animateurs …) merci encore à toutes et tous pour -ces échanges, ces invitations… +## Des sous-titres -### Participer +etc etc -Que vous ayez 30 minutes à nous consacrer pour un petit coup de main ou un an à -investir dans des projets, votre participation sera grandement appréciée : -Organiser, expliquer, réparer, construire, programmer… tous nos projets manquent de bras. +Ce qui va suivre c'est du mardown généré par cette commande shell exécutée +à la construction du site : -Il existe un [guide de contribution](articles/accueil/index.html) qui explique -comment nous échangeons et quels sont les logiciels que nous utilisons. + uptime -## Articles et notes et code +% -Parfois, on note des trucs. Attention, c'est rarement abouti.\ -Pour le code, ça se passe [sur la page de kit](kit.html) +uptime | save_md main -### les articles - - -### les notes +%S footer +Copyright machin© bidule blablabla +%