const base = "https://dvlivephoto.synology.me/open.html?file=";
// === PNJ ===
dv.header(2, "PNJ");
{
const pages = dv.pages()
.where(p => p.file && (p.file.tags?.includes("PNJ") || p.file.folder.startsWith("2-World/PNJ")))
.sort(p => p.file.name);
const lines = pages.map(p => {
const rel = p.file.path.replace(/\.md$/,"");
return `- [${p.file.name}](${base + encodeURIComponent(rel)})`;
});
dv.paragraph(lines.join("\n") || "_Aucun PNJ trouvé_");
}
// === Lieux ===
dv.header(2, "Lieux");
{
const pages = dv.pages()
.where(p => p.file && (p.file.tags?.includes("Lieu") || p.file.folder.startsWith("2-World/Lieux")))
.sort(p => p.file.name);
const lines = pages.map(p => {
const rel = p.file.path.replace(/\.md$/,"");
return `- [${p.file.name}](${base + encodeURIComponent(rel)})`;
});
dv.paragraph(lines.join("\n") || "_Aucun lieu trouvé_");
}
// === Quêtes ===
dv.header(2, "Quêtes");
{
const pages = dv.pages()
.where(p => p.file && (p.file.tags?.includes("Quete") || p.file.folder.startsWith("3-Quetes")))
.sort(p => p.file.name);
const lines = pages.map(p => {
const rel = p.file.path.replace(/\.md$/,"");
return `- [${p.file.name}](${base + encodeURIComponent(rel)})`;
});
dv.paragraph(lines.join("\n") || "_Aucune quête trouvée_");
}