lume.land Open in urlscan Pro
18.192.231.252  Public Scan

Submitted URL: http://lume.land/
Effective URL: https://lume.land/
Submission: On February 14 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

lume
 * Documentation
 * Showcase
 * Plugins
 * Blog

SearchK


THE FAST & FLEXIBLE STATIC SITE GENERATOR FOR DENO



Run the following to setup Lume:

deno run -Ar https://deno.land/x/lume/init.ts


SUPPORTS ANY TEMPLATE ENGINE

Create pages using Markdown, Vento, Nunjucks, Liquid, JSX, TSX, JavaScript,
TypeScript, Pug, Eta… or add your own engine easily.

 * page.md
 * page.vto
 * page.njk
 * page.liquid
 * page.jsx
 * page.page.js
 * page.page.ts
 * page.pug
 * page.eta

# Galician municipalities

- O Pino
- Tordoia
- Ordes
- Cedeira


<h1>{{ title }}</h1>

<ul>
  {{ for item of items }}
  <li>{{ item }}</li>
  {{ /for }}
</ul>


<h1>{{ title }}</h1>

<ul>
  {% for item in items %}
  <li>{{ item }}</li>
  {% endfor %}
</ul>


<h1>{{ title }}</h1>

<ul>
  {{ for item in items }}
  <li>{{ item }}</li>
  {{ /for }}
</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 THE DATA IN YOUR FAVORITE FORMAT

Store your data using static formats like JSON or YAML. Use JavaScript or
TypeScript to get the data from a Database or API.

 * _data.yml
 * _data.json
 * _data.js
 * _data.ts

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 };



PROCESS HTML PAGES AND ASSETS

Processors can compile and optimize assets like CSS or JavaScript. They can also
transform the HTML code using the DOM API.

 * Process assets
 * DOM API

site.process([".css"], (files) => {
  for (const file of files) {
    file.content = customTransform(file.content);
  }
})


site.process([".html"], (pages) => {
  for (const page of pages) {
    const externalLinks = page.document.querySelectorAll('a[href^="http"]');

    externalLinks.forEach((link) => {
      link.setAttribute("target", "_blank");
    });
  }
})



RUN YOUR SCRIPTS AND LISTEN FOR EVENTS

You can create custom scripts like in NPM and execute them from the CLI or after
any event.

 * Scripts and events

// Create a script and run it after build
site.script("deploy", "rsync -r _site/ user@host.com:/site");
site.addEventListener("afterBuild", "deploy");

// Or run arbitrary code
site.addEventListener("afterBuild", () => console.log("site build"));



AND EVERYTHING WITH A CLEAN AND INTUITIVE API

Configure your site build in a single _config.ts or _config.js file with plugins
and a simple and clean API.

 * _config.ts
 * _config.ts (with plugins)

import lume from "lume/mod.ts";

const site = lume();

export default site;


import lume from "lume/mod.ts";
import lightningcss from "lume/plugins/lightningcss.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(lightningcss())
    .use(esbuild())
    .use(svgo())
    .use(jsx())
    .use(date());

export default site;



 * IT'S DENO!
   
   Forget about managing thousands of packages in node_modules or complex
   bundlers. Lume only installs what you need. Clean, fast and secure.


 * ZERO RUNTIME OVERHEAD
   
   Lume only exports your code. It doesn't generate any extra client-side
   JavaScript code.


 * DEPLOY ANYWHERE
   
   Static sites can be hosted (for free) anywhere GitHub/GitLab Pages, Deno
   Deploy, Vercel, Netlify… Explore ways to deploy


 * EASY TO EXTEND
   
   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


WHO IS USING LUME?

Lume

This web site.

Clear EVM Wallet Docs

Documentation for open-source Ethereum wallet Clear EVM Wallet

Nathan Furnal

Personal blog of Nathan Furnal.

LePichu

Personal blog Ishat "LePichu" Gupta.

Daniel Saunders

Personal site of Daniel, a web designer in Los Angeles.

Morphopoiesis

Notebook about Generative Art

Newton Investment Partners

Multilanguage corporative site for Newton Investment Partners

Charles Burgess

Personal site of Charles Burgess

See more examples


WHAT PEOPLE SAY?


 * NEW SITE DESIGN FOR 2024
   
   Daniel Saunders (daniel-saunders.com) January 20, 2024

 * > 𝗟𝘂𝗺𝗲 for @deno_land is probably the best #StaticSiteGenerator ATM.
   > 
   > V2 is out now with Vento as the default template engine.
   > 
   > Vento is an improvement over Nunjucks (still available as a plugin):
   > 
   > ➜ JavaScript & async support,
   > ➜ Less boilerplate.
   > 
   > Doğa Armangil (@DogaArmangil) January 3, 2024

 * CloudCannon December 13, 2023

 * > Aliás, tenho que reforçar o quão feliz eu estou com o Lume como sistema
   > para gerir o meu blog. Sem falar o quanto que @deno_land evoluiu desde que
   > eu fiz a migração.
   > 
   > Recomendo a todos que utilizam o Github Pages ou outro sistema de
   > hospedagem de páginas estáticas.
   > 
   > Thiago Jedi (@jedi@cuscuz.in) August 3, 2023


 * FROM STATIC SITE GENERATOR TO STATIC SITE PROCESSOR
   
   Thomasorus (thomasorus.com) March 6, 2023


 * THINKING OUT LOUD ABOUT STATIC SITE GENERATORS
   
   Paul Robert Lloyd (paulrobertlloyd.com) Februrary 23, 2023

 * > He descubierto #lume para crear sitios estáticos con #deno. Es una pasada
   > la flexibilidad que te ofrece, la cantidad de cosas que puedes conseguir y
   > lo divertido que es https://t.co/JtA3g86u14
   > 
   > Mario Girón (@m_giron) February 15, 2023

 * Garage de ideas February 14, 2023

 * > Quick PSA: Lume, an SSG by @misteroom, really helped me rebuild my site in
   > an easy and safe way. Using three.js and Lume side-by-side was easy,
   > flexible, and really fun. Thank you so much for Lume.❤️
   > 
   > 🎀 𖤐𝔸ℕ𝔾𝔼𝕃 𝔻𝕆𝕃𝕃𝔽𝔸ℂ𝔼𖤐 🎀 (@angeldollface66) February 12, 2023

 * denolab January 16, 2023

 * > Time to ditch @jekyllrb as my preferred #StaticSiteGenerator.
   > 
   > Standout features of Lume, besides running on @deno_land's TypeScript &
   > JavaScript runtime:
   > ▶︎ Pages can be written in YAML containing an outline of the page contents
   > ▶︎ Nested layouts
   > 
   > Doğa Armangil (@DogaArmangil) December 14, 2022


 * LUME IS GREAT AND I'M FINALLY AT PEACE.
   
   Hendrik Mans (hmans.co) November 10, 2022

 * > I'm upgrading my review of Lume from "crazy good" to "holy wow, this is the
   > most fun I've had building websites in literally years". It takes the best
   > ideas from Eleventy and then cranks the productivity up to 11. Don't sleep
   > on this one if you're a jaded web dinosaur like me! https://t.co/XHKLWshU3U
   > 
   > Hendrik Mans (@hmans) November 10, 2022

 * > 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) September 21, 2022

 * Coding with Robby September 20, 2022

 * > Que hermoso ver cómo está creciendo el ecosistema de @deno_land con cositas
   > tan copadas como Fresh o Lume🦕
   > 
   > Lauchita. (@_LautaroLopez) September 18, 2022

 * > Lume触ってみた。コンパクトで使いやすかった https://t.co/IBdWKpe9BA #zenn
   > 
   > hashrock (@hashedrock) September 18, 2022

 * > OK, falling in love with @deno_land and the Lume SSG. So nice not having to
   > worry about node_modules 😄
   > 
   > freeLance (@freeLance0451) August 10, 2022

 * > 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) July 25, 2022

 * > ¿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/5hJNkf7otY
   > 
   > Tarugoconf (@tarugoconf) July 4, 2022

 * > 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 May 31, 2022

 * > 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) May 30, 2022

 * > This is a nice looking static site generator for Deno. Reminds me of 11ty a
   > bit. https://t.co/EiE4yOHlmS
   > 
   > Matthew Phillips (@matthewcp) May 6, 2022

 * > 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 July 30, 2021

 * > tapi sekarang sih pengennya pakai lumeland https://t.co/v6konf7O0Z
   > 
   > Poes (@kuspoes) June 26, 2021

 * > Lume static site generator https://t.co/Lr9GTGUOlB
   > 
   > Deno (@deno_land) September 18, 2022

 * > 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) May 6, 2021

 * > Lume…another Static Site Generator (SSG) but this time built on Deno. 🔥🦖
   > 
   > Love the logo. https://t.co/ajHHcXMnfq
   > 
   > Brian LeRoux (@brianleroux) December 10, 2020


LUME IS SPONSORED BY

 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 


LOVELY PAST SPONSORS

 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 


HOW TO CONTRIBUTE?

 * Star the repo in GitHub or vote in Product Hunt.
 * Support this project by sponsoring its creator or the project.
 * Fork the repo and contribute fixing bugs or adding new features.
 * Help to improve the docs.
 * Spread to the world your love for Lume in a tweet, post or any kind of
   publication (and let me know, so I can include it in this page)
 * Get help and propose ideas at Discord.

 * Discord
 * Github
 * Open Collective
 * Mastodon

Crafted with ♥️ by Óscar Otero — Light theme Dark theme