Skip to main content

Let's start!

Let the website begin and say hello to the world! With thousands of available frameworks, tools, content managers it should be easy, 5 minutes job, right?

Unfortunately, no. Maybe if you are a totally non-IT person and just want a portfolio, gallery or blog-like page then you can get a hosting, domain and a clickable content management system, select theme, write some info, add pictures and your website will be ready in 5 minutes. Easy and quick - but of course not cheap.

But what if you need a little more? Or simply do not want to spend a lot of money on just a website. Here begins the tip of the iceberg of the aforementioned tools, apps and more or less of the coding work. For me, as an actual software developer, it was the obvious way. But because I specialize in totally different areas of IT I also didn't want to dive deeply in all the web development shenanigans. I was looking for something in the middle: somewhat customizable, with minimum coding effort, ideally in a language I've already know and also without a need to install petabytes of dependencies. Another requirement was to find something independent of the server where I'd like to put my site on, in case the provider will make an abrupt change in its services. The results you can see right now, as this page is generated with Nikola.

What Nikola is? TLDR: it's so called static site generator, a bunch of scripts you use to create a content of your page locally on your machine, and then generate the fully working website as a set of HTML, CSS, JS and other such files. Finally you put these files on any kind of web server and the work is done. No databases, SQL, PHP, dynamically created pages, cookies, ads, GDPR warnings etc. Just a pure, lightweight static website you can probably view even with some ancient IE browser (although I haven't tested it). To make a basic site with Nikola you need a very basic knowledge of Python and one of the popular markup languages like reStructuredText or Markdown.

Obviously Nikola is not the only one existing static generator, take a look at this long list. So is there anything special about Nikola? Honestly, I don't know, I'm not a specialist in this matter. Apart from the fact it fulfills all my initial requirements I just found it easy to install, use and customize. It has a well written documentation, themes looks nice and it produces sites that are mobile-friendly. I have tested a dozen of different generators and CMSs before and Nikola simply suits my needs. I remember the times of manually written HTML-only pages (I made a few when I was 12 as my first "coding" experiences) and also had accidents with big and clunky CMS monsters crashing after every upgrade of PHP on the web server. What's more? I like Python working as a scripting toolbox. Writing texts in markup languages is quite natural for me (as the documentation part of my daily job). Making custom changes in themes is not a big hassle here, should be easy for everyone with some knowledge about HTML/CSS.

To sum up, if you need a simple website and are not afraid of typing a few commands in the terminal just try Nikola. If you don't like it then test other similar tools from the link above. Selection is huge, I bet everyone, even a non-IT person, will find something sufficient there. Some generators have built-in deploy tools, so they work nearly as a typical server-side CMS (Nikola has similar features, too).