home

come funziona questo sito

#code

queste informazioni sono leggermente datate. questo sito è stato offline tra luglio 2025 e gennaio 2026 e da quando l’ho ri pubblicato ho fatto varie modifiche a questo workflow

🗳️questo sito è il mio vault obsidian, che viene compilato in html tramite lume.
il mio vault risiede su una repository privata su github, e uno script sulla mia vps droplet digitalocean gira periodicamente per pullare le ultime modifiche e ricompilarle. il sito viene servito con caddy.

lume è un programma molto bello e molto versatile, ma prossimamente nell’espandere alcune funzioni di questo sito temo potrebbe rivelarsi limitato, e quindi che dovrò esplorare qualche alternativa come astro.

todo list per questo sito

_config.ts

import lume from "lume/mod.ts";

// plugin da lume
import highlight from "lume/plugins/code_highlight.ts"
import slugifyUrls from "lume/plugins/slugify_urls.ts";

// plugin che ho fatto io
import wikilinks from "./_includes/plugins/wikilinks.plugin.ts";
import obsidianContent from "./_includes/plugins/obsidian_wikicontent.plugin.ts";
import datesPlugin from "./_includes/plugins/dates.plugin.ts";
import lists from "./_includes/plugins/lists.plugin.ts";

const site = lume({}, {
	markdown: { options: { breaks: true, typographer: true } },
});


site.use(wikilinks())
site.use(obsidianContent())
site.use(slugifyUrls(slugifyOptions))
site.use(datesPlugin())
site.use(lists())

site.use(highlight({
    theme: [{
        name: "atom-one-light",
        cssFile: "/code.css",
        placeholder: "/* light-theme-here */"
    }]
}));

site.preprocess('*', pages => {
    for (const page of pages) {
        page.data.layout = 'layouts/layout.vto'
        
        if (!page.data.title) {
            page.data.title = page.data.basename
        }

        page.data.url = defaultSlugify(page.data.url)
    }
})

export default site;