Nift is an open source cross-platform Git-like and $\LaTeX$-like command-line site generator and manager. You can clone repositories from code sharing sites like BitBucket, GitHub and GitLab using nsm clone repo-url, build (updated) pages locally using nsm build-updated, then build, commit and push changes online once you are happy using nsm bcp "commit message".
Why use Nift over other site generators/managers?
- Nift is lightning fast, one of the most efficient if not the most efficient site generators/managers;
- Nift can manage and generate not just static websites but dynamic websites as well;
- Nift integrates seamlessly with Git to clone from and push to BitBucket, GitHub, GitLab and Netlify etc.;
- the templating system for Nift is intuitive and easy to remember;
- Nift will throw errors and tell you exactly which file and line number where there is a problem.
Some of the things Nift can do to help you manage and generate websites are:
- clone existing site repositories from BitBucket/GitHub/GitLab;
- initialise managing sites;
- track and untrack page information;
- list information on tracked pages;
- copy, move and remove pages;
- modify tracked page titles and template paths;
- list which pages need building and why;
- build only pages that need building;
- build pages specified by the user;
- build all tracked pages; and
- build, commit and push changes to BitBucket/GitHub/GitLab.
Site repository templates and examples
For site repository templates that you can import (or fork and rename) then clone to start making your websites, see here.
For example websites made using Nift, see here. For help getting started with Nift see the getting started guide.
Who will like Nift?
While I encourage people to prove me wrong, I suspect that Nift will be most useful to front-of-house amateurs (as it is reasonably easy to install, make simple websites and use) and behind-the-scenes experts (or perhaps more accurately, useful to people behind-the-scenes who prefer to program/code websites without graphical tools). I personally find it much easier than a lot of other site managers to make and host a basic static site, and based on my personal usage of and experience with $\LaTeX$ and Git imagine it can be a very useful tool to experts behind the scenes.
It could potentially be a bit overwhelming for people who are just getting used to behind-the-scenes but are dipping their toes to see if it is something that works for them and other people. I say that because to understand everything that Nift can do, and everything that is used by Nift can be a bit overwhelming. However wrapping one's head around the basics of what Nift is doing and having a bit of a look through the documentation and source code can be a good way to start understanding some stuff with behind-the-scenes and/or programming (especially development of tools like Nift and how they work). Playing with Nift will also be a good way to get your feet wet and hands dirty playing around with Git along with BitBucket/GitHub/GitLab, which are all very popular and useful tools in the programming/web development worlds.
Another example of people who may not find Nift is for them are people whose work improves using graphical tools, though some familiarity with Git and BitBucket/GitHub/GitLab at the command line level is not a bad thing, getting your feet wet and hands dirty playing around with Nift is not a terrible way to do this. There is more to cloning with Nift than with Git, however what is different there is not that common in my experience (ie. it is not very common for people to have Git repositories inside Git repositories like Nift does with BitBucket and GitHub). However people would benefit from learning "what's going on under the hood" with nsm bcp "commit message", which is building pages using Nift, adding/removing modified/deleted files from the Git repository using git add -A ., commiting the changes to the Git repository and pushing the changes to BitBucket/GitHub/GitLab.
Why the name Nift?
Nift, short for nifty site manager, is a command-line tool, consequently it is expected that nsm will be typed quite frequently. The name was chosen because nsm is a short descriptive acronym that, when typed on a qwerty keyboard (sorry dvorak fans!), efficiently oscillates between hands whilst involving minimal movement of the fingers.
Nift is pleased to share a name sounding similar to Niff T. from Paper Mario: The Thousand Year Door, go pay him a visit in Niff T.'s Shop.