| Commit message (Collapse) | Author | Lines |
|
Commit ea7baaa (templates: Allow setting 'float' for figures in the
'img' shortcode, 2022-04-09) introduces inline styles which were
considered more straightforward than adding special CSS rules. Sadly,
restrictive Content-Security-Policy settings will make browsers
disregard inline styles as a security measure.
Since we don't want to turn off CSP, this comment implement CSS rules
for setting the float attribute on elements.
|
|
Up until now we always linked to the image itself, but in the future we
may want to link to any arbitrary (even external) page. Add a 'link'
argument to the 'img' shortcode to facilitate this. If no link is given,
we fall back to linking to the image; this makes sure that older posts
need not be changed.
|
|
We've never had to flow text around a <figure> element before, so this
particular feature was missing. Instead of creating small CSS rules,
interface with the style attribute directly. This is easier and allows
more straight-forward control.
|
|
An upcoming post will require a smaller figure which has text flowing
around it. This is not nicely possible with the hard-coded setting of
500 pixels. Introduce an optional argument 'width' to the shortcode to
make custom sizes possible.
|
|
The 'resize_image' function was changed to return a map in [1], so we
have to update our code accordingly.
[1] https://github.com/getzola/zola/commit/7fb99eaa44f387fadf744354c605f0cfcc582800
|
|
According to MDN [1], the width attribute carries a unitless integer
instead of "px" et al. Make sure we conform to the standard.
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-width
|
|
Legacy devices might not render the CSS correctly, making the
high-resolution avatar images take up most of the space on the site.
Make sure to resize them to 64px in HTML using a width attribute.
|
|
A regular posts indicates its permalink with a section sign. However,
for mentioned posts we'd like to be explicit about the post number,
since we may refer to them this way in the parent post.
This behaviour should have been working since day one in ad2be2b
(Initial commit, 2021-06-12), but it was subtly broken. Since the
render_post macro does not have access to the 'mention' variable, only
the section sign would ever be used to indicate a permalink.
This probably happened because the rendering code for a post used to
live in the post template instead of a macro.
|
|
Now that about two months have passed since the initial publication, we
know better with which frequency posts are made. Since there's usually
more than one day between posts, rendering prominently the time at which
posts were made is needlessly noisy.
We already put the exact date and time in the HTML source and the title
tag, so it is still there if really needed.
|
|
The img shortcode inserts, along the picture itself, a figcaption
element containing a brief description. We may want to include links or
other HTML elements in that description. This is not possible right now
because we insert the caption content verbatim.
This commit changes the img shortcode such that markdown is now rendered
inline for the figcaption element.
|
|
Added in the previous commit, this class renders a link more subtly and
is supposed to be used when referencing internal content. We do exactly
this here.
|
|
An upcoming post will (finally) make use of the "mentions" feature.
Whilst working on that post we noticed that the header indicating
mentioned posts is a big too big and clashes even with the site title.
h3 should be better suited for this purpose. Since the default margins
are slightly different from h2, make sure to tweak the stylesheet too.
|
|
Sometimes we may want to override the default setting when processing
images. Furthermore, since we will most likely want to generate JPG
files in the general case in order to minimise the amount of data
transferred when opening the front page, have the default in the
shortcode be "jpg" instead of "auto".
|
|
We don't need to reference the block name in the 'endblock' statement if
blocks are not nested.
|
|
The first post has information on what to expect from this site. Since
it will scroll further and further down, make sure we reference it for
quick access.
|
|
This removes a branch from the template and also makes sure that screen
readers and similar software still get access to the post title even if
we want to hide it on the presentational layer.
|
|
This improves the readability and consistency of the CSS.
|
|
Currently we allow empty post titles, gracefully falling back to a
default value. This increases complexity somewhat. Since we think we'll
always be able to think of a title for a post, make it mandatory for now
to provide one.
|
|
Instead of using boolean arguments to control the article class (and
which parts of the article are rendered), accept a class string that is
used directly. For now, check for the right class before rendering a
title - an upcoming commit will change this to be cleaner.
|
|
This feature was only used once for testing.
|
|
We can get rid of the post title in the banner since the base template
now renders it in the main banner whenever we show a single post.
|
|
This makes the HTML source slightly nicer.
|
|
Currently, we pad certain elements with manual interpunct spacers that
are defined in the templates themselves. This is suboptimal for a number
of reasons. Templates should be used for textual or semantic data, not
presentation. Additionally, we have no good control over how whitespace
characters will end up being rendered. Adding or deleting spacers is a
nightmare.
To fix this, use CSS to render spacers instead. To that end, introduce a
couple of HTML elements in the top banner and keep supplementary links
in a list inside a <nav> element. Add a spacer mixin that can be applied
to any element that needs it.
|
|
Currently we show the slogan both on the index as well as all sub-pages.
This needs some special handling in the template, since the page
description for the index is empty (the slogan takes its place).
Simplify the template further by making sure description is always set,
and set it to the slogan only on the index page.
|
|
This is the first in a series of commits that will attempt to clean up
and simplify the templates, most of which were put together hastily.
One particular egregious example of this is how Tera blocks are employed
to set per-page titles, provide banner descriptions and links, and
include additional RSS feeds. These elements are all outside the normal
'content' block provided by the base template. Almost always they
contain only one line of text.
This solution was chosen because there did not seem to be a cleaner way
of having per-page variables in the base template. This is a problem
especially for the 'single' and list' taxonomy pages which do not even
have front matter (and therefore cannot carry additional metadata).
Furthermore, we want to keep each page's front matter as minimal as
possible and avoid hard-coding a post description of "post № <X>".
Instead rely on the fact that each type of page is identifiable in the
base template by the variables that are set in it. The index carries the
'section' variable, pages carry 'page', a single taxonomy term carries
'term', and a single taxonomy carries 'terms'.
Using this information we can consolidate all these blocks into the base
template in a simple and clean way.
|
|
This way we do not have to specify the color in its selector.
|
|
Post titles are currently only visible in the feed, or on the post page
itself. Since people may remember posts by their titles rather than
their number, display the titles on each post's banner as well for
easier searching. This means we can now get rid of the extra item in the
post page's description.
A neat side effect is that we now have a header element for each
<article>, making W3C a bit happier.
|