Home Documentation Templates Examples Showcase GitHub
Theme

Documentation

Learn the small part first. Reach for the rest when you need it.

Nift's core model is intentionally compact: install one executable, track the files you want to build, put shared structure in templates and partials, and let Nift keep paths and incremental dependencies straight. Everything else in your web stack can stay itself.

The whole mental model in one paragraph.

A tracked name connects content, a template and an output. @content places the tracked content, @input(...) composes reusable files, @pathto(...) creates checked project-aware paths, and Nift records enough dependency information to rebuild the outputs affected by a change.

Start here.

If you are new to Nift, these four pages are the shortest route from installation to a useful project.

Choose your starting style.

The everyday reference.

Core

Paths & links

Use @pathto to reuse links from any nesting depth and catch missing local targets during builds.

Template language

Comments

Use Nift comments for source-only notes and ordinary HTML comments when the comment belongs in the generated page.

Core language

Collection operations

Transform, query and aggregate immutable arrays with composable typed results, including filter/map/sort, sum/min/max and reduce.

Structured data

JSON data

Load immutable project JSON, chain member/index access and make it part of the dependency graph.

Validation

JSON Schema

Give structured data an optional standard schema so bad shapes and types fail at build time.

Full-stack pattern

Route contracts

Keep frontend route references tied to a declared application/API route catalogue without making Nift your backend router.

Project contracts

Checked project-wide values

Declare named JSON contract sources in config and consume them through the existing $[...] value model.

Core language

Expressions

Use the same pure expression model in $[...] and @if(...): arithmetic, comparisons, logic, precedence and lazy ternaries.

Structured data

Loops & conditions

Repeat arrays/objects and conditionally render scalar JSON data without introducing a scripting runtime.

Multi-output

Pagination

Collect rendered items, split them across deterministic pages and keep the whole set dependency-aware.

Core

Page & build metadata

Use tracked titles, names, paths, dates, times and build information with $[...].

Output

Minification

Minify final HTML, CSS, JavaScript, JSX, JSON, XML and SVG outputs automatically or use the standalone file command.

CLI

Commands

Track, build, inspect, watch, minify, move, copy and remove files.

Structure

Project layout

See how content/, templates/, public/ and the rest of your repository can fit together.

Understand what Nift is tracking.

Ship what you build.

Nift's responsibility can end at the generated files. Deploy public/ to a static host, serve it from your own backend, or package it into a larger application.

Understand the design when you are ready.

You do not need Nift's philosophy, implementation architecture or testing history to build your first site. These pages are intentionally later in the documentation: they are for evaluating the design, understanding internals, or deciding whether Nift is a good long-term fit.

Evaluate Nift after you have met it.

These pages answer questions about reliability and comparative fit. They are useful when you are deciding whether to trust or adopt Nift, but they should not stand between a newcomer and installation or Getting Started.

Patterns for larger projects.

You do not need to read all of this before using Nift.

The documentation is intentionally broader than the core language. Start with installation, Getting Started and the template essentials. The rest is here when your project reaches the problem it explains.