As the number of privacy-preserving analytics options proliferates,
it no longer makes sense to support specific solutions provided by
ad-tracking corporations.
The aim here is to make the theme work respectably on mobile devices
with only modest changes. Providing different layouts at multiple
breakpoints is beyond the scope of this change.
The changes here are:
1. `base.html`: Add a `<meta name="viewport"` element
2. `main.css`:
* Use "max-width" instead of "width"
* Set "line-height" on the banner and adjust vertical spacing to match
* Remove fixed height on the nav bar and force it to contain its
child elements
`hentry` uses `clear: both` with the intention of placing a separator line (1px border) between each entry. However, it is wrongly using `border-bottom` instead of `border-top` to make that separator. CSS `clear` makes space to clear the **preceding** floats. Hence a `border-bottom` won't enjoy that `clear` effect.
The BLOGROLL_WIDGET_NAME and SOCIAL_WIDGET_NAME settings are now
respected by notmyidea if they are specified in your config file.
They override the default names of "blogroll" and "links" in the
notmyidea theme.
Used default() in template to simplify template code.
Renaming BLOGROLL setting to LINKS, changed default also.
Updated tests to check 'links' instead of 'blogroll'.
Whoops; links, not link.
Updates the template logic for when page navigation is included in the
generated HTML in the notmyidea theme, fixing:
* Issue #1068: useless pagination controls should not be displayed when a
single page is generated (i.e. "Page 1/1"). New logic prevents the
generation of these superfluous page navigation controls. Tests updated
accordingly.
* Issue #1572: when multiple pages are generated and the last page contains
only one item, the closing </ol> and </section> tags are not generated,
resulting in page breakage. We need to check if
articles_page.has_other_pages(); if it does, a list has been generated per
line 19 or 25 and the tags must be closed.
This replaces all `http://` and `//:` links with `https:`. The protocol-
relative URL scheme is now deemed to be an anti-pattern. There are
security advantages to using HTTPS, and there are no significant
performance concerns.
In short, if the asset we need is available via HTTPS, then that asset
should always be loaded via HTTPS.
Fixes#1736
If a tag contains characters like <> or &, we currently generate invalid HTML.
This is easily fixed by sending the tag through the jinja escape filter.
(This bug is not theoretical, I hit it when using C++ template names for tags,
like "boost::variant<>".)
We already check if loop.length > 1 before outputting <section> and <ol>
tags, but we neglected to do the same check when outputting the corresponding
end tags.
Also, since I had to read the code when I touched it, simplified a conditional:
if (a) if (a and (b or not b and c))
can be simplified to
if (a) if (b or c)
Note the "b or not b", it was just too ugly to not fix.