This “blog” is written using Restructured Text and generated by
Nikola. Simple customizations to Nikola are done by modifying files
files/assets/. The files in the
files directory are moved
verbatim into the output.
The CSS file files/assets/css/custom.css is loaded by the default theme, so simple customizations go there.
The files for the theme, set in the
conf.py file, are also copied
into the assets directory, as documented in the theme reference.
Nikola has an interesting theme system, where a theme can have a
parent theme. The files from the parent theme are used, unless the
current theme defines the same file.
base.tmpl file is where the html pages are defined, then the
other specialized templates fill in the details.
To get information from the specific templates, like the
into the base, we can put a block in
base.tmpl, and then set the
values in the block in
<%block name="extra_information"> % if post.meta('use_extra_data'): <h2> We have extra data!! </h2> Doing some special stuff here. % endif </%block>
The data in
post.meta comes from the meta data in the post file:
.. use_extra_data: Yes!
Something that tripped me up, is that the
if test in the block
above is testing if the string exists, not if it is equal to
The main reason I was interested in this was to customize on a post-by-post basis.