nikola - Man Page

A Static Site and Blog Generator


Create an empty site (with a setup wizard):

nikola init mysite

(You can create a site with demo files in it with nikola init --demo mysite)

Create a post (inside the mysite directory):

nikola new_post

Build the site:

nikola build

Start the test server and open a browser:

nikola serve -b


Nikola is a static website and blog generator. The very short explanation is that it takes some texts you wrote, and uses them to create a folder full of HTML files. If you upload that folder to a server, you will have a rather full-featured website, done with little effort.

Its original goal is to create blogs, but it supports most kind of sites, and can be used as a CMS, as long as what you present to the user is your own content instead of something the user generates.

Nikola can do:

Since Nikola-based sites don't run any code on the server, there is no way to process user input in forms.

Nikola can't do:

Keep in mind that "static" doesn't mean boring. You can have animations, slides or whatever fancy CSS/HTML5 thingie you like. It only means all that HTML is generated already before being uploaded. On the other hand, Nikola sites will tend to be content-heavy. What Nikola is good at is at putting what you write out there.


The most basic commands needed to get by are:

nikola help

get a list of commands, or help for a command

nikola version [--check]

print version number

nikola init [-d|--demo] [-q|--quiet] folder

initialize new site

nikola build

build a site

nikola new_post

create a new post

nikola new_page

create a new page

nikola status [--list-drafts] [--list-modified] [--list-scheduled]

show site and deployment status

nikola check [-v] (-l [--find-sources] [-r] | -f [--clean-files])

check for dangling links or unknown files

nikola deploy [[preset [preset...]]

deploy the site using the DEPLOY_COMMANDS setting

nikola github_deploy [-m COMMIT_MESSAGE]`

deploy the site to GitHub Pages

nikola serve [-p PORT] [-a ADDRESS] [-d|--detach] [-b|--browser] [-6|--ipv6]

start development web server

nikola auto [-p PORT] [-a ADDRESS] [-b|--browser] [-6|--ipv6]

start development web server with automated rebuilds and reloads

nikola plugin [options]

manage plugins from the Plugins Index (

nikola theme [options]

manage themes from the Themes Index (

Use nikola help to get a list of all commands.


Issue Tracker:

See Also


Nikola 8.1.2