Home

Création d'une page web pour CUK

incluant un AppleScript de convertion


Je suis habitué à créer mes pages Web avec le logiciel CODA sur mon iMac27. C'est l'environnement que je connais le mieux, et étant en local c'est plus performant.

Chez CUK vous créez un article, sous le contrôle d'un butineur de web comme Safari, en utilisant la fonction Textil.

Textil est simple, bien pour un débutant, mais n'offre pas, entre autre, le résultat en visibilité immédiate dans une autre fenêtre comme le fait CODA.

Autre solution chez CUK vous pouvez aussi donner du HTLM brut, donc ce que j'ai chez moi dans CODA.

Excepté que j’utilise mes CSS personnels différents de ceux de CUK. Il faut donc une adaptation. J’ai créé pour cela un AppleScript pour faire ces modifications.

Globalement c’est du remplacement des classes CSS par du HTML générique.

Exemple : remplacement de class=”blue” par style=”color: blue”.

Et l'adaptation à l’URL spécifique CUK “redac/votreNom/”

Mais avant de voir l'applescript de passage de CODA à CUK jetons un coup d'œil à la préparation du texte.



Markdown avant CODA

Dans le logiciel CODA qui est un logiciel complet de créateur de site, il y a la visibilité des balises HTLM qui encadrent le texte. C’est un facteur de distraction pour l'écriture de votre texte. Cela génère aussi quelques erreurs mineures dans la correction d'orthographe d'Antidote.

L'apparition des applications utilisant le langage Markdown, langage qui permet d'inclure le formatage (titre, liste, etc.) très simplement et peu visible, améliore notablement la création du texte.

J'utilise maintenant systématiquement un logiciel Markdown pour l'écriture du texte, avant de passer à CODA.

Avant de voir un exemple, il faut préparer l'environnement.



Les images et le dossier contenant

Pour les images, je crée une structure avec les images dans un sous-dossier pour ne pas mélangé avec les pages HTML. C'est utile en cas de grande quantité d'image.

Pour la page HTML, j'ai un modèle que je duplique. Cela donne cela :


30

Puis je remplace le nom « ModelTousNiveau » par le même que celui de la structure « CUKas » que je suis en train de créer. (Vous avez deviné que CUKas est le raccourci de CUKapplescript).


34

voilà le cadre de travail est prêt, retournons à notre texte.



De Markdown à CODA

Quand j'ai terminé la totalité de mon texte, je passe le correcteur d'orthographe Antidote.

Je pourrais bien sûr passer mon texte directement dans le système de CUK, mais je me priverais de toutes les facilités de CODA pour la mise au point de formatage de ma page web. Donc je passe à CODA pour finaliser mon texte.


Voyons cela avec un exemple d'un bout de texte contenant un titre et une liste.


10

Chut, c'est un extrait de ma recette de nougat à paraître sur CUK un jour où il y aura un trou, ou une petite faim.



J'utilise le logiciel Markdown Pro, qui permet de voir à la demande le résultat.


12



Ou encore mieux, Markdown Pro le permet, avec deux fenêtres côte à côte.


20



Puis je demande à Markdown Pro de me générer le texte en HTML.


40

Et boum, Markdown Pro ne génère pas un code propre, car mettre un paragraphe dans le « li » génère dans mon CSS un grand blanc.




Ce code HTML, que j'inclus dans ma page HTML sous CODA, donne.


51

J'ai donc un AppleScript qui supprime le paragraphe dans le « li ».


62

Cela demande un click avec un résultat immédiat.


J’ai rencontré trois problèmes :





Les AppleScripts

Une fois que je suis heureux de ma mise en page sous CODA je lance l'AppleScript de conversion de CODA vers CUK.

C'est le même script que celui pour passer de Markdown à CODA. Le seul changement c'est les valeurs des données à remplacer.


C'est du pur remplacement d'une valeur par une autre, sauf que le langage AppleScript n'a rien de convivial. je veux faire :


Remplacer « aaa » par « bbb » dans mon texte.

Je vais créer une routine que je vais appeler « remplacement ».


remplacement("aaa", "bbb", leText)

Jusque là même un débutant suit. Il faut indiquer où va le résultat :


set leRésultat to my remplacement("aaa", "bbb", leText)

Il faut lire comme : définir la zone leRésultat avec la valeur générée par la routine remplacement.


Notez, le mot « leText » n'est pas entre guillemet car c'est une variable, un contenant.



Particularité, le résultat peut être le contenant d'entrée. Cela donne :


set leText to my remplacement("aaa", "bbb", leText)



Dernier point il faut indiquer sous quel format vous voulez le résultat. Pour nous c'est du texte, donc :


set leText to my remplacement("aaa", "bbb", leText) as text



Vous le devinez pour toutes adaptations il suffit de rajouter en début du script une ligne avec les bonnes valeurs de "aaa", "bbb".

Le cœur du travail se fait dans la routine remplacement qui, elle, est immuable.


Voyons comment elle marche.



La routine remplacement

AppleScript pour être performant utilise les vecteurs (Array en anglais) et une valeur de délimiteur.

Exemple une zone contenant « aaBBcc ». Si je défini un délimiteur « BB », une certaine commande appleScript va donner comme résultat un vecteur de deux éléments « aa,cc ».


Si je définis maintenant comme délimiteur « ZZ », et demande à appleScript la fonction inverse, cela va donner comme résultat « aaZZcc ».


J'ai bien remplacé « BB » par « ZZ » partout dans mon texte.


Maintenant vous vous accrochez pour lire la syntaxe AppleScript. Elle est très concise, mais dure à mémoriser.


set AppleScript's text item delimiters to "BB"

set chaquePartie to (every text item of leText) -- création de la liste

set AppleScript's text item delimiters to "ZZ"

set leText to (items 1 thru -1) of chaquePartie as text





Problème des guillemets dans les guillemets

Vous avez vu que les valeurs sont entre guillemets "BB". Problème si vous avez des guillemets dans votre texte à remplacer, ce qui est fréquent dans du HTML, il faut remplacer le guillemet par un « \" ».

Pour une meilleure lisibilité j'ai remplacé le « \" » par un caractère que l'on ne rencontre pas dans du HTML usuellement, le « ° ». Cela m'oblige à un remplacement à deux niveaux dans mon script.



Je pense que vous avez tous les concepts pour lire les scripts. Commencez par celui du passage de Markdown vers CODA. J'ai utilisé le presse-papiers comme intermédiaire.


82



Et maintenant celui du passage vers CUK script « Conversion vers CUK étape 1&2 ».



J'utilise BBEdit qui est en permanence ouvert chez moi. C'est un logiciel de développement cher, si vous ne l'avez pas, modifiez le script pour passer par le presse-papiers comme dans le script « de Markdown vers CODA » ou utilisez la version gratuite de BBEdit qui s'appelle TextWrangler.


90



Téléchargez le fichier Conversion_vers_CUK.zip




Merci
SignatureZapfino




Merci de votre visite


UP