VenC-0.0.0

Manuel d'utilisation

  1. Avant propos
  2. Licence
  3. Aperçu des fonctionnalités
  4. Installation
    1. Linux
  5. Commencer
    1. Création d'un ou plusieur projet
    2. Configurer votre projet

Avant propos

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.

Licence

VenC est sous licence GNU/GPLv3

Aperçus des fonctionnalités

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.

Installation

Linux

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.

Commencer

Création d'un ou plusieur projet

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

Configurer votre projet

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
author_description:
C'est ici que vous pouvez briévement vous présenter.
author_name:
Indique le ou les auteurs du projet.
bitcoin:
Contiens l'adresse de votre porte monaie bitcoin s'il existe.
blog_description:
C'est ici que vous pouvez briévement décrire votre projet.
blog_keywords:
Ce champ devrait normalement être utilisé pour spécifier les mots clés qui serviront au référence du blog sur le web.
blog_language:
Ce champ devrait normalement être utilisé pour spécifier la langue du blog. Pat exemple 'fr' pour le français ou 'en' pour l'englais.
blog_name:
Le nom de votre blog.
columns:
Indique le nombre de colones de publications par page. Pour les blog traditionnelles cette variable devrait mise à 1.
email:
Votre adresse email.
entries_per_pages:
Définit le nombre de publication par page.
fms_public_key
Pour les utilisateurs de Freenet/FMS seulement. Votre clés public FMS.
freemail
Pour les utilisateurs de Freenet/Freemail seulement. Votre adresse freemail.
license
La licence appliquée au contenu.
path:
Ne touche pas à cette ligne malheureux!
authors_directory_name:
Dossier où sera exporté chaque fil relatif à un auteur. Ce champ devrait toujours contenir {author}; une variable d'environement permettant d'accéder au nom de l'auteur courant.
dates_directory_name
Dossier où sera exporta chaque fil relatif à une plage de dates définit par l'utilisateur. Par défaut ce champ est initialisé avec "%Y-%m", c'est à dire que chaque dossier se présentera sous la forme Année-Mois. Pour plus d'informations sur la façon de formatter une date rendez-vous ici.
categories_directory_name:
Dossier où sera exporté chaque fil relatif à une catégorie ou une sous catégorie. Ce champ devrait toujours contenir {category}; une variable d'environement permettant d'accéder au nom de la catégorie courante.
entry_file_name:
Format du nom de fichier d'une publication unique. Ce champ peut contenir deux variables d'environements {entry_id} qui retourne le numéro de la publication courante et {entry_name} qui retourne son intitulé.
root:
VenC exportera l'ensemble du projet dans le dossier blog, mais il est possible de définir une nouvelle arborescence dans ce dossier à l'aide de ce champ.
tags_directory_name:
Dossier où sera exporta chaque fil relatif a un mot clé. Ce champ devrait toujours contenir {tag}; une variable d'environement permettant d'accéder au mot clé courant.
rss_file_name:
Définit le nom de fichier du fil rss.
rss_thread_lenght:
Définit le nombre de publication dans le fil rss.
sone:
Pour les utlisateurs de Freenet/SONE seulement. Votre adresse sone.
url:
L'url de votre blog.
wot:
Pour les utlisateurs de Freenet/Web of Trust seulement. Votre identifiant wot.

Il vous est par ailleurs possible de rajouter vos propres champs. La façon d'y accéder sera détailler ultérieurement.