Static websites are safer, use fewer resources, and avoid vendor and platform lock-in. You can host a Nikola website on any web server, big or small. It’s just a bunch of HTML files and assets.
Fast, incremental builds¶
Nikola is fast. It uses doit, which provides incremental rebuilds — in other words, we rebuild only the pages that need rebuilding, saving CPU time, wall clock time and upload bandwidth.
Multiple input formats¶
Nikola will take input in many formats. Out of the box, we support reStructuredText, Markdown, IPython (Jupyter) Notebooks and HTML, and have plugins for many other formats.
Importers for popular blog platforms¶
Nikola has importers for popular blog platforms, so you can switch easily and free your work.
The WordPress importer is built in (
nikola import_wordpress); others are available as plugins and must be installed by using
nikola plugin -i.
- import_wordpress (built-in)
- import_feed (RSS/Atom)
- import_page (arbitrary web page)
Nikola comes with everything you need to build a modern website: blogs (with comments, tags, categories, archives, RSS/Atom feeds), easy image galleries, and code listings.
Nikola supports almost 40 languages out of the box, and it’s trivial to add more. You can write posts in multiple languages, and have links between the diferent versions of a post. There are even some settings (including navigation bars and site titles) that can differ between the different language versions.
Nikola is extensible. You can write a plugin to add any feature you want in a few lines of Python, or write your own theme in Mako or Jinja2. Or find something in the Plugin and Theme Indexes.
Nikola has a friendly user interface that gets you up and running quickly and simplifies your work.
- To build your site, just run
- You can use automatic rebuilds with
nikola auto, or a simple server with
- Deploy with
- See some status information for your site with
- Check for broken links and missing/orphan files with
- Create new posts (with required metadata)
- Install themes with
nikola install_theme, and manage plugins with
- Import a WordPress blog with
- Debug with
nikola dumpdband a few other commands.
- Check for Nikola updates with
nikola version --check.
- When in doubt, run
nikola helpto get a list of all available commands.
If you are working on your site, you don’t need to type
nikola build and reload every time you make a change. Instead, just run
nikola auto. It will detect changes and automatically rebuild your site and refresh your browser (using livereload).
Easy to use with a CMS¶
If you want to use Nikola for a website that has content authored by people who do not like command-line interfaces or who would prefer to use a WYSIWYG editor, we have some solutions for you.
Nikola can work with many static-site CMS solutions, including Dato CMS, Netlify CMS and Contentful. You can get a user-friendly admin panel for your Nikola site in just a few minutes.