# Templater : quelques formules utiles Cette note regroupe des commandes que j'utilise le plugin communautaire Templater. #### Récupérer le nom du fichier Dans l'exemple ci-dessous, j'insère le nom du fichier dans la propriété `title` : ```YAML --- title: Note quotidien du <% tp.file.title %> --- ``` #### Définir la position du curseur Définir le positionnement du curseur après chargement du template. Cela optimise la saisie une fois le templte importé. ``` <% tp.file.cursor() %> ``` #### Insérer 5 fichiers aléatoirement L'idée était de faire des review aléatoire de mes notes... ```<%* const noOfNotes = 5 const dv = this.DataviewAPI const files = await dv.tryQuery(` LIST FROM #type/citation AND -"_tools/template" AND -"Presentations/Export" `) let randomList = [] for (let i = 0; i < noOfNotes; i++) { const random = Math.floor(Math.random() * (files.values.length - 1)) randomList.push(files.values[random]) } tR += dv.markdownList(randomList) %> ``` #### Manipuler les dates Ci-dessous le script génère la date de création basée sur la date de création du fichier `file.ctime`. Ensuite il utilise la fonction `now()` pour calculer la date du jour précédent et la date du jour suivant. ```YAML --- created: <% tp.file.creation_date("YYYY-MM-DD HH:mm") %> Prev date: <% tp.date.now("YYYY-MM-DD", -1, tp.file.title, "YYYY-MM-DD") %> Next date: <% tp.date.now("YYYY-MM-DD", 1, tp.file.title, "YYYY-MM-DD") %> --- ``` Insérer un bandeau de type callout dans les daily note avec des liens vers le jour précédent ou suivant : ``` > [!info] <span style="font-weight: normal; color: var(--text-normal)">← [[<% tp.date.now("YYYY-MM-DD", -1, tp.file.title, "YYYY-MM-DD") %>|Previous]] | [[<% moment(tp.file.title, "YYYY-MM-DD").format("YYYY-[W]ww")%>|Semaine <% moment(tp.file.title, "YYYY-MM-DD").format("ww") %>]] | [[<% tp.date.now("YYYY-MM-DD", 1, tp.file.title, "YYYY-MM-DD") %>|Next]] →</span> ``` #### Manipuler les semaines Insérer un bandeau dans les weekly notes avec des liens vers la semaine précédent ou suivante : ``` > [!info] <span style="font-weight: normal; color: var(--text-normal)">← [[<% moment(tp.file.title, "GGGG-[W]WW").subtract(1, 'weeks').format("GGGG-[W]WW") %>|Previous]] | [[<% moment(tp.file.title, "GGGG-[W]WW").format("GGGG-[W]WW") %>|Semaine <% moment(tp.file.title, "GGGG-[W]WW").format("WW") %>]] | [[<% moment(tp.file.title, "GGGG-[W]WW").add(1, 'weeks').format("GGGG-[W]WW") %>|Next]] → </span> ```