NIKOLA(1)

πŸ“¦ version 8.3.3, in arch rolling, fedora 43, nixos 26.05, nixpkgs unstable

πŸ’– NAME πŸ’–

Nikola β€” A Static Site and Blog Generator πŸŽ€ (yes bestie, this is the NIKOLA(1) page, buckle up)


🌸 SYNOPSIS 🌸

Okay so here's the whole vibe in four moves πŸ’…

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

πŸ¦‹ DESCRIPTION πŸ¦‹

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. like, literally that's it, no cap ✨

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:

  • A blog
  • Your company's site
  • Your personal site
  • A software project's site
  • A book's site

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:

  • Twitter
  • Facebook
  • An Issue tracker
  • Anything with forms, really (except for comments!)

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. 🫢


🌈 COMMANDS 🌈

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 ( https://plugins.getnikola.com/ ) 🧩
  • nikola theme [options] β€” manage themes from the Themes Index ( https://themes.getnikola.com/ ) 🎨

Use nikola help to get a list of all commands. periodt πŸ’…


πŸ™ˆ BUGS πŸ™ˆ

Issue Tracker: https://github.com/getnikola/nikola/issues


⭐ SEE ALSO ⭐


okay that's the whole page bestie, go build something iconic πŸ’– this was Nikola 8.3.3, living in the NIKOLA(1) manual β€” slay πŸŽ€βœ¨

πŸ“¦ where this page comes from