Oh ! Pas de productivité excessive ! Bien plus de la réorganisation maline avec peu d’efforts pour en faire … moins (ou mieux) !
C’est le propre des paresseux : s’organiser pour optimiser mon temps et éviter d’en perdre inutilement.
L’une de mes activités est la lecture des fils RSS et d’en extraire de temps à autre une phrase, un élément de réflexion. C’est là où entre en lice mon fidèle Drafts

Comme je jongle entre trois destinations, trois #tags possibles.

Et, au moment d’enregistrer, je n’en conserve qu’un (…ou deux) selon la taille de l’extrait.
Cette action est intéressante mais ne conserve pas (encore) le balisage d’origine et je copie préalablement le texte souhaité avant de le recoller avec le balisage markdown idoine.
Ensuite, mes workflowsme permettent d’accéder à la liste des captures sous tel ou tel mot clé.

Bien entendu, quant aux extraits qui finissent dans les sources, je peux ensuite ajouter d’autres mots clés.

Enfin, pour la version parle puzzlequi me sert à montrer mes Paul-Eu, Drafts me permet de les compiler en un seul fichier.
J’en également profité pour commencer à virer de trop nombreuses notes déjà publiées dans Urbanbike, stockées dans Box et rassemblées dans Obsidian !
Oui, j’emploie l’option Share & Action de Drafts…

Avec quelques balises de base…

Et ces #Tags.
C’est tout…
Histoire de nettoyer mes bévues courantes…
dans
drafts |
écrire
Que les choses soient claires : je ne suis pas un expert en RegEx (…en rien d’ailleurs !).
Comme pour le reste, j’apprends/me forme par une succession d’essais - échecs - corrections.
Puis, miracle, je valide… quand ça fonctionne.
Et je recommence.
Bref, ce qui suit n’est pas un cours de RegEx (…manquerait plus que ça !).
Le 14 avril, j’écrivais sur mastodon :
Bon, il est « plus que temps » que je découvre les options #RegEx dans #draftsapp et forge mes propres règles de nettoyage.
J’aurais dû ajouter l’objectif pour m’éviter des discussions dans mastodon : débarrasser mes écrits des petites scories quand je rédige sur Drafts en markdown.
Attention, un script peut en cacher un autre…
Dans le directory de Drafts se trouve de rares scripts autour du #RegEx dont…
RegEx Factory v.1.4…
Et
Run RegEx Factory, du même contributeur, RoyRogers.
- Le premier permet de « fabriquer des patterns » RegEx qui seront enregistrés dans Drafts comme des fichiers distincts avec une UUID,
- Le second (Run) de lancer précisément une pattern identifiée par son UUID.
En gros : pattern (template, maquette, recette…) est simplement un fichier texte listant une série de règles à appliquer.
Les règles sont les mailles d’un tamis numérique qui a pour but de retenir les plus grosses bévues (oubli d’espaces insécables, substitution d’apostrophes, etc. ) que je fais en tapotant.
En résumé :
- J’exécute, via Run (RegEx Factory), une liste d’instructions, liste fabriquée à l’aide de RegEx Factory v.1.4 et enregistrée comme un simple fichier texte JavaScript.
- Je peux ajouter dans cette même liste d’instructions — si besoin est — de nouvelles règles dans ce fichier ; des commentaires pour me souvenir de leur usage ; les modifier (…je ne m’en prive pas…!) ; copier/coller d’autres règles.
C’est une recette de cuisine qui s’exécute dans l’ordre de lecture, ni plus ni moins.
Et ça s’édite directement dans… Drafts !
Pensez juste à changer la syntaxe du fichier de travail des RegEx en optant pour JavaScript… La coloration syntaxique en sera grandement améliorée…
J’entends déjà des « ohhhhhhh » de déception car je ne vais pas expliquer plus avant ces deux scripts.
Pensez à récupérer l’UUID du fichier de règles (la pattern pas terne que vous aurez écrite) pour la coller dans le script de Run RegEx Factory, histoire que ce dernier sache quoi employer !
RegEx, JavaScript et instructions
J’avais donc comme projet de pondre une sorte de… balayette de table (!!) comme celles que l’on emploie pour débarrasser cette dernière des miettes à la fin d’un repas…!
Bref, un mini script bas de plafond pour corriger mes bévues dans mes textes , une sorte d’économe (…ce que d’aucuns nomment éplucheur de légumes) pour les… éplucher (à l’opposé d’un produit multifonctions).
Point.
Depuis longtemps, j’ai identifié un paquet d’erreurs que j’ai tendance à répéter (oubli des espaces insécables, etc.).
Pour mémoire, j’emploie une moulinette depuis Drafts 4 et adaptée au fil des usages.
Mais la curiosité m’a incité à jeter un œil dans cet univers du …RegEx.
Des substitutions et c’est tout !
Avertissement : ici mes relations « super experts » devraient abandonner ce billet tant la pauvreté de mon code (sic !) risque de les abasourdir !
Eh oui : mes besoins modestes ne nécessitent pas d’extraire des informations, d’ajouter une lettrine dans un paragraphe ou une espace fine avant un point d’exclamation.
J’ai lancé RegEx Factory v.1.4 pour regarder comment ça fonctionne et analysé les exemples.
Mon premier besoin (règle modifiée depuis…) était de virer mes highlights, un balisage qui me permet de stabiloter des passages à réviser en les entourant de ==.
Pour les supprimer…
/==/gm, ‘‘
En gros, ça revient à remplacer == par rien !
C’est ici que j’ai découvert que /gm permettait d’effectuer ce remplacement sur la totalité du texte soumis.
La fonction utilisée est :
text = text.replace( );
Et puis j’ai continué, règle par règle, chacune enregistrée dans un fichier produit par RegEx Factory v.1.4.
Parenthèse : j’ai testé une action qui faisait appel à d’autres scripts mais cela n’était pas satisfaisant à mes yeux.

J’ai très vite fini par regrouper ces règles vérifiées dans un unique fichier, modifié les instructions du corps de l’en-tête (…francisé, changé les tags).
Ce script permet d’opérer les remplacements sur le fichier actif en premier plan (évitez de le faire sur votre pattern…!) ou, astuce, de créer un nouveau ficher…
Penser à créer deux tags différents: ça s’avère utile pour différencier le fichier source du fichier traité…!
Puis aligné ces règles de substitution entre les deux instructions idoines :
function regExReplace(text) {
et
return text;
}
À la fin, ça donne ceci :


Attention : les regex d’illustration dans ces copies d’écran étaient un premier jet et déjà corrigées depuis l’édition de ce billet…

Et pour lancer cela, une seule action…

Désolé pour cette démonstration ras des pâquerettes mais elle fait la… rue Michel…
Et c’est tout !
Rappels pratiques liés à Drafts…
Ne pas oublier de… via l’info du fichier Pattern (…et ça fonctionne pour tous les fichiers Drafts)…

- de récupérer l’UUID de votre pattern (cliquez en haut à droite sur UUID, Drafts le place automatiquement dans votre presse-papiers…),

- Puis de la coller dans le script de Run RegEx Factory (n’ayez pas peur, passez par Edit)

- En cas d’erreur dans votre fichier de règles, souvenez-vous que Drafts fait du versionning et que vous pouvez revenir à une version antérieure.

- Vous pouvez ajouter ensuite cette action dans votre barre additionnelle et/ou dans le volet des actions…


Bon, là, c’est vraiment tout…!