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.
_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;