Une nuit j'ai rêvé que j'explorais le net. Et j'y découvrais bientôt une plateforme de blogging trop cool. Ça ressemblait un peu à skyblog, mais en moins kikoo. Et je crois que ça s'appelait VenC. Les premières vrais moutures de VenC sont en fait inspirés du concept proposé par le framework Jekyll/Octopress qui permet de produire des blogs statics. C'est à dire ne reposant pas sur des technologie comme PHP et composé uniquement de page html. Mon idée était d'une part de créer mes propres outils de publications en complétant les fonctionnalités manquantes aux autres solutions logiciel et d'autre part de pouvoir entretenir un blog sur Freenet avec lequel je pourrais me faire plaisir au niveau des layouts html et du style. À l'époque ce script s'appelait JellySYS.
VenC est donc une continuation de ce projet datant de 2012. Toute l'architecture à été revue et inclue de nombreuses nouvelles fonctionnalités. Dont la possibilité de produire des pages hierarchisé par catégories, ou des fils de publications contenus dans de multiple colone, à la manière de la plupart des tumblrs. On peut être geek et avoir du swag.
VenC est sous licence GNU/GPLv3
De la même manière que Jekyll ou Octopress, VenC est un outil d'édition de blog en ligne de commande. Chaque publication est stocké dans un fichier dont le nom respect un format particulier identifiable par VenC. Chacun de ces fichiers contiennent un nombre finis de champs au formal yaml:
Le reste du fichier consiste en du texte libre qui sera en fait à l'exportation le véritable contenu de la publication.
Il est possible de définir ses propres modèles. Ceux là consistent en des fichier html à compléter au moment de l'édition, et sont insérés dans la publication au moment de sa création
VenC peut produire plusieur type de fils selon le cas de figure, automatiquement identifié selon la présence ou non de certaines fonctions spécifique à VenC dans les modèles html et les publication elles-mêmes. En outre, VenC peut générer:
Dans l'absolue, même si le thème VenC que vous utilisez ne génère pas l'un ou l'autre type de fil, vous devriez toujours renseigner les champs correspondant dans chaque publication.
Le déploiement d'un blog consiste finalement en l'assemblage successif de modèles qui sont préalablement analysé. Lorsque VenC trouve une fonction qui lui est spécifique il calcule à la volée la chaine de caractère attendu et l'insère. Un certains nombre de fichiers html -de modèles- sont indispensables pour un thème minimal, à savoir l'en-tête, le corp d'une publication et le pied de page.
VenC à été développé pour python 3.3 et dépend de PyYaml, veillez à bien installer les paquets correspondant sur votre système
Une fois avoir téléchargé et extrait l'archive contenant VenC, ouvrez un terminal dans le dossier ainsi crée et lancez le script d'installation avec les droits appropriés.
[root@monlaptopdelamortquitue VenC-0.0.0-1]# ./install.sh « src/VenC/newEntry.py » -> « /usr/lib/python3.3/VenC/newEntry.py » « src/VenC/context.py » -> « /usr/lib/python3.3/VenC/context.py » « src/VenC/core.py » -> « /usr/lib/python3.3/VenC/core.py » « src/VenC/.core.py.swp » -> « /usr/lib/python3.3/VenC/.core.py.swp » « src/VenC/languages.py » -> « /usr/lib/python3.3/VenC/languages.py » « src/VenC/newBlog.py » -> « /usr/lib/python3.3/VenC/newBlog.py » « src/VenC/exportBlog.py » -> « /usr/lib/python3.3/VenC/exportBlog.py » « src/VenC-0.0.0.py » -> « /usr/bin/venc »
VenC devrait maintenant être installé sur votre système. Pour vous en assurer tapez venc dans un terminal, vous devriez obtenir le résultat suivant:
[root@monlaptopdelamortquitue VenC-0.0.0-1]# venc VenC: Rien à faire.
Pour créer un projet appelez VenC avec l'option -nb ou --new-blog en indiquant comme suit le nom de votre projet. La commande ls ou tree indique que VenC à bien crée un dossier du nom du projet ainsi que son contenu de base.
[anonyme@monlaptopdelamortquitue web]$ venc -nb mon_blog_de_geek [anonyme@monlaptopdelamortquitue web]$ ls mon_blog_de_geek [anonyme@monlaptopdelamortquitue web]$ tree mon_blog_de_geek/ mon_blog_de_geek/ ├── blog ├── blog_configuration.yaml ├── entries └── theme 3 directories, 1 file
Notez que si votre nom de projet comporte des espaces mettez celui là entre guillemet. Il vous est en fait possible de générer plusieur projets en une seule fois.
[anonyme@monlaptopdelamortquitue web]$ venc --new-blog moo foo bar [anonyme@monlaptopdelamortquitue web]$ ls bar foo mon_blog_de_geek moo
VenC génére un fichier de configuration par défaut dans le répertoir racine du projet nommé blog_configuration.yaml. Pour des informations détaillé sur le format YAML référez vous à la documentation sur le site officiel.
author_description: About you author_name: Your name bitcoin: Your Bitcoin address blog_description: Blog description blog_keywords: Some keywords that define your blog blog_language: Blog language blog_name: blog Name columns: 3 email: Your email entries_per_pages: 10 fms_public_key: Your FMS Public Key freemail: Your Freemail license: Some text that specify the applied license to your content path: archives_overview_directory_name: overview authors_directory_name: '{author}' categories_directory_name: '{category}' dates_directory_name: '%Y-%m' entry_file_name: entry{entry_id}.html index_file_name: index{page_number}.html root: ./ tags_directory_name: '{tag}' rss_file_name: feed.xml rss_thread_lenght: 5 sone: Your sone thread_order: oldest first url: Blog url wot: Your WoT
Il vous est par ailleurs possible de rajouter vos propres champs. La façon d'y accéder sera détailler ultérieurement.