Promo Video
The Introduction

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

Nift is a cross-platform open source framework for managing and generating websites.

It's lightning fast (evidence), developed from the ground up in C++, and released for free under the MIT license, use it for any of your personal or commercial projects!

The Details

Recommended by



npm logo

Why use Nift over other website generators?

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 can manage and generate not just static but also JAMstack and dynamic websites, with a whole range of hosting options.

Pagination

Nift can handle pagination at build time with multithreading or using javascript at load time, depending on your preferences on load times and usability. 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 two in-built languages which use mostly the same underlying code with a few minor differences under the hood and in how the syntax is structured. It has a scripting language called functionstein (aka FNSTEIN or F++) and a template language called templatestein (N++).

In-built interactive REPL and shell extension

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

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, jQuery, 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.




Tutorials   Docs   Templates   Hosting