Repolode
getnikola

getnikola/nikola

A Python static site and blog generator that turns content files into a deployable website.

Open-source alternative to:WordPress

Stars
2,748
Forks
473
Open issues
94
Last commit
14 days ago

What is it?

Nikola is a static site and blog generator written in Python. It takes content written in reStructuredText or Markdown, along with other supported formats such as Wiki, BBCode, Textile, and HTML, and builds a complete website that can be deployed to any static host.

Because the output is plain static files, sites built with Nikola avoid the security surface, resource use, and platform lock-in of database-driven content management systems. Blogs include tags, feeds, archives, and comments, and the look of the site is controlled by swappable themes. Builds are driven by the doit task runner, and functionality can be extended through a library of plugins.

Nikola also supports multilingual sites and image galleries created by placing files in a folder. The core codebase is kept small enough for a programmer to read in a day, and the project reuses existing tools rather than reimplementing them.

Key features

  • 01Blog support with tags, feeds, archives, and comments
  • 02Swappable themes for controlling site appearance
  • 03Accepts reStructuredText, Markdown, and several other input formats
  • 04Multilingual sites and automatic image galleries
  • 05Extensible through a large library of plugins
  • 06Syntax highlighting for many languages and markup formats

Use cases

  • Running a personal or technical blog without a database or server-side runtime
  • Publishing a multilingual documentation or project website
  • Creating photo galleries by dropping image files into a folder
  • Hosting a site on static hosting services to reduce maintenance and attack surface

Quick start

  1. 1

    Install Nikola with pip

    pip install Nikola
  2. 2

    Optionally install extras for optional features

    pip install "Nikola[extras]"

In collections

Topics

FAQ

What is nikola?
A Python static site and blog generator that turns content files into a deployable website. Nikola is a static site and blog generator written in Python. It takes content written in reStructuredText or Markdown, along with other supported formats such as Wiki, BBCode, Textile, and HTML, and builds a complete website that can be deployed to any static host.
Is nikola free to use? What license does it have?
nikola is open source under the MIT license. Check the license terms before using it in commercial products.
Is nikola still maintained?
Actively maintained. The last commit to nikola was on Oct 24, 2026.
What can I use nikola for?
Running a personal or technical blog without a database or server-side runtime Publishing a multilingual documentation or project website Creating photo galleries by dropping image files into a folder Hosting a site on static hosting services to reduce maintenance and attack surface
How do I install nikola?
Install Nikola with pip: pip install Nikola Optionally install extras for optional features: pip install "Nikola[extras]"
Where can I get nikola?
The source code and installation instructions are on GitHub: https://github.com/getnikola/nikola

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects