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.
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.
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 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).
Coil CMS — a CMS for Nikola
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 a solution for you.
Coil CMS is a basic CMS (with user management and a WYSIWYG HTML editor), which uses Nikola to generate the pages, combining the best of both worlds: you (or your editors) can easily create content, while the site is based on resilient static pages. Users don’t even have to know what Nikola, Python or static websites are. They just write their content. The only difference is that they (or someone with the necessary permissions) need to click a Rebuild button to make their changes show up on the website.