PML – Changelog

 = amélioration/évolution –  = correction

(liste à jour au 15 octobre 2018)

 

Évolutions prévues :

* pmlimport :

– Import direct depuis un document xml ou opendoc (.odt ou .ods).

* export (pml) :

– Fonctionnalité de vérification/export de code partiel (ex. pour vérif. messages dans un futur forum).

– Jeu de métabalises pour éditeur d’équations (en cours).

– Correction d’une restriction interdisant de définir la position du texte dans une métabalise contenant elle-même une métabalise avec position de texte définie.

– Nouvelle balise pour numérotation arborescente de chapitres, sous-chapitres (fonctionnalité présente en css mais non intégrable aux tables des matières).

– Option de conversion automatique de caractères en exposant/indice en unicode supérieur/inférieur ou inversement.

* htmlepub :

– Intégration de polices de caractères dans l’ePub : sélection individuelle sur familles multiples (cas où absent de la première).

– Optimisation des caractères exposant/indice/supérieur/inférieur en fonction des disponibilités des polices spécifiées.

– Prise en compte de polices de type "petites capitales".

* pymyadmin :

– Poursuite du développement de ce remplaçant de phpmyadmin (version opérationnelle prévue pour version 0.10), avec quelques fonctionnalités spécifiques.

 

0.9.0 – (à venir)

 

* général :

 Ajout dans les routines de base d’une fonction de remplacement multiple (plus performante qu’une suite de remplacements individuels). (fait le 25 avril 2018)

 Possibilité de définir une langue par défaut autre que l’anglais. (fait le 30 avril 2018)

 

* pmlimport :

 Des attributs HTML sans valeur associée pouvaient provoquer un plantage – ils sont normalement ignorés. Corrigé. (fait le 15 avril 2018)

 Réorganisation des attributs de 'style' pour permettre une comparaison indépendante de l’ordre initial et suppression des espaces inutiles. (fait le 15 avril 2018)

 La balise '<meta http-equiv="Content-Type" …', étant générée automatiquement par pmlexport, est maintenant ignorée. (fait le 18 avril 2018)

 Remplacement automatique de diverses balises dépréciées ('layer', 'dir', 'font', 'center'…) par leur équivalent HTML5. (fait le 26 avril 2018)

 Les balises 'a' et 'img' sans lien se retrouvaient avec un autre attribut (si présent) en guise de lien. Corrigé avec lien nul forcé. (fait le 27 avril 2018)

 Remplacement automatique de divers attributs dépréciés par leur équivalent css dans 'style'. (fait le 28 avril 2018)

 Nouveaux paramètres en ligne de commande afin de pouvoir réduire drastiquement les attributs inutiles (notamment pour les ePub issus de documents Word ou LO). (fait le 29 avril 2018)

 Les métabalises générées sont maintenant triées afin de faciliter leur consultation. (fait le 17 juillet 2018)

 Les classes multiples n’étaient plus correctement prises en compte (uniquement la première, les autres comme texte – effet de bord d’autres modifications du code). Corrigé. (fait le 4 août 2018)

 Prise en compte des ePub défectueux (avec fichiers référencés mais non présents) pour éviter un plantage. (fait le 20 août 2018)

 La simplification des valeurs dans les attributs ne tenait pas compte des attributs complexes tels 'border', 'margin', etc. Corrigé. (fait le 20 août 2018)

 

* export (pml et pmlexport) :

 Nouvelle balise de littéral générique '<@ …>' pour faire des pages multilingues directement dans le document pml sans devoir tout mettre dans les fichiers de littéraux. (fait le 8 avril 2018)

 Un même attribut spécifié plusieurs fois dans une balise faisait planter l’export. Corrigé. (fait le 18 avril 2018)

 Les caractères spéciaux Ux2028 (saut de ligne) et Ux2029 (saut de paragraphe) provoquent des sauts de ligne ascii, cause d’erreurs. Convertis en saut de ligne HTML. (fait le 25 avril 2018)

 Une balise '<a' sans hyperlien (ou hyperlien vide) ni texte était autofermée par défaut ('<a … />'). Certains navigateurs ne reconnaissent pas cette fermeture et mettent tout le code qui suit comme cliquable. Corrigé en '<a …></a>'. (fait le 29 avril 2018)

 Les titres à référencer en table des matières sont à présent nettoyés des images et sauts de ligne y figurant lors de leur incorporation dans la TdM. (fait le 14 juillet 2018)

 L’indentation des titres en table des matières n’était pas bonne quand on sautait un ou plusieurs niveaux dans un sens ou dans l’autre. Corrigé. (fait le 29 juillet 2018)

 Les balises qui seraient présentes dans un "content" de balise '<meta' sont supprimées car interdites. (fait le 29 juillet 2018)

 Le contenu des notes dans un texte en petites capitales n’était pas correctement nettoyé. Corrigé. (fait le 2 août 2018)

 Les triples '​'' (délimiteur de chaîne multilignes) dans un commentaire n’étaient pas ignorés, pouvant provoquer un plantage. Corrigé. (fait le 12 août 2018)

 La présence de « ' » dans le contenu d’un <textarea…> formé d’une seule ligne pouvait faire planter. Corrigé. (fait le 16 septembre 2018)

 Ajout de vérification qu’on ne redéfinit pas une balise HTML standard. (fait le 21 septembre 2018)

 Des éléments devant être référencés en table des matières et générés par une métabalise « bloc » donnaient du HTML incorrect, faisant planter la génération ePub éventuelle. Corrigé. (fait le 22 septembre 2018)

 

* htmlepub :

 Le fichier "mimetype" était compressé mais ne devait pas l’être, d’où non reconnaissance de l’ePub par certains (rares) logiciels. Corrigé. (fait le 10 avril 2018)

 Les balises qui seraient présentes dans un "content" de balise '<meta' sont supprimées car interdites. (fait le 29 juillet 2018)

 Intégration de polices de caractères dans l’ePub, mais limitées aux caractères utilisés. (finalisation en cours au 15 octobre 2018)

 

* pymyadmin :

 Intégration de l’outil « codemirror » (également utilisé par PhpMyAdmin) pour coloration syntaxique des commandes SQL. (fait le 13 août 2018)

 Choix possible du thème de coloration syntaxique SQL parmi un grand nombre. (fait le 15 août 2018)

 Les messages d’erreur de MySql/MariaDb s’affichent maintenant dans la langue de l’utilisateur. (fait le 8 septembre 2018)

 Les fenêtres de saisie de requête sont opérationnelles. (fait le 11 septembre 2018)

 

0.8.4 – 2 avril 2018

 

* pmlimport :

 Des noms de fichiers internes d’un ePub peuvent être encodés URL (ex. %20 pour un espace…) et n’étaient pas reconnus : corrigé.

 Les espaces éventuels dans un attribut de balise n’étaient pas correctement échappés, d’où métabalises incorrectes et non prises en compte dans le texte : corrigé.

 

* export (pml et pmlexport) :

 Vérification des mots réservés Python pour éliminer tout conflit avec attributs de balises ou métabalises.

 Prise en compte des constantes et littéraux simples renvoyés par les routines Python (hors définitions de constantes et littéraux).

 Dans les inclusions/exclusions, l’opérateur '-' ne fonctionnait pas correctement : corrigé.

 Des métabalises redéfinissant des balises avec "value" ajoutaient un blanc à la fin de la valeur lors de l’export en HTML : corrigé.

 Les retours de ligne ('\n') inclus dans une chaîne créée par une fonction Python sont maintenant préservés dans le code HTML généré (peut améliorer la lisibilité dudit code).

 Vérification des classes, message pour celles non définies.

 Les constantes de pml.cfg écrasaient une éventuelle définition faite dans le code PML : corrigé.

 Les balises '<incl' et '<excl' dans un bloc "excl" n’étaient pas éliminées et engendraient un message d’erreur comme balises invalides (mais sans impact sur la sortie finale) : corrigé.

 Les littéraux sont désormais traités comme des métabalises à part entière.

 Les balises HTML invalides ne sont plus simplement mises en commentaires, mais intégrées au code généré avec mise en évidence (plus faciles à localiser et corriger).

 Une balise de titre sans texte plantait lors de la création de la table des matières : corrigé.

 

* export (pml) :

 Prise en compte du sens de l’écriture selon la langue (e.g. arabe, hébreu…) pour l’affichage.

 

* htmlepub :

 Ajout d’une vérification de l’existence des feuilles de style .css.

 La feuille de style unique intégrée à l’epub se nomme désormais "style.css" au lieu de prendre le nom de la première feuille .css définie dans le source HTML.

 Les polices de caractères définies par @font-face ET effectivement référencées sont maintenant incorporées à l’ePub.

 

* pymyadmin :

 Mise à disposition d’une version « démo ».

 

0.8.3 – 7 décembre 2017

 

* export (pml et pmlexport) :

 Des constantes non résolues pouvaient s’afficher comme balises mises en commentaires. Forcées à valeur vide.

 Les constantes ne sont plus traitées dans l’ordre alphabétique de leur nom mais dans l’ordre, plus logique, de leur définition dans le document.

 Les liens locaux (commençant par '#') ne sont plus éliminés en cas de non correspondance – mais message d’erreur toujours émis.

 Nouveau : possibilité d’une liste de valeurs dans <incl ou <excl avec = et ≃ pour validation d’une valeur parmi plusieurs en mode 'ou'.

 

* pml.py :

 Ajout d’un système de cache pour ne pas reconstruire systématiquement les pages statiques.

 

* fonctions internes :

 trace.log et trace.val ne montraient pas l’arborescence des appels de fonctions (cause : résidus de l’implémentation initiale plus complexe) : corrigé.

 Ajout d'une fonction PML pour générer du code PML dans une routine Python (déplace les erreurs dans la syntaxe Python, donc plus vite décelées et identifiées).

 

0.8.2 – 27 novembre 2017

 

* export (pml et pmlexport) :

 Les chaînes entre triples apostrophes (ex. dans un <script …>) n’étaient pas correctement préservées si sur plusieurs lignes : corrigé.

 Ajout d’une balise <else …> pour valider du code correspondant au cas où aucun des <incl …> précédents n’a été validé.

 Les comparaisons de constantes dans <incl… et <excl… acceptent à présent l’opérateur '~=' ou '≃', qui considère la condition comme vraie si la valeur à droite correspond au début de la valeur à gauche (utile notamment pour vérifier un code langue, 'en-GB' devant être valide si on cherche seulement 'en').

 

* pml :

 Ajout d’une balise <http …> pour définir des directives à destination d’Apache (ou autre serveur HTTP).

 En cas de paramètre répété (ex. lang=fr&lang=en), il pouvait y avoir plantage, les diverses valeurs étant par défaut mises dans une liste au sein de la constante générée. Désormais, chaque valeur est stockée dans une constante distincte, la première ayant le nom normal et les suivantes héritant d’un numéro de séquence (lang, lang1, lang2…).

 

* fonctions internes :

 trace.log accepte désormais une liste de paramètres de formats quelconques, et non plus un unique paramètre au format chaîne de caractères.

 Réécriture partielle de la gestion des <incl… et <excl… pour un fonctionnement plus fiable.

 

0.8.1 – 15 novembre 2017

 

* général :

 Ajout dans les packs d’un utilitaire de tri naturel indépendant de PML.

 

* export (pml et pmlexport) :

 Définir une constante vide ('§%xyz <>') ne modifie plus sa valeur si elle existe déjà (cas des paramètres passés à une page Internet). Cette astuce permet d’avoir tous les paramètres (par exemple d’un bordereau de saisie) existants même si non renvoyés par le navigateur.

 Un texte associé à une balise ne devant pas en recevoir (comme <input …>) sera traité comme l’attribut 'value', qui n’a donc pas besoin d’être explicite et accepte du coup des textes comportant des espaces.

 Il y avait une différence de traitement entre les métabalises multilignes définies directement dans le document et présentes dans un .pss, occasionnant une mauvaise prise en compte dans ce derneir cas : corrigé.

 La définition d’une constante avec routine Python causait un plantage si le nombre de balises fermantes n’était pas bon : corrigé (à présent, correction et message d’erreur comme pour le reste).

 Un import contenant des notes et/ou une table des matières n’avait pas celles-ci générées s’il était indenté : corrigé.

 Un document contenant des notes avec point de rupture dans la partie indentée n’avait pas celles-ci générées : corrigé par la possibilité de mettre le bloc dans une balise '<section …>'.

 

0.8.0 – 6 novembre 2017

 

* général :

 Les messages d’information ou d’anomalie donnent maintenant le nom du fichier source concerné (utile en navigation Internet).

 L’outil est scindé en 3 packs pour le téléchargement : base (évolution du contenu de la version 0.6), web (pml), plus la documentation, désormais en ePub.

 Outils, téléchargement et exemples (le site lui-même) sont désormais accessibles via http://www.pml.ovh (en pratique un alias de http://www.blary.eu)

 

* pmlimport :

 Les balises d’entête, jamais indentées, n’étaient pas toujours en début de ligne, causant une erreur structurelle : corrigé.

 Des espaces dans des valeurs d’attributs d’entête n’étaient pas échappés : corrigé.

 Le nettoyage de balises autonomes amenait parfois à remplacer un blanc échappé '\ ' par une fermeture échappée '\>', donc caractère texte erroné : corrigé.

 Si une balise autonome non autofermante était suivie directement de texte (en général <br>), celui-ci lui était incorporé : corrigé.

 

* export (pml et pmlexport) :

 L’emplacement de 'modules' est maintenant explicitement défini par défaut (fonctions/modules/).

 Les espaces dans les littéraux sont automatiquement préservés pour éviter des erreurs en cas d’utilisation comme paramètres (ex. nom d’un bouton)

 Les métabalises conditionnelles peuvent à présent être utilisées à l’intérieur d’un bloc indenté.

 Prise en compte de balises particulières exigeant <xxx> ET </xxx> même sans aucun contenu (notamment <script …>)

 Ajout de la constante <pmlroot> contenant le chemin qui mène à pml.py.

 Dans une métabalise, les paramètres étaient considérés comme uniques. Il est maintenant possible de spécifier plusieurs fois le même.

 En mode Internet, prise en compte du fait que la langue du visiteur n’est pas toujours connue dans les paramètres HTTP.

 Il y avait plantage si aucun titre de table des matières n’était fourni dans la définition de celle-ci. Une valeur par défaut a été définie.

 Les classes pour les entrées de table des matières n’étaient pas prises en compte : corrigé.

 Avec quelques limitations, les imports peuvent à présent être utilisés à l’intérieur d’un bloc indenté.

 Correction de divers bogues mineurs.

 

* pml :

 Ajout d’un fichier (facultatif) pml.alias pour utiliser des chemins raccourcis dans les requêtes URL.

 

0.7.0 – 26 septembre 2017

 

* général :

 Nouveau module pml.py permettant l’usage de fichiers .pml nativement dans les requêtes URL.

 Le paramètre 'lang' dans 'pml.cfg' est à présent facultatif. Par défaut, c’est la langue système qui sera utilisée.

 

* pml :

 Ajout du module 'fonctions/trace.py' afin d’afficher les erreurs dans le navigateur en évitant des 'Internal error 500'.

 Ajout d’un répertoire 'log' pour recevoir les messages d’info et erreurs avec pml.py autrement affichés dans le terminal avec pmlexport.py.

 

* export (pml et pmlexport) :

 Les suites de lignes ('\' en fin) et espaces échappés n’étaient pas correctement pris en compte dans les métabalises directes du document : corrigé.

 Régression en 0.6 sur les paramètres conditionnels, une valeur vide n’ôtait plus le paramètre : corrigé.

 Un paramètre de littéral lui-même balise ou en contenant une provoquait une boucle : corrigé.

 

0.6.1 – 17 septembre 2017

 

* pmlimport :

 La fonction standard d’analyse du code HTML ne voit pas les balises autonomes si le / final manque (en principe non obligatoire, mais exigé par certains outils « stricts » et recommandation W3C), cause d’imbrications anormales : corrigé par forçage pour les balises concernées.

 Plantage si ligne résultante ne contient que des tabulations : corrigé.

 Les balises autonomes comme 'input', 'option' ne donnent plus lieu à création de métabalises (non pertinent).

 Les noms de métabalises générées commencent maintenant systématiquement par le nom de la balise, amélioration de la lisibilité.

 Ajout d’une option « -indent » forçant les sauts de ligne à toute ouverture de balise autre que simple formatage de texte, améliore la lisibilité pour les pages mal/non structurées.

 Les balises HTML sont systématiquement converties en minuscules (recommandation W3C).

 Les attributs personnalisés 'data-…' ne sont plus pris en compte pour les métabalises.

 

* pmlexport :

 Régression en 0.6 sur métabalises avec paramètres, problème sur contenus vides : corrigé.

 Programme subdivisé, traitement proprement dit converti en fonction appelée et déplacé comme fonctions/export.py. (but : code partagé avec futurs outils complémentaires.)

 

0.6.0 – 16 septembre 2017

 

* général :

 pml.cfg est maintenant réduit au paramétrage proprement dit, les libellés des messages sont désormais stockés dans locale/msg_xx.mo.

 

* pmlimport :

 Les commentaires non en début de ligne étaient mal gérés (code PML obtenu incorrect) : corrigé.

 Le code suivant un '<body>' sur la même ligne dans un fichier d’ePub était parfois ignoré : corrigé.

 Si présence de descriptions format epub3 dans le bloc 'content', forçage epub2 pour celles qui sont utiles (sinon risque de plantage)

 Les espaces comme premier caractère des blocs en italiques ou gras sont déplacés avant la balise.

 Détection de données d’en-tête d’epub incohérentes, message d’erreur et évitement d’un plantage.

 

* pmlexport :

 Indication de la taille du texte proprement dit, déjà fournie pour chaque chapitre, maintenant totalisée par sous-ensembles (permet par exemple d’avoir directement la taille de chaque partie même quand elle est divisée en chapitres, ou de chaque nouvelle dans un recueil dont certaines sont subdivisées en chapitres, etc.).

 Pour les routines python, ajout de la possibilité d’un emplacement alternatif (pour traitement différent d’un même fichier selon paramétrage) et d’accès à plus d’une base de données.

 Possibilité d’avoir des balises PML simples (sans attributs) à l’intérieur d’une constante.

 Ajout des balises de littéraux <@mot_clé> pour internationalisation. Cf. documentation pour détails.

 Lors d’imbrication de métabalises avec paramètres, les valeurs n’étaient pas toujours correctement attribuées : corrigé.

 

0.5.0 – 6 août 2017

 

* pmlimport :

 Les '<span>' sans attributs (donc inutiles) sont maintenant éliminés.

 Les métabalises générées reçoivent maintenant un commentaire indiquant le nombre d’occurrences de celles-ci dans le document, afin de faciliter le nettoyage éventuel du texte.

 Certaines balises différentes mais avec la même classe généréraient la même métabalise. Elles sont à présent différenciées.

 

* pmlexport :

 Ajout d’une balise <notebis> permettant de référencer plusieurs emplacements de texte successifs avec un unique texte de note.

 Les appels de notes sur un titre se retrouvaient dans la table des matières : corrigé.

 

0.4.5 – 30 juillet 2017

 

* pmlimport :

 Le fichier HTML bâti à partir d’un ePub reprend maintenant le nom de celui-ci au lieu de 'temp'.

 Les '<meta…' vides (donc inutiles) sont maintenant ignorées.

 Les commentaires sur plus d’une ligne étaient mal convertis : corrigé.

 Des balises fermantes sans ouvrantes (document HTML mal bâti) pouvaient donner une imbrication négative, i.e. des retours de ligne non conformes : corrigé (balise fermante mise en commentaire) avec message d’erreur.

 Des balises sans texte pouvaient être converties avec une espace inutile (ex. <br >) : corrigé.

 Si la première balise après '<body' est un '<div', celle-ci était ignorée : corrigé.

 

* pmlexport :

 En cas de balise non identifiée, mise en commentaire de celle-ci dans le HTML généré (et recouvrement d’un plantage en cas de paramètres associés).

 

0.4.4 – 21 juillet 2017

 

* général

 pml.cfg : suppression de l’affectation 'eons' (valeur perso !) au paramètre 'oebps'.

 

* pmlexport :

 Des liens étaient mal générés (contenu d’autres balises) suite à copie de référence au lieu du contenu : corrigé.

 Préserve les minuscules dans la table des matières pour les titres définis avec des petites majuscules (auparavant donnait des titres en majuscules).

 

* htmlepub :

 Suppression effective du répertoire de travail (instruction était mise en commentaire).

 

* fonctions internes :

 Des balises mises en commentaire étaient traitées tout de même : corrigé.

 Les paramètres implicites (src, href) des balises <a> et <img> étaient abusivement renommés/renumérotés, pouvant causer des paramètres doublons et plantage : corrigé.

 

0.4.3 – 28 juin 2017

 

* pmlimport :

 Ajout d’un joker '?' pour les balises dans -ignore afin de limiter les listes sinon longues.

 Regroupement sur une ligne des textes tronçonnés à cause de balises éliminées.

 

0.4.2.1 – 27 juin 2017

 

* pmlimport :

 Régression de la 0.4.1.1 remplaçant des espaces par des '>' : corrigé.

 

0.4.2 – 26 juin 2017

 

* général :

 Prise en compte des spécificités de certains systèmes (notamment Windows et W10).

 

* pmlimport :

 Détection des images définies mais absentes.

 

0.4.1.1 – 25 juin 2017

 

* pmlimport :

 L’espace débutant le texte associé à une balise était parfois supprimé, accolant des mots intempestivement : corrigé.

 

0.4.1 – 25 juin 2017

 

* pmlimport :

 Amélioration des performances pour les gros ePub contenant beaucoup de balises images.

 Les métadonnées issues de l’ePub pouvaient être mal placées si '</head>' n’était pas en début de ligne : corrigé.

 Problème de chemin sous Windows quand -o utilisé avec chemin absolu : corrigé.

 Dans certains cas, plusieurs balises de premier niveau restaient sur une même ligne (invalide en PML) : corrigé.

 Ajout d’un paramètre "ignore" permettant de faire disparaître les balises des classes listées (nettoyage de documents ePub/Html surchargés de codes inutiles)

 

0.4.0 – 9 juin 2017

 

* général :

 La documentation (PML.pdf) décrit l’outil SGC (Système de Gestion de Contenu) utilisant PML et destiné à gérer un ou plusieurs sites Internet. Compte tenu du travail encore nécessaire sur cet outil, ce dernier lui-même n’est pas encore livrable. Sa documentation permet toutefois d’en avoir déjà une bonne idée.

 

* pmlimport :

 Amélioration des performances pour les gros ePub (sur un PC équipé d’un processeur i7-4790K, la conversion des œuvres complètes de Victor Hugo – cas extrême d’un ePub contenant plus de 5000 fichiers HTML – est passée de 4h56 à… 53 s !)

 Indications d’avancement pour les gros ePub (plus de 10 000 balises).

 

* pmlexport :

 Indication de la taille du texte proprement dit fournie pour chaque chapitre (métabalises générant un niveau <h1> et définies dans '§toc') ainsi qu’en total de l’ePub.

 

0.3.1 – 10 février 2017 (non distribuée)

 

* pmlimport :

 Les métabalises avec texte sont maintenant reconnues (si elles sont bien sur une seule ligne et identiques dans le document)

 

* pmlexport :

 Les inclusions et exclusions reconnaissent maintenant la condition 'constante absente ou vide', définie avec un '-' en fin du nom (en place de'=' ou '≠')

 Les '&' ou '&' retournés dans une constante par une fonction Python étaient mal interprétés. Ils sont à présent correctement prévervés.

 

0.3.0 – 8 février 2017

 

* pmlimport :

 Accepte à présent un ePub en entrée, stocke les données spécifiques en balises "meta".

 Possibilité de définir un nom pour le fichier PML en sortie.

 

* pmlexport :

 Correction d’une régression en 0.2.0 qui mettait à "faux" toutes les conditions d’inclusion/exclusion non de groupes.

 

* htmlepub :

 Possibilité de choisir le nom du répertoire interne des données (OEBPS par défaut).

 Prend en compte la plupart des "meta" correspondant à des spécifications ePub.

 Régression temporaire : ne peut générer d’ePub3 (plantage).

 

0.2.0 – 28 janvier 2017

 

* général

 constantes : le caractère '$' posant problème dans certains cas, il est remplacé par '%'

 

* pml.cfg :

 Peut maintenant servir pour définir des constantes d’usage général.

 Ajout de la constante %scripts pour définir le chemin des fichiers de base (style.css, .js, imports, etc.).

 

* fonctions internes :

 ajout du module html.py.

 suppression du doublon de la fonction baliseHTML (était dans routinespml.py et html.py).

 déplacement de la définition des codes de travail internes de routinespml.py vers globales.py.

 

* pmlimport :

 Correction d’une régression en 0.1.1 supprimant toutes les lignes vides.

 

* pmlexport :

 Prise en compte de la constante %scripts.

 Possibilité de définir des constantes dans la ligne de commande.

 Possibilité de spécifier un nom de fichier HTML en sortie (par défaut, c’est le nom du fichier PML).

 Possibilité de mettre plusieurs constantes dans une balise d’inclusion ou exclusion (condition 'et')

 Inclusion et exclusion de groupes maintenant opérationnelles.

 

* htmlepub :

 Possibilité de choisir le nom du répertoire interne des données (OEBPS par défaut).

 

0.1.1 – 24 janvier 2017

 

* pmlimport :

 attributs à 'None' à traiter idem attributs à longueur nulle (correction Ventdefolie).

 le parseur HTML de Python ne peut traiter les documents aberrants (tels ceux issus de MsWord). Interception de l’erreur pour message d’erreur terminale explicite.

 nettoyage préalable du document en entrée par suppression des pseudo-commentaires d’origine MsWord, pare à la plupart des aberrations.

 les textes multilignes conservés tels quels causaient des erreurs de structure. Ils sont maintenant assemblés en lignes uniques.

 

* pmlexport :

 Les '&amp;' ('&' dans PML) en smallcaps devenaient '&AMP;' : ils sont à présent respectés.

 Les constantes sans contenu (longueur zéro) doivent être traitées comme non définies : fait et message d’avertissement ajouté.

 Le tableau 'roman_map' pour les notes en chiffres romains n’était pas dans le bon module : déplacé de pmlexport.py à routinespml.py

 'id' préexistant pris en compte pour table des matières mais était supprimé comme non référencé : corrigé.

 

* htmlepub :

 plantait si un fichier image manquait : corrigé et message d’erreur.

 les classes qui ne sont pas le premier attribut après la balise n’étaient pas prises en compte : corrigé.

 

0.1.0 – 23 janvier 2017

 

Pack de test, première mise à disposition.

 


© 2017, 2018 Jean-Luc-Blary