Envie de participer ?
Bandeau

Le langage de modèle de calibre est un langage spécifique à calibre utilisé dans l’ensemble de calibre pour des tâches telles que la spécification des chemins de fichiers, le formatage des valeurs et le calcul de la valeur des colonnes spécifiées par l’utilisateur. Un modèle de base est constitué d’une ou plusieurs expression modèle.

Expressions Modèles et Métadonnées

Une expression modèle consiste en du texte et des noms entre crochets ({}) qui sont remplacés par les métadonnées correspondantes du livre en cours de traitement. Les barres obliques ne sont pas des expressions modèle car elles se ne trouvent pas entre les {}. Un tel texte est laissé là où il apparaît. Une expression modèle peut accéder à toutes les métadonnées disponibles dans calibre, y compris les colonnes personnalisées (colonnes que vous créez vous-même), en utilisant le nom de recherche d’une colonne.

Pour trouver le nom de recherche d’une colonne (parfois appelée champs), passez votre souris sur l’en-tête de la colonne dans la liste des livres de calibre. Les noms de recherche pour les colonnes personnalisées commencent toujours par #. Pour les colonnes de type série, il y a un champ supplémentaire appelé #lookup name_index qui est l’index de la série pour ce livre dans la série.

Par exemple, si vous avez une colonne de série personnalisée nommée #messéries, il y aura également une colonne nommée #messéries_index. Si les métadonnées du champ pour un livre donné ne sont pas définies, le champ dans le modèle est remplacé par la chaîne vide ('').

Texte Conditionnel

Parfois, vous voulez que du texte n’apparaisse dans la sortie que si un champ n’est pas vide. Un cas courant est celui de series et series_index où vous voulez soit rien, soit les deux valeurs séparées par un trait d’union. Par exemple, et en utilisant l’exemple de Fondation ci-dessus, supposons que vous voulez que le modèle produise Fondation - 3 - Deuxième Fondation.

Lire aussi: Fusil Darne Calibre 12 : Détails Techniques

Cependant, si un livre n’a pas de série, le modèle produira - - le titre, ce qui n’est probablement pas ce que vous voulez. En général, les gens veulent que le résultat soit le titre sans les traits d’union superflus. Cette expression modèle indique que si champ a la valeur XXXX, le résultat sera prefix_textXXXXXsuffix_text. Si champ est vide (n’a pas de valeur) alors le résultat sera la chaîne vide (rien) car le préfixe et le suffixe sont ignorés.

Les traits d’union ne seront inclus que si le livre possède un index de série, ce qui n’est le cas que si le livre possède une série. Vous devez utiliser soit aucun des caractères |, soit les deux. Il est possible de ne fournir aucun texte pour le préfixe ou le suffixe, comme dans {série:|| - }.

Supposons que vous vouliez que series_index soit formaté en trois chiffres avec des zéros en tête. Si vous utilisez des indices de série avec des valeurs fractionnées, par exemple 1.1, vous pouvez souhaiter que les points décimaux soient alignés. Par exemple, vous pouvez vouloir que les indices 1 et 2.5 apparaissent sous la forme 01.00 et 02.50 afin qu’ils soient triés correctement sur un périphérique qui effectue un tri lexical.

Formatage et Fonctions

Une grande partie du formatage du langage de modèle de calibre provient de Python. Les modèles peuvent être utilisés pour afficher des informations qui ne sont pas dans les métadonnées de calibre, ou pour afficher les métadonnées différemment du format normal de calibre.

Par exemple, vous pourriez vouloir afficher le ISBN, un champ que calibre n’affiche pas. Pour cela, vous pouvez créer une colonne personnalisée de type Colonne construite à partir d’autres colonnes (appelée ci-après colonnes composites) et fournir un modèle pour générer le texte affiché. La colonne affichera le résultat de l’évaluation du modèle. Par exemple, pour afficher l’ISBN, créez la colonne et entrez « identifiers:select(isbn)} » dans la champ du modèle.

Lire aussi: Calibre 16: Le Fusil Nemrod

Remarque : Vous ne pouvez pas modifier les données affichées dans une colonne composite. Vous devez plutôt modifier les colonnes sources.

Tableaux de Connexions

Les tableaux de connexions sont utilisés pour modifier les métadonnées écrites dans les livres pendant l’envoi à une liseuse et les opérations de sauvegarde sur le disque. Le tableau de connexion vous permet de spécifier pour un modèle de lecteur précis quelles données à insérer dans les métadonnées du livre. Vous pouvez utiliser les tableaux de connexions pour modifier les champs suivants : authors, author_sort, language, publisher, tags, title, title_sort.

Lorsque vous créez un tableau de connexion, vous spécifiez le format et le périphérique pour lequel le tableau de connexion doit être utilisé. Un périphérique spécial est procuré, save_to_disk qui est utilisé lors de la sauvegarde de formats (en opposition à les envoyer vers le périphérique). Une fois que vous avez choisi le format et le périphérique, vous choisissez les champs de métadonnées à modifier, indiquez le modèle à appliquer pour fournir les nouvelles valeurs. Ces modèles sont reliés à leurs champs de destination, d’où le nom de tableau de connexions.

Quand un tableau de connexion doit s’appliquer (Serveur de contenu, sauvegarde sur disque ou envoyer au périphérique), calibre recherche les tableau de connexions définis et celui qui est correct pour le format donné et le périphérique.

Traitement Spécial des Étiquettes et Auteurs

Les étiquettes et les champs auteur ont un traitement spécial, parce que ces deux champs peuvent contenir plusieurs données. Un livre peut avoir plusieurs étiquettes et plusieurs auteurs. Lorsque vous spécifiez que l’un de ces deux champs doit être modifié, le résultat du modèle est examiné pour voir s’il y a plus d’un élément dedans.

Lire aussi: Caractéristiques Browning Calibre 20

Pour les étiquettes, le résultat est découpé partout où calibre trouve une virgule. Par exemple, si le modèle produit les valeurs Thriller, Horreur, alors ke résultat sera deux étiquettes, Thriller et Horreur. La même chose se produit pour les auteurs, mais en utilisant un caractère différent comme séparateur, le & (esperluette) au lieu d’une virgule. Par exemple, si le modèle produit la valeur Blogs, Joe&Posts, Susan, alors le livre finira avec deux auteurs Blogs, Joe et Posts, Susan.

Les tableaux de connexions affectent les métadonnées écrites dans le livre quand il est sauvegardé sur le disque ou copié sur le périphérique. Les tableaux de connexions n’affecte pas les métadonnées utilisées par Enregistrer sur le disque et Envoyer au périphérique.

Fonctions de Modèle

Supposons que vous vouliez afficher la valeur d’un champ en casse majuscules alors que ce champ est normalement en casse titre. Vous pouvez le faire en utilisant les fonctions de modèle. Par exemple, pour afficher le titre en casse majuscules, utilisez la fonction uppercase, comme dans {title:uppercase()}. Les fonctions sont placées dans la partie format du modèle, après le : et avant le premier | ou le } de fermeture si aucun préfixe/suffixe n’est utilisé. Si vous avez à la fois une référence de format et de fonction, la fonction vient après un deuxième :. Les noms de fonctions doivent toujours être suivis de parenthèses ouvrantes et fermantes.

Certaines fonctions nécessitent des valeurs supplémentaires (arguments), qui sont placées à l’intérieur des parenthèses. Les arguments sont séparés par des virgules. Les virgules Littérales (les virgules en tant que texte, et non en tant que séparateurs d’arguments) doivent être précédées d’une barre oblique inversée (\) . Les fonctions sont évaluées avant les spécifications de format et le préfixe/suffixe.

Important : Si vous avez de l’expérience en programmation, veuillez noter que la syntaxe du Mode Fonction Unique n’est pas celle à laquelle vous vous attendez. Les chaînes de caractères ne sont pas citées et les espaces sont significatifs. N’utilisez pas les sous-modèles (`{ … }`) comme arguments de fonction.

Lorsque les fonctions sont utilisées en Mode Fonction Unique, le premier paramètre, value, est automatiquement remplacé par le contenu du champ spécifié dans le modèle. Dans la documentation des fonctions, la notation [quelque chose]* signifie que quelque chose peut être répété zéro fois ou plus. Certaines fonctions utilise des expressions régulières. Les fonctions sont documentées dans Référence des modèles de fonctions. La documentation vous indique les arguments requis par les fonctions et ce qu’elles font.

Vous voyez que la fonction requiert deux arguments, value et text_if_empty. Cependant, parce que nous utilisons le Mode Fonction Unique, nous omettons l’argument value, en ne passant que text_if_empty. affiche les étiquettes d’un livre, s’il y en a. format_duration(value, template, [largest_unit]) - formate la valeur, un nombre de secondes, en une chaîne affichant les semaines, les jours, les heures, les minutes et les secondes.

Supposons que vous ayez une colonne personnalisée de nombres entiers, ##myint, que vous voulez afficher avec des zéros en tête, comme dans 003. Une façon de le faire est d’utiliser le format 0>3s. Cependant, par défaut, si un nombre (entier ou flottant) est égal à zéro, la valeur est affichée sous la forme d’une chaîne vide, de sorte que les valeurs nulles produiront la chaîne vide, et non 000. Si vous voulez voir les valeurs 000, vous devez utiliser à la fois la chaîne de format et la fonction ifempty pour transformer la valeur vide en zéro. Notez que vous pouvez également utiliser le préfixe et le suffixe.

Le Mode Programme Général (MPG)

Le Mode Programme Général (MPG) remplace les expressions modèles par un programme écrit dans le langage modèle. une top_expression a toujours une valeur. Les chaînes de caractères et les nombres peuvent être utilisés indifféremment. Les opérateurs unaires plus (+) et moins (-). Ces opérateurs et tous les autres opérateurs arithmétiques renvoient des entiers si l’expression donne une partie fractionnaire égale à zéro. Multiplier (*) et diviser (/). Ces opérateurs sont associatifs et s’évaluent de gauche à droite. Additionner (+) et soustraire (-).

Comparaisons de nombres et de chaînes de caractères. Ces opérateurs renvoient '1' si la comparaison réussit, sinon la chaîne vide (''). Concaténation de chaînes de caractères (&). L’opérateur & renvoie une chaîne de caractères formée par la concaténation des expressions de gauche et de droite. Exemple : « “aaa” & “bbb”`` renvoie « “aaabbb”``. Unaire non logique (!). L’opérateur logique et (&&). Cet opérateur renvoie “1” si les deux expressions de gauche et de droite sont vraies, ou la chaîne vide '' si l’une ou l’autre est fausse. Logique ou (||). Cet opérateur renvoie '1' si l’expression de gauche ou de droite est vraie, ou '' si les deux sont fausses. Il est associatif, s’évalue de gauche à droite, et fait du court-circuitage.

Un field_reference est évalué à la valeur du champ de métadonnées nommé par le nom de la consultation qui suit le « $ » ou le « $$ ». L’utilisation de $ équivaut à l’utilisation de la fonction :ref:`ff_field. L’utilisation de $$ équivaut à l’utilisation de la fonction raw_field.

Expressions Conditionnelles (If)

Les expressions If évaluent d’abord la condition. Si la condition est True (une valeur non vide), alors expression_list de la clause then est évaluée. Si elle est False, expression_list de la clause elif ou else est évaluée si elle est présente. Les parties if et else sont facultatives. Les mots if ``, ``then, elif ``, ``else et fi sont réservés ; vous ne pouvez pas les utiliser comme noms d’identifiants. Vous pouvez mettre des retours à la ligne et des espaces partout où cela a un sens. La condition est une top_expression et non une expression_list ; les points-virgules ne sont pas autorisés. Les expression_list sont des séquences de top_expressions séparées par des points-virgules. Comme dit plus haut, un if produit une valeur.

Expressions Itératives (For)

L’expression for itère sur une liste de valeurs, en les traitant une par une. L’expression list_expression doit être évaluée soit par un nom de champ de métadonnées, par exemple tags ou #genre, soit par une liste de valeurs. Si le résultat est un lookup name valide, alors la valeur du champ est récupérée et le séparateur spécifié pour ce type de champ est utilisé. Si le résultat n’est pas un nom de référence valide, il est supposé être une liste de valeurs. La liste est supposée être séparée par des virgules, sauf si le mot-clé optionnel separator est fourni, auquel cas les valeurs de la liste doivent être séparées par le résultat de l’évaluation de l’expression separator_expr.

Un séparateur ne peut pas être utilisé si la liste est générée par range. Chaque valeur de la liste est assignée à la variable spécifiée puis la expression_list est évaluée. Si le Genre original est Histoire.Militaire, Science Fiction.Histoire alternative, Lisez-moi, alors le modèle renvoie Militaire, Histoire alternative, Lisez-moi. Note : la dernière ligne du modèle, new_tags, n’est pas strictement nécessaire dans ce cas car for renvoie la valeur de la dernière top_expression de la liste d’expressions.

Retourne la valeur de l”expression. Si est exécutée dans une fonction, retourne la valeur de l’expression à l’appelant. Si vous avez répète du code dans un modèle, vous pouvez mettre ce code dans une fonction locale. Le mot clé def commence la définition. Il est suivi par le nom de la fonction, la liste des arguments, puis le code de la fonction. Les arguments sont positionnels. Lorsqu’une fonction est appelée, les arguments fournis sont comparés de gauche à droite aux paramètres définis, la valeur de l’argument étant attribuée au paramètre. C’est une erreur de fournir plus d’arguments que de paramètres définis. Les paramètres peuvent avoir des valeurs par défaut, comme « a = 25 ».

Exemple : Ce modèle calcule une durée approximative en années, mois et jours à partir d’un nombre de jours. La fonction to_plural() met en forme les valeurs calculées. Les comparaisons de chaînes de caractères effectuent une comparaison insensible à la casse en utilisant l’ordre lexical. Les opérateurs de comparaison de chaînes pris en charge sont ==, !=, <, <=, >, =, in, inlist et inlist_field.

Pour les opérateurs in, inlist et inlist_field, le résultat de l’expression de gauche est interprété comme un motif d’expression régulière. Les opérateurs sont True si la valeur de l’expression régulière de gauche correspond à la valeur de l’expression de droite. L’opérateur inlist est vrai si l’expression régulière de gauche correspond à l’un des éléments de la liste de droite où les éléments de la liste sont séparés par des virgules. L’opérateur inlist_field est vrai si l’expression régulière de gauche correspond à l’un des éléments du champ (colonne) nommé par l’expression de droite, en utilisant le séparateur défini pour le champ.

NB : l’opérateur inlist_field requiert que l’expression de droite sui est évaluée soit un nom de champ, alors que l’opérateur inlist requiert que l’expression de droite qui est évaluée soit une chaîne de caractères contenant une liste séparée par des virgules. Les opérateurs de comparaison numérique sont ==#, !=#, <#, <=#, >#, >=#. program: '^science$' inlist $#genre` retourne `'1' si l’un des genres du livre correspond exactement à l’expression régulière ^science$, par exemple, Science...

Gestion de la Bibliothèque Calibre

Calibre est un logiciel de gestion de bibliothèque numérique de livres ebooks qui vous permet de gérer votre collection d’eBooks.

Importation de l'Ouvrage dans Calibre

Une fois la préparation de votre ouvrage terminée sous Libre Office, il faut l’importer dans Calibre. Vous cliquez sur « Ajouter un livre », vous sélectionnez votre pdf.

  • Lancez l'application Calibre
  • Cliquez sur "Ajouter des livres" en haut à gauche
  • Sélectionnez le livre au format .epub depuis l'emplacement dans lequel vous l'avez enregistré ou téléchargé (généralement dans le dossier "Téléchargement" de votre explorateur de fichiers). Ensuite cliquez sur "Ouvrir".

Petite astuce, vous pouvez sélectionner plusieurs livres : Cliquez (clic gauche) sur un fichier, il passera en surbrillance. Puis cliquez sur un autre fichier tout en maintenant la touche CTRL, vous sélectionnerez les deux fichiers. Vous pouvez répéter l'opération pour tous les livres que vous souhaiterez importer. Une fois le pdf ajouté, vous le sélectionnez et vous cliquez sur « Convertir des livres ».

Comme expliqué ici, il faut passer par l'interface de calibre pour intégrer des livres. Par ailleurs, ainsi qu'il est indiqué là, vous ne pouvez pas décider la manière dont calibre va organiser les fichiers qu'il intégre.

Ajouter des Livres depuis des Répertoires

Ajouter des livres à partir de répertoires et sous-répertoire (un livre par répertoire...) : cela vous donne la possiblité de sélectionner un répertoire et calibre intégrera tous les livres qui s'y trouvent, en regardant même dans les sous-répertoires. Il considérera que s'il trouve plusieurs fichiers dans un répertoire, c'est le même livre, sous plusieurs formats.

Ajouter des livres à partir de répertoires et sous-répertoire (plusieurs livres par répertoire...) : comme au-dessus, vous pouvez sélectionner un répertoire pour récupérer tous les livres s'y trouvant. Par contre, il considérera que tous les fichiers, même présents dans le même répertoires, sont des livres différents et les intégrera tous individuellement. Ajouter plusieurs livres dans une archive / un livre par répertoire... : si vous avez un livre se trouvant dans un archive (zip, rar), le livre extrait. Ajouter plusieurs livres dans une archive / plusieurs livres par répertoire...

Dans la première fenêtre qui apparaît (onglet « Métadonnées »), vous avez une option en haut à gauche et à droite : Format d’entrée et format de sortie.

Petite astuce, Calibre est également utile pour convertir un fichier EPUB ou Libre Office vers les formats d’Amazon Kindle (Mobi, AZW…). Pour réaliser cette conversion, suivez la même procédure, dans la fenêtre de conversion tout en haut à droite choisissez dans format de sortie « AZW 3 » ou « Mobi ».

La procédure de conversion que l’on vient de voir fonctionne de la même manière avec les fichiers .odt (Libre Office) que les fichiers .doc et les fichiers .docx.

Formats de Fichiers

  • De nombreux formats en entrée dont les plus courants sont epub[*], html, pdf[*], txt, docx, odt[*].
  • De nombreux formats en sortie dont epub[*], pdf[*], azw3[*].

Il faut favoriser le plus possible le format epub[*] qui est conçu pour faciliter l'affichage en fonction du type d'appareil ainsi que de la taille de l'écran.Il est possible de convertir par lot ou par unité des ressources de différents formats vers le format de sortie EPUB[*]. Evidemment , le résultat est très dépendant de la qualité du document source. S'il est correctement formaté, titres, paragraphes, métadonnées, il sera correctement convertit et sa lecture en sera facilitée.

Configuration de la Conversion

Dans la première fenêtre qu’on voit dans l’impression écran ci-dessus, vous pouvez choisir votre couverture (ou valider celle issue de la première page de votre document Word ou Libre Office). Si votre couverture n’est pas en SVG, cochez « Pas de couverture SVG ».

Table des Matières

Pour la table des matières, rendez-vous dans l’onglet nommé « Table des matières » dans le menu de gauche de la fenêtre de conversion. Pour que la table des matières soit correctement générée il faut que vous ayez au préalable correctement assigné les niveaux de titre (titre 1, titre 2) dans votre document source. Si vous souhaitez que la table des matière soit intégrée dans le texte, cochez « Insérez la table des matières ». Par défaut, la table des matières sera affichée dans le logiciel de lecture afin d’être disponible à tout moment au lecteur.

Dans titre de la table des matières, mettez Table des matières, quand le champ est vide Calibre met par défaut « Table of content ». Pour le dernier champs, 260 ko correspond à la taille d’une page, quand le niveau est dépassé certaines liseuses n’affichent pas correctement le contenu de cette page. Si vous avez des chapitres longs, vérifiez qu’ils ne seront pas scindés suite à la conversion.

Notes de Bas de Page

Les notes de bas de page doivent être au préalable préparés dans Libre Office ou Word. Dans les versions récentes de Calibre, vous avez une option permettant de regrouper les notes de bas de page à la fin.

Finalisation et Vérification

Une fois ces configurations terminés, cliquez en bas à droite sur « Ok », ce qui va lancer la configuration. L’opération peut prendre quelques minutes. Vous pouvez suivre le déroulé tout en bas à droite, le texte « Tâches : 1 ». Pour vérifier le fichier converti, double cliquez sur votre ouvrage dans la liste des livres sur Calibre. Testez notamment la table des matières, la couverture et les notes de bas de page.

Gestion des Erreurs

Si votre EPUB a été refusé, c’est probablement parcequ’il contient des erreurs selon le logiciel EpubCheck. Dans ce cas là, vous devez soit éditer votre fichier EPUB avec Sigil ou directement avec Calibre et remplacer l’extension des nom des fichiers, en mettant .xhtml à la place de .html. Pour corriger les erreurs, deux options s’offrent à vous, soit à partir du document source qu’il faut alors reconvertir soit en éditant son fichier EPUB.

Gestion de la Bibliothèque

L'une des forces de calibre est de récupérer les métadonnées du livre et de préremplir les colonnes de la liste des livres dans l'interface. C'est la manière la plus courante de récupérer les métadonnées : un ebook normal a un fichier contenant les métadonnées, codées selon une nomanclature standard.

Des fichiers cependant peuvent ne pas contenir des métadonnées. Les PDF, par exemple.

tags: #calibre #colonne #collection #définition

Post popolari: