Urbanbike

Recherche | mode avancée

Exporter depuis Drafts…

De l’intérêt des Templates et Content tags…

dans écrire | outils | pratique | usages
par Jean-Christophe Courte

Simple partage d’expérience.
Avertissement : je ne suis qu’un gars qui oscille entre Pencil, mode Dictée et clavier.
Un simple utilisateur, certainement pas un codeur.
Juste un bricodeur…!

Drafts est une application gratuite (sous iOS et macOS) qui me sert quotidiennement pour saisir une note, un billet (…celui-ci par exemple !), un mail comme un long message, une enfilade de tweets, mémoriser un article passionnant trouvé sur le net…

La synchronisation de Drafts me permet de retrouver sur tous mes écrans l’intégralité de mes notes, actions, dossiers de travail, environnement tant sur Mac que sur l’un de mes écrans iOS (iPad ou iPhone).

les trois lecteurs d’urbanbike ont déjà survolé de nombreux billets à propos de cette application mais je persévère…!

Drafts me permet d’exporter — individuellement ou groupées — ces notes vers iCloud, DropBox, Box, etc.
Mais également vers d’autres outils de texte comme Day One, Ulysses… ou encore Obsidian.

l’abonnement pour accéder à toutes les ressources…

Ce que j’évoque par la suite ne fonctionne que si vous avez signé pour un mois ou une année.

Via l’abonnement Drafts Pro, j’ai accès à tout instant au Drafts Directory et donc à des centaines d’actions, de syntaxes spécialisées (dont TaskPaper+ ou Fountain), à des groupes d’actions (…comprendre, des barres additionnelles dédiées que l’on peut toujours modifier à sa guise), des Workspaces (je préfère les organiser moi-même) mais également des Thèmes (coloration syntaxique).

Dans cette bibliothèque contributive1, il y a des actions que j’emploie comme des briques, des fragments que je peux modifier, retailler, ajuster, modeler.
Une fois complétées avec les options — …parcourir le Drafts User Guide — mises à disposition par le développeur de Drafts, je bricode l’action2 que j’ai en tête…

Bref, des bouts de code que je combine avec d’autres options pour réaliser ce dont j’ai besoin…

Bref, ma vision actuelle de Drafts (j’ai eu du mal à m’y faire au tout début) est d’emprunter des lignes de code en y ajoutant quelques pièces qui me sont proposée pour construire/bricoler des actions qui vont simplifier mon quotidien.

Templates avec Content Tags

Si les tags (ce que l’on désigne habituellement par le terme mots-clés) permettent — par un emploi judicieux — de ranger automatiquement mes notes (taguées…!) dans des dossiers dédiés (les fameux Workspaces)…

reduc-450

  • Regarder en haut de cette copie d’écran… Ce sont là les tags traditionnels pour identifier/ranger/retrouver facilement un texte dans une myriade d’autres (près de 3500 à ce jour…)

…Or ce même terme est associé à la construction de Templates
D’où une confusion légitime…

Introduites comme ça (…les tags et les templates), on a une seule envie, celle d’arrêter de lire ce billet…!

C’est ici que je vous demande de faire un effort, d’oublier temporairement la notion de mot-clé habituellement associée à ce terme3
Et de retenir… provisoirement :

Template => Modèle : Ou esquisse, gabarit…
Content Tags => Portions de note… les portions de n’importe quelle note que vous écrivez, c’est une description des différentes parties du texte saisi…

Content Tags

De fait, c’est simplement un dispositif logique qui identifie les divers éléments de n’importe quelle note ou texte.

Pour éviter de vous saouler (…trop tard…!), je vais n’évoquer que les Content Tags|Portions de note indispensables4…!!

Une note en entier — par défaut — c’est un [[draft]] (…marrant, comme le nom de l’app…!).

Si l’on décompose cette note, on peut identifier son titre [[title]] du reste de la note, le [[body]].

Bref, un [[draft]] est généralement constitué d’un [[title]] et d’un [[body]].

Jusque là, vous suivez…!
À garder en mémoire : on peut également identifier une note par ses lignes… [[line|1]], [[line|2]], [[line|3]], [[line|9]]… Mais attention, une ligne vide5 compte dans cette identification…

Date et Titre…?

Mieux encore, cette note peut être datée. Généralement la date du moment où vous allez l’exporter. Cette information possède son propre Content Tag, [[date]].
Vous pouvez également employer une information plus fournie, la date + l’heure. Ce Content Tag est : [[time]]6.

Si la date que vous souhaitez n’est pas la date courante mais celle de votre premier jet, sachez qu’il existe un Content Tag dédié, [[created|format]], etc. Il existe également un Content Tag lié à la date de la dernière modification effectuée dans un texte…

Bref, n’importe quelle note rédigée dans Drafts peut se décomposer en portions que l’on peut combiner…

Ainsi, si vous avez besoin de concatèner la date courante avec son titre, vous pourriez combiner les deux éléments : [[date]][[title]] (avec un tiret ou une espace entre les deux tags… Ou pas…!)…

Important : ce n’est pas parce que vous avez utilisé un tag que vous ne pouvez pas le réutiliser une seconde fois…!

Et les templates…?

Le modèle, la Template, le gabarit vous permet de disposer une série de Content Tag pour décrire la note… telle que vous souhaitez l’exporter…

  • Pour la stocker sur un nuage (DropBox, iCloud, Box, etc.).
  • Ou l’exporter vers un autre traitement de texte… en fonction des spécificités de ce dernier…

Par exemple, j’apprécie (choix personnel) d’exporter ou sauvegarder un texte avec les infos suivantes : date d’export et titre ; rappel de la date et heure du premier jet7 et de la date et heure de la dernière modification : des mots-clés… Ça donne ceci :

`[[date]]-[[display_title]]`

`
- début [[created|%Y%m%dT%H%M%S]]`
`
- fin [[modified|%Y%m%dT%H%M%S]]`
`
- tags : [[tags]]`



`[[body]]

Et je retrouve bien le titre (la première ligne de ma note), le reste de la note…

Selon le besoin, j’ajuste les paramètres, ajouter un peu de balisage MultiMarkdown ou de texte dans la template et donc créer des actions quasi similaires mais avec des subtilités en fonction de la cible…
Mais une fois que c’est fait, je vais utiliser la même action, quelque soit le texte à sauvegarder ou à exporter…

reduc-450

  • liste est disponible sur le site de Drafts

Dans l’exemple qui précède, j’ai substitué des Content Tags => Portions de note par d’autres aux caractéristiques particulières…

  • [[display_title]] affiche toujours le titre mais sans les # de niveaux Markdown et l’espace qui suit…
  • [[tags]] renvoie la liste de tous les tags (…les mots-clés cette fois-ci) qui seront séparés par des virgules (ce billet est tagué chez moi urbanbike,humeur…!)
  • Les Content Tag [[created|%Y%m%dT%H%M%S]] et [[modified|%Y%m%dT%H%M%S]] ont un format de date plus élaboré,
  • etc.

Enfin, cette template peut se transformer elle-même (…roulements de tambours) en un Content Tag temporaire… qui ne sera utilisé que dans le cadre d’une action donnée.
Cela est banal pour les codeurs mais cela l’est moins pour les bricodeurs.

Deux exemples d’export

Vers un dossier iCloud et vers un Vault Obsidian (et sans rentrer dans les détails de chaque action)…!

Rappel : on peut appeler une action depuis la barre additionnelle mais aussi depuis d’un des deux volets de Drafts

reduc-450

  • Personnellement, j’ai créé plusieurs barres additionnelles, toutes avec leur spécialité…

reduc-450

  • Pour éditer une action sous iOS, il faut faire glisser le nom de l’action pour découvrir les options… dont Edit

vers iCloud

Des tas de fonctions d’export vers iCloud sont disponibles dans le Drafts Directory mais je suis partie celle-ci, Export Draft que j’ai un peu personnalisé.

reduc-450

  • en changeant son nom et son icône…

reduc-450

  • une seule étape mais…

reduc-450

  • personnalisée par deux fois : la gestion du nom du fichier qui sera créé avec un suffixe… ; la template qui reprend les éléments montrés plus haut dans ce billet…

reduc-450

  • Le résultat de l’action se range dans iCloud dans le dossier Export…

Accessoirement, je peux déplacer ces fichiers produits depuis Drafts vers le dossier Obsidian sur ce même cloud… Sauf que je peux aussi bricoder une action pour cette application de texte…

vers Obsidian

Pour cette action, je suis parti du script newObsidianNote… que j’ai également modifié en ajoutant une template (première étape) et en éditant le script original (seconde étape)… Je ne rentre pas dans les détails, comment ajouter une étape, etc.

reduc-450

  • cette première étape reprend les éléments de la template déjà exposée…

reduc-450

  • Notez la présence d’une barre de Content tags au dessus du clavier…

reduc-450

  • Mais cette fois-ci, je donne un nom à cette template [[packexport]], nom que je vais utiliser dans le seconde et dernière étape…

reduc-450

  • Ici en mode édition… Notez que vous retrouvez [[packexport]] et [[date]]-[[display_title]] alors même que ce dernier est déjà dans la template…

C’est du à une caractéristique d’Obsidian qui emploie le titre pour son arborescence mais ne le répète pas dans la fenêtre d’affichage de la note… Du coup, je préfère doubler cette information…

Ce qui précède est ma manière d’utiliser Drafts pour la sauvegarde sur des nuages distants ou export vers d’autres traitements de texte. Toute action peut-être modifiée à tout instant, améliorée…

Il y a des notions évidentes (sic !) qui méritent d’être rappelées — le sous-nain autodidacte que je suis aurait aimé trouver une source ludique pour apprendre — à défaut d’être doctement enseignées…

Certains comprendront peut-être ma fidélité à Drafts !


  1. J’y contribue quelquefois en français… 

  2. un type intelligent, un codeur ferait mieux et ce serait même optimisé pour gagner une fraction de seconde… Sauf que je m’en fous. 

  3. …même si on s’en éloigne pas trop finalement… 

  4. Il sera toujours temps pour vous d’aller explorer les autres Content Tags disponibles… 

  5. Souvenez-vous que vous pouvez activer Paragraph numbers qui affiche le numéro de chaque ligne… 

  6. [[time]] retourne : YYYY-MM-DD-HH-MM-SS (que des chiffres pour obtenir 2021-07-22-11-16-32) — [[date]] ne retourne que… la date YYYY-MM-DD (soit 2021-07-22 par exemple). Mais sachez que vous pouvez composer cette chaine d’infos date et heure selon vos envies… 

  7. Drafts permet même d’ajouter la localisation si c’est important… 

le 23/07/2021 à 12:20 | .(JavaScript must be enabled to view this email address) à Jean-Christophe Courte | Partager…?