Steno

Glossary

Plain-language definitions for terms used across these docs, especially the ones that assume you've used a tool like this before. If a word here trips you up somewhere else in the docs, this is the page to check first.

Static site generator (SSG): a tool that turns source files (Markdown, in Steno's case) into plain HTML files ahead of time, once, at build time, rather than building each page on the fly when a visitor requests it. The result is just files: fast to serve, no server-side code needed at runtime.

Deno: the JavaScript and TypeScript runtime Steno is built on and runs inside. Similar in spirit to Node.js, but with different defaults (secure by default, no separate package manager step for most things). You need it installed to run Steno; see Getting started.

JSR: the JavaScript Registry, where Steno and its official themes and plugins are published. A specifier like jsr:@steno/steno tells Deno to fetch a package from there, the same way npm:some-package would fetch from npm.

Markdown: the plain-text format you write your pages in, # Heading, **bold**, [link](url), and so on. Steno compiles each Markdown file into one HTML page.

Frontmatter: the block of settings at the very top of a Markdown file, between --- lines, that describes that one page: its title, date, layout, and so on. See Frontmatter.

Content directory: the folder Steno scans for Markdown files, content/ by default. Set with contentDir in config.

Config file: content/.steno/config.yml, the file that describes your whole site: its title, its theme, its plugins, and so on. Not required for very small projects, see Zero-config mode.

Build: the act of turning your Markdown and theme into a finished website, steno build. The result lands in an output folder, dist/ by default.

Dev server: steno dev, a local server that builds your site, serves it in your browser, and rebuilds automatically every time you save a change. For working on a site, not for publishing it.

Theme: the thing that turns your Markdown content into a full HTML page with a header, navigation, styling, and so on. Steno ships three official themes and you can also write your own. See Themes and Tau.

Layout: one template within a theme, the outer HTML shell a page's content gets placed inside. A theme can have more than one, an article layout and a homepage layout, for example.

Component: a small, reusable piece of a template, a header or a card, that a layout (or another component) can include by name, <Header />.

Tau: the template language Steno's themes are written in, .tau files. Similar in spirit to JSX or Vue templates: mostly HTML, with { } expressions and {#if}/{#each} blocks mixed in. See Tau syntax.

Plugin: optional code that runs during a build to do something extra, compile Tailwind CSS, highlight code blocks, generate an RSS feed. See Plugins.

Collection: an automatic grouping of pages by folder, every page under content/posts/ becomes part of collections.posts, ready to loop over in a template. See Collections.

Frontmatter schema / configSchema: a set of rules (type, required, allowed values) that either a collection's items or a theme's settings must follow, checked automatically at build time so a typo fails loudly instead of silently breaking your site.

Permalink / route: the URL a page ends up at. Usually derived automatically from the file's path, but a page can set its own with steno.permalink. See Routes and permalinks.

Short URLs: with shortUrls: true, a page is written so its URL has no .html in it (/about instead of /about.html), which is how most modern sites look.

Redirect: a small page Steno generates at an old URL that automatically sends visitors on to a new one, for when you rename or move a page. See Redirects.

Output directory: where the finished, built site is written, dist/ by default. This is the folder you actually deploy, see Deploying.

Trusted / isolated plugin: two ways a plugin can run. A trusted plugin runs inside Steno itself with full access to your machine, the same as Steno has. An isolated plugin runs in its own locked-down process that starts with no permissions at all, until you explicitly grant some. See Trust and permissions.

Content hash / cache busting: baking a short hash of a file's own content into its filename (style.css becomes style.a1b2c3d4.css), so that when the file changes, its URL changes too. This is how Steno makes sure visitors (and CDNs) always get your latest CSS and JavaScript after a redeploy, without you having to manually clear a cache. See hashAssets in Configuration.

CDN: a content delivery network, a layer (Cloudflare, for example) that sits in front of your host and caches your site's files close to visitors around the world, for speed. Relevant here mainly because CDNs cache aggressively, which is exactly what content hashing above solves for.

Type to search guides, configuration, Tau, plugins, and API references.