Create pages using Markdown, Nunjucks, Liquid, JSX, TSX, JavaScript, TypeScript, Pug, Eta… or add your own engine easily.
# Galician municipalities
- O Pino
- Tordoia
- Ordes
- Cedeira
<h1>{{ title }}</h1>
<ul>
{% for item in items %}
<li>{{ item | safe }}</li>
{% endfor %}
</ul>
<h1>{{ title }}</h1>
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
export default function ({ title, items }) {
return <>
<h1>{ title }</h1>
<ul>
{ items.map((item) => <li>{ item }</li>)}
</ul>
</>;
}
export default function ({ title, items }) {
return `
<h1>${ title }</h1>
<ul>
${ items.map((item) => `<li>${ item }</li>`)}
</ul>
`;
}
interface Data {
title: string;
items: string[];
}
export default function ({ title, items }: Data): string {
return `
<h1>${ title }</h1>
<ul>
${ items.map((item) => `<li>${ item }</li>`)}
</ul>
`;
}
h1= title
ul
each item in items
li= item
<h1><%= title %></h1>
<ul>
<% for (const item of items) { %>
<li><%= item %></li>
<% }) %>
</ul>
Store your data using static formats like JSON or YAML. Use JavaScript or TypeScript to get the data from a Database or API.
title: Galician municipalities
items:
- O Pino
- Tordoia
- Ordes
- Cedeira
{
"title": "Galician municipalities",
"items": [
"O Pino",
"Tordoia",
"Ordes",
"Cedeira"
]
}
export const title = "Galician municipalities";
export const items = [
"O Pino",
"Tordoia",
"Ordes",
"Cedeira"
];
const title = "Galician municipalities";
const response = await fetch("https://example.com/galician-minicipalities.json");
const items = (await response.json()) as string[];
export { title, items };
Processors can compile and optimize assets like CSS or JavaScript. They can also transform the HTML code using the DOM API.
site.process([".css"], (file) => {
file.content = customTransform(file.content);
})
site.process([".html"], (page) => {
page.document.querySelectorAll("h1", (title) => {
title.innerText = title.innerText.toUpperCase();
})
})
You can create custom scripts like in NPM and execute them from the CLI or after any event.
site.script("deploy", "rsync -r _site/ user@host.com:/site");
site.addEventListener("afterBuild", "deploy");
site.addEventListener("afterBuild", () => console.log("site build"));
lume run deploy
Configure your site build in a single _config.ts or _config.js file with plugins and a simple and clean API.
import lume from "lume/mod.ts";
const site = lume();
export default site;
import lume from "lume/mod.ts";
import parcelCSS from "lume/plugins/parcel_css.ts";
import esbuild from "lume/plugins/esbuild.ts";
import svgo from "lume/plugins/svgo.ts";
import jsx from "lume/plugins/jsx.ts";
import date from "lume/plugins/date.ts";
const site = lume();
site.use(parcelCSS())
.use(esbuild())
.use(svgo())
.use(jsx())
.use(date());
export default site;
Forget about managing thousands of packages in node_modules or complex bundlers. Lume only installs what you need. Clean, fast and secure.
Lume only exports your code. It doesn't generate any extra client-side JavaScript code.
Static sites can be hosted (for free) anywhere GitHub/GitLab Pages, Deno Deploy, Vercel, Netlify… Explore ways to deploy
Want to use a new template engine or use a new JavaScript compiler? Lume allows you to use whatever you want. Explore the official plugins
I’ve spent just 30 minutes playing with Lume Static Site Generator by @deno_land and I already love it! It’s blazingly fast and seems to have all features I need out of the box.#deno #typescript #webdev
Kacper Kula (@kulak_at)
Maior acerto dos últimos meses: migrar meu blog do GitHub pages para Lume. Me deu menos dor de cabeça do que Astro. E eu posso finalmente usar @deno_land na prática.
Thiago Jedi (@Jedi_Thiago)
Que hermoso ver cómo está creciendo el ecosistema de @deno_land con cositas tan copadas como Fresh o Lume🦕
Lauchita. (@_LautaroLopez)
Lume触ってみた。コンパクトで使いやすかった https://t.co/IBdWKpe9BA #zenn
hashrock (@hashedrock)
OK, falling in love with @deno_land and the Lume SSG. So nice not having to worry about node_modules 😄
freeLance (@freeLance0451)
I recently redesigned my site (https://t.co/n9FcC2ATtp) with Lume: a lovely static site generator built by @misteroom. Easy, simple and fast to work with. Definitely worth checking out if you're a fan of 11ty on Node.js.
Naiyer Asif نیر آصف (@Microflash)
¿No habíamos contado que el código de la web de la #tarugo22 es COMPLETAMENTE OPEN SOURCE?
¿Y tampoco que está creada con tecnología gallega? https://t.co/5hJNkf7otYTarugoconf (@tarugoconf)
Deno is awesome. If you use it right, you'll never want to go back to Node - and Lume (https://t.co/EIFgNe07Sc) does it right: powerful, developer-friendly, super simple, and extremely flexible static site generation.
@dragonwocky
Lume is a fantastic tool. It’s more powerful and flexible than any static site generator I’ve used in 5 years of web development.
Braden East (@bradenthehair)
This is a nice looking static site generator for Deno. Reminds me of 11ty a bit. https://t.co/EiE4yOHlmS
Matthew Phillips (@matthewcp)
I was having paralysis regarding what static generator to write my website in and I’ve finally decided to settle on Lume (a static generator written in Deno). I like it and it’s easy to configure
@automaetopia
tapi sekarang sih pengennya pakai lumeland https://t.co/v6konf7O0Z
Poes (@kuspoes)
Lume static site generator https://t.co/Lr9GTGUOlB
Deno (@deno_land)
Personally I migrated from Jekyll to Eleventy to Lume (https://t.co/aSHo422kxJ). And I love it. Github pages is fine, if you are building it yourself (not relying on Github's MD parser).
Fernando Serboncini (@fserb)
Lume…another Static Site Generator (SSG) but this time built on Deno. 🔥🦖
Love the logo. https://t.co/ajHHcXMnfqBrian LeRoux (@brianleroux)