These configuration files do not need a #! line as they are not intended to be
executed directly and are not marked as executable. (In practise this doesn't
cause any problems - it just came up in a Guix bug report because Guix
transforms the #! lines.)
The "coding: utf-8" lines are also no longer required now that Pelican is Python
3 only.
Improve _HTMLWordTruncator by using more than one unicode block in
_word_regex, making word count function behave properly with CJK,
Cyrillic, and more Latin characters when generating summary.
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
When you write a custom Writer, it gets called with `settings=None`. If you writer is simply a subclass of the built-in Writer, Pelican will through the error `CRITICAL: 'RELATIVE_URLS'`.
The source of the error is from `Pelican._get_writer()` in `__init__.py`.
When the `serve` and `livereload` targets are invoked, a web browser will be
automatically opened, pointing to the locally-served website.
If no web browser can be found by the module, the `open()` call returns
`False`, but no exception is raised. This means that it is still possible
to call livereload on a remote machine and access it without any error
being triggered.
Signed-off-by: Romain Porte <microjoe@microjoe.org>
- use custom build command, with caching turned on - this reduces site
build time by around 40% on my testing machines
- collect all glob patterns in a list and then call `server.watch`
on each item - this allows to have single place where callback
function must be specified
- use '**/*.html' as glob in template, to track changes in
subdirectories
`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.
Some content parsers escape link paths in their html output
(i.e. docutils uses HTML escaping and markdown uses URL encoding.
Intrasite link discovery is refactored to also attempt HTML or URL
unescaped versions of the path in order to match more permissively.