The Introduction

So in case you were wondering what this is all about...

Nift is a web development framework, specialising in static websites with serverless backends.

It's lightning fast (evidence), cross-platform, opinionless, open source (MIT license) and developed from the ground up in C++. Use it for any of your personal or commercial projects!

The Details

Lightning Fast

Nift is possibly the world's fastest website generator (evidence). Focus on development rather than waiting for your website to build.

Scalable

Nift can scale all the way up to handle building websites with millions of pages.

Static and Dynamic Websites

Nift is not just useful for the development of static websites with serverless backends but also dynamic websites that have more traditional backend infrastructure, with a whole range of hosting options.

Pagination

Nift can handle pagination at build time with multithreading or using javascript at load time. See the functions docs for several paginate functions.

Lua(JIT) and ExprTk embedded

Nift can be compiled with either LuaJIT (default) or Lua along with ExprTk which has a very impressive userbase. LuaJIT is basically the world's fastest interpreted language and ExprTk is basically the world's fastest mathematical expression parser. Nift specific documentation is available for Lua(JIT) and ExprTk.

In-built scripting and template languages

Nift has in-built: a scripting language f++ and a template language n++. Both f++ and n++ use mostly the same underlying code, with a few minor differences under the hood and in how the syntax is structured.

In-built interactive REPL and shell extension

Nift has in-built interactive REPLs for each of f++, n++, ExprTk and Lua(JIT), with documentation available here. You can easily switch between languages, and has a shell extension mode most useful for f++.

Script Support

Nift has support for pre/post build/serve scripts, useful for things like integrating with webpack, Babel, npm, Bower, Yeoman, Browserify, Parcel, Brunch, SASS, Grunt, Puppeteer, GraphQL, Python Web Server, Live Server/Reload, etc..

Command-Line Integration

Nift brings you the full power of the command line, with syntax in the template language to run or inject the output of scripts or system calls at any point while building webpages.

Git Integration

Nift integrates seamlessly with Git using either https or ssh to clone from and push to AWS Amplify Console, AWS CodeCommit, BitBucket, GitHub, GitLab, Netlify, surge.sh, Vercel etc..

Framework Integration

Nift integrates flawlessly with various Javascript frameworks eg. Grunt, Gulp, Vue, Node, React, etc. and PHP frameworks eg. Laravel, CakePHP, Phalcon, etc..

Language Agnostic

You can use any language you want, eg. markdown, LaTeX, html, haml, xml, JSON, css, sass, javascript, TypeScript, php, MySQL etc..

Multilingual Support

You can use any language/alphabet you want in content/template files and page names for urls, and can integrate with CLI translators to translate text.

Build Errors

Nift will throw errors and tell you the exact file and line number where there is a problem.

Incremental Builds

Nift tracks file dependencies to each page and can build only the web pages that have modified content, and can also build all pages or a list of specified pages.

Single Executable

Nift compiles in to one executable file.

Intuitive Templating System

Nift's templating system is intuitive while being easy to understand and remember.

Multithreading

Nift will take advantage of all the computing power on your machine, whether you're running on a Raspberry Pi or a super computer, Nift has you covered.

Template Selection

Nift has a variety of stylishly designed templates available for making websites and blogs, including templates modified from HTML5 UP, unDraw and W3.CSS.