Skip to content
Get started

Nineteen sections, fourteen themes

Plain text in. A site worth showing people out.

Zellij is a Next.js engine that reads a folder of YAML and Markdown and builds the whole site — marketing pages and documentation, one deployment.

What authoring actually looks like

Declare a page as a list of sections

Pages name sections; sections hold content. A page may reuse the same section twice with a different background, and never restates its words.

Drop a sidebar file to get a manual

Any folder holding _sidebar.yaml becomes a documentation tree with left navigation, breadcrumbs, on-this-page and prev/next. A site can have as many as it likes — one per chapter, if that is what you are building.

Built in

18
Section types
14
Built-in themes
100/100
Lighthouse
0
Runtime dependencies to configure

Change one word. Change everything.

Fourteen themes, and not one component knows about any of them

Colour, type, geometry, shadow and motion are all tokens. Try the theme picker in the bar — this page restyles as you go.

Reasonable questions

Is this a static site generator?

No — it is a package your Next.js app imports. There is no scaffolding step and nothing is generated into your repo, so upgrading is a version bump rather than a merge.

Do I have to write React?

No. A wrapper app is three files and under thirty lines, and none of it changes as your site grows. Everything after that is YAML and Markdown.

What if I already have MkDocs content?

Markdown is Markdown. Point a guide folder at it, add a _sidebar.yaml, and it renders. The PayOS site in this repo was converted from MkDocs sources with a script that only translates admonition syntax.

Can I add my own section type?

Yes — registerSection takes a schema and a component. Built-ins use the same registry, so a custom section is not a second-class one.

What happens when content is wrong?

The build fails, loudly, naming the file, the path inside it, and what was expected. A broken nav link or a missing section file is a build error, not something a visitor discovers.

Start with the quickstart.

Three files, then write content.