← All projects
Web build & templating

Nift

A fast, focused templating core and site builder with incremental builds, dependency tracking and deployment-friendly output.

Visit Nift ↗
What it is

A small templating core that stays fast when the site stops being small.

Nift generates ordinary web output from templates, content and project data. Its language stays deliberately compact: content/input composition, paths, environment access, metadata, loops, conditionals, JSON/schema validation and markup conversion cover the common needs without turning the template layer into a second general-purpose programming language.

Incremental builds are a major part of the product rather than an afterthought. Modified, hash and hybrid modes track dependencies so a large site can rebuild only what actually changed, while watch mode keeps the edit/build loop tight.

Because the output is ordinary files, Nift does not dictate the runtime. A Nift site can be fully static, call a Trestle backend, use serverless functions elsewhere, or deploy to any host that can serve the generated output.

What you get

Useful capability without mandatory complexity.

The project stays focused on its own job; the surrounding Gantry tools remain optional.

Focused template language

Use composition, paths, metadata, conditionals and loops without adopting a framework runtime in the browser.

Incremental dependency tracking

Shared templates and dependencies invalidate exactly the pages that need rebuilding rather than forcing a full-site rebuild every edit.

Structured data & markup

JSON/schema validation and Markup++ integration bring structured data plus Markdown, AsciiDoc and reStructuredText into the same build.

Deployment-oriented CLI

Track, build, watch and initialize common hosting targets from the command line while keeping the generated site portable.

Typical workflow

Start with the shortest path.

Advanced deployment or integration features appear only when the workflow actually needs them.

  1. 01

    Create templates and content, track the pages Nift should build, and keep generated output in the project’s public directory.

  2. 02

    Use nift build-updated or watch mode during normal development so only affected pages rebuild.

  3. 03

    Use Markup++ when authored content is easier to maintain as Markdown, AsciiDoc or reStructuredText, and Minify++ where a separate optimization pass makes sense.

  4. 04

    Deploy the resulting ordinary files directly, or let them talk to a Trestle/API backend when the application needs server-side state.

Inside Gantry

Connections that remove real hand-off friction.

Each product already owns one side of these workflows. The integration exists to remove duplicate navigation, setup or context.

Works with

Markup++

Markup++ is directly embedded in Nift through the markup directive. Nift can process template content first and then hand the result to the Markdown, AsciiDoc or reStructuredText converter, so content authors get richer source formats without replacing the site generator.

Explore Markup++ →
Works with

Minify++

Minify++ fits naturally after Nift because generation and optimization are separate concerns. A site can keep readable generated artifacts during development and apply focused minification only in the release path that needs it.

Explore Minify++ →
Works with

Trestle

A Nift frontend can call Trestle over HTTP for authentication, data, files or jobs. Nothing special is required in the generated site: this is a conventional frontend/backend boundary.

Explore Trestle →
Works with

Pict

Pict prepares images entirely in the browser; Nift then places those assets into the site. That connection is deliberately loose—Pict does not need to know anything about Nift projects.

Explore Pict →
Access

Local tool, no my.* indirection.

Nift is primarily a CLI or embeddable native tool rather than a persistent web service. A my.* instance registry would add a choice where there is no running instance to choose.

It still belongs to Gantry Tools, appears in the project directory and can be exposed from a configurable my.gantry.cv launcher if somebody wants quick access to its website or documentation.

Why my.* is reserved for running applications →
Good fit

Where Nift earns its place.

Documentation

Fast incremental rebuilds and Markup++ support make content-heavy documentation sites a natural fit.

Static and hybrid sites

Generate ordinary HTML/CSS/JS while still calling APIs or serverless backends where needed.

Large generated sites

Dependency-aware builds keep the common single-page change cheap even when the tracked site is large.

Project website

Explore Nift.

Project-specific installation, commands and release details live on the project site.

Open Nift ↗