Basically, Inkus is a SimpleHTTPServer with an overwritten do_GET method. It serves static files (including .html files) in a normal way. However, when a file with an .htm extension is requested it does following things:
It provides an easy way to create small static web sites. One-page wordpress site is a nonsense. Real estate agency that manages 5 properties does not really need a CMS either.
Inkus can serve any html template "as is" without any modifications. Make a copy of pages that require special treatment and give them .mako extension. Now they can be accessed as pagename.htm from a browser.
Then you can run Mako templates (and python) magic on them:
Inkus encourages a gradual coversion and does not force you to create new content types unless it is absolutely necessary. It is perfectly OK to leave things as html as long as they are manageable.
Python 2 and 3 are both supported.
You need to install Mako templates, naturally.
pip install Mako
Pygments package is recommended for prettier html error traces.
pip install Pygments
Download inkus from github repository.
Inkus.py is a single file. Just drop it into your project folder that contains pages you want to serve and run it. Then open http://127.0.0.1:8000 in your browser.
Alternatively, you can put it into some directory in your PATH and make it executable. The trick is always to run it from the project folder.
Inkus does not have a "build html" command. You need to make a mirror of your locally running website with wget (or some other web spider of your choice).
While inkus is running, from a separate command window run
wget -mkEpnp http://127.0.0.1:8000
Your static html site will be saved to "127.0.0.1:8000" folder. Just move the files to your remote web server root folder and you are done.
In case you are wondering, this "-mkEpnp" stands for "--mirror --convert-links --adjust-extension --page-requisites --no-parent".
You can stop inkus by pressing Ctrl-C or by visiting special http://127.0.0.1:8000/killme link.
When you try to open a folder from a browser, inkus
So, your default page should be index.mako.
Inkus tries to import mysite.py module from a local folder. It is a nice place to put some variables that should be initialized only once when the server starts. Global site menu structure, for example.
Current page location is available from within templates as CURRENT_URI.
Mako is a popular templating language, and it is directly supported by PyCharm and probably other major python IDEs.
There is also language-mako plugin for Atom editor.