4.2 Fichier de configuration principal

blog_configuration.yaml est un document YAML à la racine du projet définissant les propriétés du blog, comme son titre, le nom de son auteur, ainsi que des détails fonctionnels comme le nombre de publications par pages ou l'ordre d'affichage de celles-ci.

Immédiatement après avoir créé votre blog, il s'agira sans doute du premier fichier que vous éditerez. Après avoir rempli ces champs, dont l'usage est détaillé ci-dessous, vous n'aurez normalement plus besoin d'y revenir.

blog_name

Sans surprise, il s'agit du titre de votre blog. Ce champ est obligatoire.

disable_threads

Empêche VenC de générer les fils de publications spécifiés dans une liste. Les noms de fils peuvent appartenir à des catégories ou à des archives. Par exemple :

disable_threads:
  - Categorie naze
  - 24/01/1990

disable_archives

Empêche VenC de générer les fils de publications des archives. Ce champ est un booléen, fixé à False par défaut.

disable_chapters

Empêche VenC de générer les chapitres. Ce champ est un booléen, fixé à False par défaut.

disable_categories

Empêche VenC de générer les fils de publications des catégories. Ce champ est un booléen, fixé à False par défaut.

disable_single_entries

Empêche VenC de générer les publications individuelles. Ce champ est un booléen, fixé à False par défaut.

disable_main_thread

Empêche VenC de générer le fil principal de publication. Ce champ est un booléen, fixé à False par défaut.

disable_rss_feed

Empêche VenC de générer un flux RSS. Ce champ est un booléen, fixé à False par défaut.

disable_atom_feed

Empêche VenC de générer un flux Atom. Ce champ est un booléen, fixé à False par défaut.

text_editor

Par défaut VenC utilise la commande spécifiée dans la variable d'environnement EDITOR pour ouvrir et éditer une nouvelle publication.

Il est cependant possible de redéfinir ici l'éditeur de texte choisi pour éditer une nouvelle publication.

Cette variable est une liste dont le premier élément est le nom de la commande et le reste ses arguments.

Par exemple :

text_editor:
  - geany
  - -i

date_format

"%A %d. %B %Y" par défaut. Définis le format de date utilisé à l'intérieur du blog. Le format des dates est en fait le même que celui utilisé par Python. Pour en savoir plus sur ce format, rendez-vous ici. Ce champ est obligatoire.

author_name

Le nom de l'administrateur ou de l'auteur du blog.

blog_description

Un résumé de ce dont parle votre site.

blog_keywords

Une liste au format YAML des mots-clefs associés au site.

author_description

Un court texte à propos de l'auteur du blog.

license

La licence appliquée au contenu de votre site.

blog_url

L'URL du blog. Elle peut être laissée vide, selon le thème utilisé.

ftp_encoding

Par défaut l'encodage des sessions FTP est en latin-1 mais ça pourrait ne pas convenir à la configuration de votre serveur vous pouvez donc définir l'encodage qui va bien ici.

ftp_host

Il s'agit du nom d'hôte ou de l'adresse IP de votre serveur FTP.

ftp_port

Il s'agit du numéro de port à utiliser pour se connecter à votre serveur FTP. Si ce champ n'est pas défini, il est fixé à 21 par défaut.

ftp_sessions

Il s'agit d'un nombre entier spécifiant le nombre simultané de connexion FTP que VenC va utiliser pour transférer votre site. Par défaut, ce nombre est fixé à 4.

blog_language

Définit la langue du site.

author_email

Votre adresse e-mail.

code_highlight_css_override

Génère à nouveau le code CSS créé par le module Pygments. Ce champ est un booléen, fixé à False par défaut.

Attention : si ce champ est fixé à True, à chaque exportation de votre blog, les anciens codes CSS créés par Pygments seront écrasés.

paths

Ce champ et ce qu'il contient sont obligatoires. Il s'agit d'une variable de type dict contenant différents chemins.

La liste de ces chemins est détaillée ci-dessous.

ftp

Le chemin absolu du répertoire de destination sur votre serveur FTP.

entries_sub_folders

Le nom de sous-répertoire qui contiendra les publications individuelles.

categories_sub_folders

Le nom du sous-répertoire qui contiendra les catégories.

index_file_name

"index{page_number}.html" par défaut. Spécifie le nom de fichier des pages d'un fil de publication. Devrait toujours contenir la variable {page_number}.

category_directory_name

"{category}" par défaut. Définis le répertoire où sera exporté le fil de publication de la catégorie courante. Ce champ devrait donc toujours contenir la variable {category}.

chapter_directory_name

"{chapter_name}" par défaut. Définis les noms de répertoire où seront exportés les chapitres, s'il en existe. Ce champ devrait donc toujours contenir la variable {chapter_name}.

archives_directory_name

"%Y-%m" par défaut. Définit le format de date utilisé pour les noms de répertoires des archives. Le format des dates est en fait le même que celui utilisé par Python. Pour en savoir plus sur ce format, rendez-vous ici.

entry_file_name

"entry{entry_id}.html" par défaut. Définit le nom de fichier d'une publication unique.

rss_file_name

"rss.xml" par défaut. Définis le nom de fichier du flux RSS.

atom_file_name

"atom.xml" par défaut. Définis le nom de fichier du flux Atom.

themes_locations

Il s'agit d'une liste optionnelle contenant un ou plusieurs chemins vers des répertoires contenant des thèmes.

entries_per_pages

10 par défaut. Définis le nombre de publications par page. Ce champ est obligatoire.

columns

1 par défaut. Ce champ définit le nombre de colonnes dans une page.

feed_length

5 par défaut. Définis le nombre de publications à afficher dans le flux RSS. Ce champ est obligatoire.

reverse_thread_order

Ce champ est un booléen, fixé à True par défaut. Définit l'ordre de publication. Du plus récent au plus ancien (True), ou l'inverse (False). Ce champ est obligatoire.

markup_language

Ce champ spécifie le langage de balisage par défaut utilisé dans toutes les publications. Cette valeur peut cependant être localement écrasée dans l'entête d'une publication.

Les valeurs possibles de ce champ sont :

Ce champ est obligatoire.

server_port

Spécifie le port du serveur HTTP local. Ce champ est fixé à 8888 par défaut.

sort_by

Pour être ordonnées, les publications sont généralement évaluées selon la valeur de leur identifiant. C'est pourquoi la valeur de ce champ est id par défaut. Il est possible de spécifier le nom d'une autre propriété pour les publications.

Les valeurs possibles sont :

Vous pouvez également spécifier le nom d'une métadonnée définie manuellement dans l'entête de vos publications.

parallel_processing

Cette option permet de contrôler le nombre de processus enfants lors de la génération de votre site avec VenC. Le nombre idéal correspond à votre nombre de cœurs sur votre CPU. Pour les petits blogs, il n'est pas utile d'avoir plus d'un processus.

pipe_flow

Cette option permet de contrôler le volume d'octets transitant d'un sous-processus à un autre. Il permet une optimisation fine des fonctions de parallélisme de VenC. La valeur par défaut est normalement optimale et est fixée à 512. Vous pouvez néanmoins effectuer des tests pour voir ce qui est le plus rapide chez vous.

pygmentize_style

Il est possible de contrôler le style de coloration syntaxique proposé par Pygmentize en assignant un des noms de style documenté ici à cette option. Si vous changez le style et que code_highlight_css_override est configuré avec False, alors il faut supprimer les feuilles de styles déjà générées par VenC dans le répertoire extra.

default_theme

Contient le nom du thème par défaut à utiliser. Normalement, si vous n'avez pas installé de thème dans le dossier de votre projet, vous êtes obligé de spécifier le nom d'un thème installé avec VenC au moment de générer votre blog. Par exemple :

venc -xb concrete

Si aucun thème n'est installé dans votre projet et si aucun nom de thème n'est passé en paramètre à la commande venc -xb, alors VenC tentera d'utiliser l'option default_theme pour sélectionner un thème. Si vous n'avez pas de thème installé dans votre projet, il est important de définir cette variable pour que la commande venc -s fonctionne correctement.