Peux-tu m'indiquer les codes principaux de "Templa...

تم الإنشاء في: ١٥ يوليو ٢٠٢٥

تمت الإجابة باستخدام GPT-4.5 بواسطة Chat01

سؤال

Peux-tu m'indiquer les codes principaux de "Templater" servant à l'application Obsidian, avec une description précise pour chacun d'eux.

الإجابة

Voici une liste claire et précise des principaux codes utilisés par Templater, plugin d'automatisation de notes pour l'application Obsidian. Chaque code sera accompagné d'une description et d'exemples pratiques :


🟢 1. Date et Heure :

  • Insérer la date actuelle :

    markdown
    <% tp.date.now("YYYY-MM-DD") %>

    Exemple rendu : 2025-07-15

  • Insérer la date et l'heure actuelles :

    markdown
    <% tp.date.now("YYYY-MM-DD HH:mm:ss") %>

    Exemple rendu : 2025-07-15 13:45:20

  • Insérer une date relative (hier, demain, etc.) :

    markdown
    <% tp.date.now("YYYY-MM-DD", -1) %> // hier <% tp.date.now("YYYY-MM-DD", 7) %> // dans 7 jours

    Exemple rendu : 2025-07-14 ou 2025-07-22


🟢 2. Variables de fichier :

  • Nom du fichier actuel :

    markdown
    <% tp.file.title %>

    Renvoie : nom du fichier actuel.

  • Chemin complet du fichier :

    markdown
    <% tp.file.path(true) %>

    Renvoie : Dossier/Sous-dossier/Fichier.md

  • Nom du dossier du fichier actuel :

    markdown
    <% tp.file.folder(true) %>

    Renvoie : le nom du dossier contenant la note actuelle.


🟢 3. Création et modification de fichier :

  • Date de création du fichier :

    markdown
    <% tp.file.creation_date("YYYY-MM-DD") %>

    Renvoie : date où le fichier a été créé.

  • Date de dernière modification :

    markdown
    <% tp.file.last_modified_date("YYYY-MM-DD HH:mm") %>

    Renvoie : date de la dernière modification du fichier.


🟢 4. Commandes de prompt utilisateur :

  • Entrée utilisateur (prompt interactif) :

    markdown
    <% tp.system.prompt("Quel est ton nom ?") %>

    Ouvre un prompt demandant à l'utilisateur d'entrer une réponse.

  • Liste déroulante avec choix :

    markdown
    <% tp.system.suggester(["Option A", "Option B", "Option C"], ["A", "B", "C"]) %>

    Affiche une liste déroulante permettant de choisir une option.


🟢 5. Scripts JavaScript personnalisés :

  • Exécution d'un script JavaScript :
    markdown
    <%* let nom = await tp.system.prompt("Entrez votre prénom :"); tR = `Bonjour ${nom}!`; %>
    Exécute un script JavaScript directement dans le template.

🟢 6. Inclusion de Templates :

  • Insérer un autre modèle (Template) dans le modèle actuel :
    markdown
    <% tp.file.include("[[MonAutreTemplate]]") %>
    Intègre le contenu d'un autre modèle.

🟢 7. Gestion de notes quotidiennes (Daily Notes) :

  • Insérer un lien vers la note quotidienne d'aujourd'hui :

    markdown
    [[<% tp.date.now("YYYY-MM-DD") %>]]

    Renvoie : un lien vers la note quotidienne actuelle.

  • Insérer un lien vers la note quotidienne d'hier :

    markdown
    [[<% tp.date.now("YYYY-MM-DD", -1) %>]]

    Renvoie : un lien vers la note quotidienne d'hier.


🟢 8. Fonctions utilitaires :

  • Sélectionner un texte au hasard dans une liste :
    markdown
    <% tp.user.random(["texte 1", "texte 2", "texte 3"]) %>
    Renvoie : sélectionne aléatoirement une des valeurs fournies.

🟢 9. Navigation et liens :

  • Insérer automatiquement des liens internes avec format personnalisé :
    markdown
    [[<% tp.file.cursor() %>]]
    Place le curseur à l'intérieur d'un lien interne pour remplir dynamiquement.

🟢 10. Curseur :

  • Définir la position du curseur à la création :
    markdown
    <% tp.file.cursor() %>
    Position du curseur une fois la note créée à l'endroit précis défini dans le template.

🟢 11. Récupération d'informations depuis YAML Frontmatter :

Supposons que votre note contient un Frontmatter :

yaml
--- titre: "Ma note spéciale" tag: "idée" ---
  • Extraire des informations depuis YAML Frontmatter :
    markdown
    <% tp.frontmatter.titre %>
    Renvoie : Ma note spéciale.

🟢 12. Récupération d'informations depuis d'autres fichiers :

  • Accéder au contenu d'un autre fichier :
    markdown
    <% await tp.file.include("[[Chemin/Vers/Fichier]]") %>
    Inclut le contenu complet du fichier spécifié.

Conseil d'utilisation avancée :

Les commandes Templater peuvent être combinées avec du JavaScript pour créer des templates dynamiques très avancés, adaptés à des flux de travail complexes.


Ces codes couvrent les principaux besoins de l'utilisateur courant de Templater dans Obsidian. Tu peux les intégrer dans tes modèles (templates) pour automatiser ta prise de notes et gagner beaucoup de temps.

سؤال

Dans Templater pour Obsidian, que signifie et quelle est la fonction de "hook" ?

الإجابة

Dans Templater pour Obsidian, un « hook » (littéralement « crochet » en anglais) est une fonction spécifique permettant d’automatiser l'exécution d'un template en réaction à un événement précis, plutôt que manuellement par l'utilisateur.


📌 Que signifie précisément un « hook » dans Templater ?

Un hook est un déclencheur automatique qui exécute du code Templater à des moments prédéfinis de la vie d'une note, notamment :

  • À la création d’une note (on file creation)
  • À l’ouverture d’une note (on file open)
  • À la fermeture d'une note (on file close)

Ces hooks permettent de lancer automatiquement certains scripts ou templates selon ces événements, sans intervention directe.


🚩 Fonctions pratiques des Hooks dans Templater :

1. On new file creation (à la création d’une note)

  • Objectif : Exécuter automatiquement un template dès la création de toute nouvelle note.
  • Cas d’usage : Ajout automatique d’une date de création, insertion d’un Frontmatter spécifique, structure initiale de la note.

Exemple pratique :

À la création d'une note, insérer automatiquement la date et un tag dans le Frontmatter :

yaml
--- date_creation: <% tp.date.now("YYYY-MM-DD HH:mm") %> tag: note ---
  • Dès que la note est créée, ce template est inséré immédiatement.

2. On file open (à l’ouverture d’une note)

  • Objectif : Exécuter automatiquement du code chaque fois que tu ouvres une note existante.
  • Cas d’usage : Mettre à jour automatiquement la date de dernière lecture ou modifier dynamiquement un contenu à chaque visualisation.

Exemple pratique :

Actualiser automatiquement la date de dernière ouverture de la note :

markdown
Dernière consultation : <% tp.date.now("YYYY-MM-DD HH:mm") %>
  • À chaque fois que la note sera ouverte, la date sera mise à jour automatiquement.

3. On file close (à la fermeture d’une note)

  • Objectif : Exécuter du code automatiquement à chaque fermeture d’une note.
  • Cas d’usage : Enregistrer la dernière modification, ajuster automatiquement des statistiques de suivi, ou ajouter des métadonnées.

Exemple pratique :

Actualiser la date de dernière modification à la fermeture :

markdown
Modifié le : <% tp.date.now("YYYY-MM-DD HH:mm:ss") %>
  • La date s’ajustera dès que tu fermes ta note.

🛠️ Comment activer les Hooks dans Obsidian via Templater ?

Pour activer un hook, suis ces étapes simples :

  • Va dans Obsidian → Paramètres → Plugins communautaires → Templater → Réglages du plugin.
  • Accède à la rubrique "Template Hooks".
  • Choisis un template spécifique à exécuter automatiquement pour chaque événement :
    • Template on new file creation
    • Template on file open
    • Template on file close

🎯 Synthèse rapide du rôle des hooks :

Type de hookMoment d’exécutionExemple typique d’utilisation
on new file creationÀ la création d’une noteInsérer automatiquement la date de création
on file openÀ l’ouverture d’une noteMise à jour automatique d’un compteur ou date d’ouverture
on file closeÀ la fermeture d’une noteActualisation automatique d'une métadonnée (dernière modif)

En résumé, le concept de hook dans Templater pour Obsidian représente une automatisation avancée très pratique permettant d’associer des templates ou scripts à des événements précis, rendant l'utilisation d’Obsidian particulièrement fluide et productive.

مشاركة هذا السؤال والجواب