Onze · A minimal Eleventy blog template

Organizing Posts

You can organize your post files inside the blog/ folder however you prefer. The URL is always generated from the date in the front matter and the folder name (slug).

Examples

All of these produce the same URL pattern /blog/2026/08/your-post/:

  • blog/your-post/index.md
  • blog/2026/your-post/index.md
  • blog/2026/08/your-post/index.md

Choose whatever structure keeps your files organized for you. The output URL will always be consistent.

Read more →

Translation

Onze is written in English by default, but all user-facing text is configurable through _data/site.json.

Language

Set the lang field to change the site language. This affects the <html lang> attribute and the date formatting:

{
  "lang": "pt-BR"
}

Labels

All UI text comes from the labels field:

{
  "labels": {
    "older": "Anteriores",
    "newer": "Recentes",
    "readMore": "Leia mais",
    "relatedPosts": "Posts Relacionados"
  }
}

Navigation

Navigation items are also in site.json:

{
  "nav": [
    { "label": "Início", "url": "/" },
    { "label": "Sobre",

Read more →

Syntax Highlighting

Onze supports syntax highlighting out of the box using Prism.js. Just specify the language after the opening triple backticks.

JavaScript

function fibonacci(n) {
  if (n <= 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

const result = fibonacci(10);
console.log(`Fibonacci(10) = ${result}`);

HTML

<nav class="sidebar-nav">
  <a class="sidebar-nav-item active" href="/">Home</a>

Read more →