VenC, un générateur libre (GPLv3) de site statique en python qui avait déjà été présenté dans une dépêche précédente, est de retour en version 3.2.2 avec tout un tas de nouvelles fonctionnalités cool qu’on va voir ici.
Sommaire
- Auto-rafraîchissement lors de la prévisualisation
- Assignation d’un thème par défaut
- Amélioration des fonctionnalités FTP
- Thème par défaut
- Nouvelles balises VenC
- Le mot de la fin
Auto-rafraîchissement lors de la prévisualisation
Quand vous prévisualisez votre site avec venc -s
vous n’avez plus besoin de tuer le processus du serveur HTTP local et de régénérer manuellement le site à chaque modification. Le mécanisme est à présent automatique et détecte lui-même un changement pour vous présenter la version à jour de votre contenu ! La cache du navigateur étant parfois capricieux, VenC vous notifie dans la sortie standard de ses actions si jamais vous avez un doute.
Assignation d’un thème par défaut
Si vous utilisez le thème par défaut concrete
ou tout autre thème installé en dehors de votre projet il est possible de l’indiquer dans votre fichier de configuration. Ainsi venc -s
sait comment régénérer votre site si nécessaire, et vous n’avez plus besoin d’indiquer le nom du thème installé sur votre système lorsque vous utilisez la commande venc -xb
ou venc -xftp
.
Amélioration des fonctionnalités FTP
De nombreuses améliorations ont été apportées, en voici quelques-unes !
Transfert parallèle
Vous pouvez maintenant définir un nombre arbitraire de connexions FTP simultanées pour le transfert de votre site en ligne. Pour un petit site, ça ne fait pas de grosse différence, mais quand comme moi votre site comporte plusieurs centaines de pages, ça fait gagner un temps fou !
Verbosité accrue
- Affichage du prompt FTP
- Affichage des commandes FTP associées à leur numéro de session
Transfert intelligent
Pour économiser de la bande passante, VenC compare les fichiers locaux avec ceux en ligne. Ce faisant, il ne réalise que les opérations d’I/O strictement nécessaires.
Configuration FTP plus fine
Vous pouvez maintenant paramétrer les options suivantes :
-
ftp_encoding : VenC affichant à présent le prompt FTP du serveur, il est maintenant possible d’avoir des informations sur celui-ci, et notamment l’encodage. Avec l’option
ftp_encoding
, il est donc possible de configurer l’encodage de la session pour être en phase avec le serveur distant et éviter de mauvaises surprises. - ftp_sessions : comme on l’a vu plus haut, c’est le nombre de connexions parallèles possibles.
- ftp_port : avant, pour une raison obscure et injustifiable par le bon sens, le port de la connexion FTP était codé en dur… Maintenant c’est une valeur par défaut qu’il est possible de redéfinir.
Thème par défaut
Le thème par défaut a été amélioré, notamment au niveau de l’ergonomie et de la qualité visuelle du thème. Ce nouveau thème intègre par ailleurs les nouvelles fonctionnalités de la version 3.2 !
Nouvelles balises VenC
Accès amélioré à des métadonnées YAML
Une fonctionnalité ultérieurement manquante et utile dans certains cas d’usage est de pouvoir accéder à des valeurs qui sont imbriquées dans un ou plusieurs dictionnaires YAML dans le fichier de configuration principal ou dans les métadonnées d’une publication.
Pour ce faire, quatre fonctions VenC ont été ajoutés :
- CherryPickBlogMetadata
- CherryPickBlogMetadataIfExists
- CherryPickEntryMetadata
- CherryPickEntryMetadataIfExists
Pour les champs non obligatoires ou non prédéfinis par VenC, ça permet donc en conséquence une plus grande liberté dans l’organisation du contenu YAML.
Accéder à la date de la dernière publication
Utile pour la génération de flux Atom ou RSS, récupérer la date de la dernière publication d’un fil de publication permet d’indiquer la vraie date de mise à jour du flux :
Taxonomie Avancée
C’est la grosse fonctionnalité de cette mise à jour !
Avant la version 3.2 vous ne pouviez organiser vos publications “que” par catégories hiérarchisées. C’était déjà pas mal dans la mesure où ça permettait de créer des menus arborescents pour organiser votre contenu, mais parfois ça n’est pas suffisant. Par exemple, tout à fait au hasard, vous êtes un⋅e artiste et vous gérez votre portfolio avec VenC. Vous pourriez alors avoir un menu de la forme suivante pour organiser vos œuvres :
- Peintures
- Huile
- Acrylique
- Aquarelle
- Dessins
- Encre
- Crayon
- Mediums Mixtes
Et comme vous êtes un⋅e bon⋅ne p'tit⋅e libriste auto-radicalisé⋅e sur Framasoft et LinuxFr vos œuvres sont en partie sous licence CC-By-SA. En partie seulement car oui, vous faites aussi des fanarts, des travaux dérivés d’œuvres sous licences propriétaires. Vous voulez donc séparer ce qui est véritablement libre de ce qui ne l’est pas. En générant par exemple ce type de menu :
# Mediums
- Peintures
- Huile
- Acrylique
- Aquarelle
- Dessins
- Encre
- Crayon
- Mixtes
# Licences
- CC
- By-NC-ND
- By-SA
- Copyright
- Licence Art Libre
Ça tombe bien, c’est précisément ce que permet maintenant de faire VenC 3.2.
L’idée est la suivante : puisque l’arbre de toutes les catégories construit à partir de toutes les publications est un arbre hiérarchisé, il suffit de sélectionner une ou plusieurs branches de cet arbre pour créer nos menus et présenter notre contenu de la façon qu’il nous plaira.
Dans notre exemple précédent l’arbre hierarchisé de toutes les catégories aurait donc la forme suivante :
- Mediums:
- Peintures:
- Huile
- Acrylique
- Aquarelle
- Dessins:
- Encre
- Crayon
- Mixtes
- Licences:
- CC:
- By-NC-ND
- By-SA
- Copyright
- Licence Art Libre
Nous sélectionnons donc les branches Mediums
et Licences
. Avec les nouvelles fonctions VenC qui vont bien :
- GetBlogCategoriesTreeFromBranches
- GetFlattenedBlogCategoriesFromBranches
- GetEntryCategoriesTreeFromBranches
- GetFlattenedEntryCategoriesFromBranches
Sur le thème par défaut concrete
, vous pouvez ainsi avoir un nombre arbitraire de menu de catégories en configurant comme indiqué dans la documentation votre fichier de configuration principal.
À noter que même si ça n’est pas encore idéal, ce système ouvre la voie pour créer des blogs multilingues. Le brainstorming sur le sujet se passe ici. Pour l’heure, il est donc possible de tirer avantage de la taxonomie avancée pour créer des branches pour chaque langue que vous souhaitez utiliser. Avec un peu de JS vous pouvez aller plus loin pour rendre ça plus dynamique à votre convenance.
Le mot de la fin
Voilà pour cette nouvelle version !
La version 3.3 est déjà en cours de développement et vous pouvez suivre l’aventure ici. Un grand merci à Sidoine, Rollniak et Jérémy pour leur aide, leur confiance et leurs feedbacks !
Les sources GIMP
des illustrations sont accessibles ici sous licences CC-By-SA
Toutes les contributions sont évidemment les bienvenues :
- Corriger, relire ou améliorer la documentation.
- Signaler des bugs ou faire des suggestions.
- Écrire du code.
- Me faire aumône pour me payer un p'tit shot de Baileys Irish Cream !
Aller plus loin
- Site de l'auteur (173 clics)
- Site de Jérémy Berry (79 clics)
- Site du projet (224 clics)
- Tipeee (26 clics)
- Liberapay (31 clics)
# Problème avec les illustrations
Posté par denissalem (site web personnel) . Évalué à 1.
Bonjour Benoît Sibaud, les liens sont morts :(
[^] # Re: Problème avec les illustrations
Posté par gUI (Mastodon) . Évalué à 3.
Les liens me semblent corrects. Y en a-t-il un en particulier auquel tu penses ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Problème avec les illustrations
Posté par denissalem (site web personnel) . Évalué à 1.
Le problème vient des images d'illustrations en dessous des titres :
Les images devaient être respectivement :
[^] # Re: Problème avec les illustrations
Posté par Benoît Sibaud (site web personnel) . Évalué à 6.
Corrigé, merci. Ce ne sont pas les liens qui posaient problème (j'ai pensé à ça aussi, d'autant que TuxFamily a des soucis, mais les images étaient bien servies comme des images), mais du titre associé à chaque image, dont les guillemets ont été remplacés par des guillemets français «» par une utilisation malvenue de Grammalecte ici. Il faut bien garder les "" pour que l'analyseur de markdown retrouve ses petits).
[^] # Re: Problème avec les illustrations
Posté par denissalem (site web personnel) . Évalué à 1.
Merci pour la réactivité <3
# J'avais pas suivi
Posté par raspbeguy (site web personnel, Mastodon) . Évalué à 1.
La version du paquet que je maintiens sur Alpine était resté en version 3.1.1 ! D'habitude je scrute sur repology avec un flux RSS pour savoir quand un des paquets que je maintiens a reçu une nouvelle release sur une autre distro. Or ici, nous (Alpine Linux) sommes la seule distro qui propose VenC comme paquet. Va falloir que je trouve autre chose pour me tenir au jus.
Un gentil du net
[^] # Re: J'avais pas suivi
Posté par denissalem (site web personnel) . Évalué à 1.
J'ai hésité à te ping à ce sujet. Mais j'ai pas eu le temps my bad !
Encore merci pour ton intérêt !
[^] # Re: J'avais pas suivi
Posté par denissalem (site web personnel) . Évalué à 1.
Ah et pour suivre les releases, tu peux utilisers les tags sur framagit ou github :)
# unix way
Posté par steph1978 . Évalué à 2.
Bravo pour ce projet
J'ai lu les commentaires de la précédente dépêche.
J'ai un site qui s'apparente à un blog dans lequel je publie mes notes sur divers sujets.
Je ne voulais pas écrire les outils moi-même mais démarrer simple pour ajouter des fonctionnalités quand le besoin s'en faisait sentir.
À date, j'utilise:
Ce que ça fait déjà
J'aimerai travailler sur
je ne pense pas travailler sur
Vous l'aurez deviné, rien de publiable en l'état car hautement lié à mon besoin. Mais largement reproductible.
[^] # Re: unix way
Posté par denissalem (site web personnel) . Évalué à 1.
Salut ! Tu peux détailler ce que tu entend par référence croisé ? Également, quel serait la différence entre des tags, et des catégories non hierarchisé dans ton cas d'usage ?
Ton approche est très unix way indeed <3
[^] # Re: unix way
Posté par steph1978 . Évalué à 2.
Dans un contenu, le fait de pouvoir pointer un autre contenu qui aborde un sujet connexe.
Dans mon modèle mental, un contenu appartient à une et une seule catégorie mais peut avoir un nombre quelconque de tags.
Les catégories ont tendance à être trop strictes, les tags trop lâches :/
Oui
[^] # Re: unix way
Posté par denissalem (site web personnel) . Évalué à 2.
Ok je comprend mieux :)
Pour les categories au sens de VenC, un billet peut avoir autant de categories et sous categories que tu veux. Tu peux donc t'en servir soit comme des tags, soit comme des categories plus strictes. Avec la taxonomie avancée, tu peux combiner les deux approches sans problème. C'est pour ça que dans la v3 j'ai retiré le support des tags qui était redondant. Tu peux toujours en avoir, en ajoutant la métadonnée, mais ça ne sera pas clickable et n'affectera pas la génération et l'organisation de ton contenue. C'est du legacy donc.
Il est aussi possible avec VenC d’aplatir l'arbre de toutes les categories (à partir ou non d'une branche) pour générer ce qui peut-être assimilé à un nuage de tag clickable.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.