// Titolo e descrizione della pagina MOC (Map of Content)dv.header(2, "Catalogo dei Proof of Concept (POC)");dv.paragraph("Questo documento funge da indice e sommario per tutti i Proof of Concept (POC) sviluppati per il progetto FIRE. I POC più recenti sono in cima.");// 1. Cerca in TUTTO il vault i file che si identificano come 'poc' tramite YAML.const pages = dv.pages("").where(p => p.doc_type === "poc");if (pages.length === 0) { dv.paragraph("⚠️ **Nessun Proof of Concept (POC) trovato.** Assicurati che i file contengano `doc_type: poc` nel loro frontmatter YAML.");} else { // 2. Filtra solo i POC che sono stati 'Completati' o 'Validati' // Puoi personalizzare questa lista di stati se ne usi altri. const completedPOCs = pages.where(p => ["Completato", "Validato", "Finale"].includes(p.status)); // 3. Ordina per data, dal più recente al più vecchio const sortedPOCs = completedPOCs.sort(p => p.date, 'desc'); // --- 4. LOGICA DI VISUALIZZAZIONE LINEARE --- for (let page of sortedPOCs) { // Usa h3 per il titolo, rendendolo un link cliccabile dv.paragraph(`### POC ${page.id}: ${page.file.link}`); // Aggiungi la data, importante per la cronologia if (page.date) { dv.paragraph(`**Data:** ${page.date.toFormat("yyyy-MM-dd")}`); } // Aggiungi il file sorgente, se specificato if (page.file_name) { dv.paragraph(`**File Sorgente:** \`${page.file_name}\``); } // Aggiungi il riepilogo if (page.summary) { dv.paragraph(`**Scopo:** ${page.summary}`); } // Aggiungi i tag if (page.tags && page.tags.length > 0) { // Un modo carino per visualizzare i tag const tagLinks = page.tags.map(t => `\`#${t}\``).join(' '); dv.paragraph(`**Tecnologie:** ${tagLinks}`); } // Aggiungi un separatore per migliorare la leggibilità dv.paragraph("---"); }}