K i k o f r i

What's Kikofri?

Kikofrieye. Used as default favicon. CC0.

Pictured: 'Ofri Eyeparchment'. Default favicon/spokesperson. (CC0/Public Domain).

Kikofri is a theme for jekyll that started out as a fork of the Kiko theme. Today I’d say Kikofri is Kiko mangled beyond recognition. It came about because I like my themes like I like my music: ugly, old and barren. It’s an assortment of hacks filtered through web-design choices from the turn of the millennium.

The theme doesn’t use any Google Analytics spyware, and it doesn’t rely on Google Fonts API for font rendering and the like. Since I never particularly liked ‘jekyll-seo-tag’ there’s second-rate implementation of it under \_includes/head.html. Pure liquid. Configure it to your liking. The absence of “…battle-tested” templates infused with hype-words is guaranteed.

Skip to the details.

Quirks Mode:

Kikofri comes with a few quirks. Since I’m an old person in an young body my sense of humor is dry. Therefore I decided to call the quirky macro-like thingies ‘micros’, and thus we use the µ symbol to make the most of them. (Honestly they’re just liquid filters). Take a look at ‘_layouts/post.html’ if you wonder how they are implemented.

The sequences are:

Example: Here comes the stepmother of all demo(n)s[a]. I really need to put emphasis on the next paragraph.

  A paragraph like all others, but this one is mine. It is also a little too long because I need to put enough letters here to justify this indented poorly worded paragraph.

Here’s how it looks in a source file:

Here comes the stepmother of all demo(n)sµ#[a][reflink]#µ. I really
need to put µ;;emphasis;;µ on the next paragraph.

µµ A paragraph like all others... /* And so on */

Why use ‘micros’? Well, you don’t need to. Rip ‘em out if you want to. Since I’m used to ugly stuff I just prefer not to use too many fancy plugins. Take a look at the reference link especially; ‘µ#[a][reflink]#µ’ Ain’t it ugly? Yes it is, and it’s awesome.

Markdown can be pretty awkward too though. Ever tried to wrap all lines at a specific column no matter the cost because you dislike long lines? Ever done it while trying to produce a clickable image link with a caption? Don’t try it. That’s what killed Superman. TWICE!!!?

Other notes:

I’ve at least tried to take a modular approach. That is to break up the theme into smaller, more or less self-contained parts, in the form of ‘includes’ where applicable.

There is also a configurable front matter value ‘pagin’ which serves as a switch for this theme’s “pagination”/archive feature. The variable ‘pagnum’ can be found under _default.html. It decides the number of entries at index.html and the offset in the archive. (Default: 10).

The archive is just a neat list of posts. Since few will write 3048+ articles, it’ll do. Plain HTML/CSS.

Some Poetry:

On a more idealistic note: I always hated the word “blog”. I recognize one “blog” and it’s this one. I always preferred the concept of a site, because it can be anything. A newspaper, an encyclopedia, a collections of essays or a book. The ‘micros’ are small and simple hacks to turn a “blog” into something more than just a “blog”.

They are stupid unlikely sequences of symbols to create some neat stuff. While still sticking to the goal of being ugly and a “dirty and malnourished jekyll theme” of course.

Since I eschew the “blog”-aspect of it all Kikofri uses the ‘Article’ type instead of the ‘BlogPosting’ type in it’s meta-data.

What It All Boils Down To:

There’s no reason to use something fancy when you can accomplish the same things with HTML/CSS.

The thing is: a lot of the things people might want to say, write or show won’t really require all that much. Even if it does it’s rarely as much as the first 5 search engine results makes you think.

Kikofri tries to keep it simple, being partly flawed by design, but hopefully not too flawed. It looks the way it wants instead of following trends and it strives to be reasonably easy to modify. Tweaking is learning.

Well, of course… You can’t turn the world upside down with a theme, but worrying about your “content”, “workflow” and striving to be an automaton spewing out mere fluff, i.e. “content”, is useless.

Don’t call it “content”. It diminishes your work. It makes you a commodity and what you create some kind of placeholder waiting to be replaced.

Or to quote Proudhon who put it so eloquently (replace ‘man’ with your proper noun if you want to):

No extended argument would be required to show that the power to take from a man his thought, his will, his personality, is a power of life and death; and that to enslave a man is to kill him. Why, then, to this other question: WHAT IS PROPERTY! may I not likewise answer, IT IS THEFT…

Other Important information…

…usually resides HERE, there are comments in the source files too, but a few clarifications would be in order:


<meta name="author" content="{{ site.author }}" />
<meta name="description" content="{{ site.description }}" />

Can be set in _config.yml for example.


assets directory

Contains ‘pages’, ‘images’ and ‘style.css’ to make the root directory less cluttered.