# 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>
```