BlogMore ChangeLog
v2.9.0
Released: 2026-04-04
- Added styling for
<kbd>elements. Keys are now rendered with a subtle raised appearance using a border, background, and monospaced font. Two new CSS variables β--kbd-bgand--kbd-borderβ control the appearance and can be overridden in a custom stylesheet. Both light and dark modes are supported via the corresponding--dark-kbd-bgand--dark-kbd-borderpalette variables. (#363)
v2.8.0
Released: 2026-04-02
- Fixed a bug where post or page content starting with a line of the form
<digit>:<rest>(e.g.7:54am β¦) was silently dropped from the rendered HTML output. (#360)
v2.7.0
Released: 2026-04-01
- Replaced the regex-based
extract_first_paragraphimplementation with a Markdown-library-powered approach. (#354) - Draft posts now receive a clear visual indicator wherever a post title is rendered: the title is displayed in a contrasting amber colour and a π§ emoji is appended after the title text. (#357)
v2.6.0
Released: 2026-03-28
- Fixed auto-generated post descriptions so that reference-style links are
stripped to plain text, matching the existing behaviour for inline links.
Strikethrough (
~~text~~) and underscore bold/italic (__text__,_text_) are now also stripped. Reference link definition lines ([ref]: url) found inside a paragraph block are skipped rather than included in the description. (#349)
v2.5.0
Released: 2026-03-27
- Added support for strikethrough text using
~~text~~syntax, which renders as an HTML<del>element. (#346)
v2.4.0
Released: 2026-03-25
- Broke out page-specific styles from the main
style.cssinto separate stylesheets (search.css,stats.css,archive.css,tag-cloud.css). Each stylesheet is loaded only on the pages that need it. (#341) - Fixed singular/plural in the "Word Count" section of the stats page so that a count of 1 now correctly shows "1 word" rather than "1 words". (#343)
v2.3.0
Released: 2026-03-24
- Fixed sitemap generation not excluding the search page if a custom
search_pathwas in use. (#331) - Added
light_mode_code_styleanddark_mode_code_styleconfiguration options that allow the Pygments syntax-highlighting colour scheme to be configured independently for light and dark mode. (#334) - Fixed
servemode not restoring configuration defaults when a setting is removed from the YAML file. (#337) - Added an optional blog statistics page (
--with-stats/with_stats: true). When enabled, a stats page is generated showing all sorts of statistics about posts in the blog. The output path is configurable via thestats_pathconfiguration file option, which honoursclean_urlsin the same way as the other path options. (#338)
v2.2.1
Released: 2026-03-23
- Fixed sidebar page links on individual post pages not respecting the
configured
page_pathandclean_urlssettings. (#329)
v2.2.0
Released: 2026-03-23
- Added post counts to the archive page. (#326)
v2.1.0
Released: 2026-03-22
- Fixed false-positive stripping of
index.htmlfrom URLs such as/my-index.html. (#315) - Overhauled the styling of code blocks, adding a language label in the top-left corner and a copy-to-clipboard button in the top-right corner. (#323)
v2.0.1
Released: 2026-03-17
- Fixed
categories_pathandtags_pathnot loading correctly from the configuration file. (#313)
v2.0.0
Released: 2026-03-17
- Added configurable search page path option via the
search_pathconfiguration option. (#304) - BREAKING CHANGE: Added configurable pagination path options
page_1_pathandpage_n_path. These configuration file settings control the output path template for the first page and for pages 2+ of any paginated listing (main index, year/month/day archives, tag pages, and category pages). The defaults (index.htmlandpage/{page}.html) keep the existing URL structure in some cases, but break the pre-existing default structure for categories and tags. Whenclean_urlsis enabled, the same trailing-slash transformation is applied to pagination URLs as to post and page URLs. (#307) - Added configurable archive page path via the
archive_pathconfiguration option. (#308) - Added configurable tags overview page path via the
tags_pathconfiguration option. (#310) - Added configurable categories overview page path via the
categories_pathconfiguration option. (#310)
v1.16.0
Released: 2026-03-16
- Added optional
pagesconfiguration option. When set to a list of page slugs, only those pages are linked in the sidebar, in the order given. Pages not listed are still generated but receive no automatic sidebar link. Omitting the option (or leaving it empty) preserves the existing behaviour where all pages are shown. (#294) - The title of the "Links" section in the sidebar can now be customised. (#295)
v1.15.0
Released: 2026-03-15
- Added
headconfiguration option. This allows extra<head>tags (such as<link>or<meta>) to be injected into every generated page without needing to create or override templates. (#286) - Added configurable page output path scheme via the
page_pathconfiguration option. (#288)
v1.14.0
Released: 2026-03-14
- Added optional HTML minification via the
--minify-htmlcommand-line switch or theminify_html: trueconfiguration option. (#272) - Consolidated and better documented the theming infrastructure to make custom themes easier to create. (#275)
v1.13.0
Released: 2026-03-13
- Added
clean_urlsconfiguration file option (off by default). When set totrue, any post whose resolved URL ends with/index.htmlhas theindex.htmlportion removed so that the URL ends with a trailing slash instead. (#266) - Fixed
servemode so that all configuration file settings are properly reloaded on rebuild. Previously,clean_urls,minify_css,minify_js,clean_first,include_drafts, andextra_stylesheetschanges were silently ignored when the config file was modified while the server was running. (#269)
v1.12.0
Released: 2026-03-12
- The "Generated with" footer is now optional and can be turned off via
with_advert: falsein the configuration file. (#258) - Added support for custom heading IDs using the
{#custom-id}syntax (e.g.### My Heading {#custom-id}). Headings without a custom ID continue to receive auto-generated IDs as before. (#260) - Heading elements (
h2βh6) now display a ΒΆ hover-anchor link when the reader moves the mouse over them, making it easy to copy a permalink to any section. (#260)
v1.11.0
Released: 2026-03-11
- All locally-generated stylesheets (the main stylesheet and the FontAwesome
CSS when generated locally) now include a generation-specific
cache-busting query parameter (e.g.
?v=1741698000) so that browsers re-download updated stylesheets after a fresh site generation/deploy. (#253) - When
minify_cssis enabled, the generatedfontawesome.cssis now minified and written asfontawesome.min.cssinstead. (#252)
v1.10.0
Released: 2026-03-11
- BREAKING CHANGE: The
/attachments/directory no longer has special treatment. If you should have a/attachments/directory in your output then placeattachments/underextras/in the content directory. (#248)
v1.9.1
Released: 2026-03-10
- Fixed an error when using a relative path for the
outputconfiguration option. Using a relative path such assitenow works correctly. (#242)
v1.9.0
Released: 2026-03-09
- Added configurable post output path scheme via the
post_pathconfiguration option. (#237)
v1.8.0
Released: 2026-03-07
- Social media icons in the sidebar are now rendered at a consistent, fixed width. Also reduced their default size. (#228)
- The title of the social media icons section in the sidebar can now be customised. (#228)
v1.7.0
Released: 2026-03-07
- Estimated reading time is now optional and disabled by default. Use
--with-read-timeon the command line or setwith_read_time: truein the configuration file to show reading time on posts. (#218) - Reduced some of the repeated boilerplate in the templates. (#221)
- The main archive page now shows a right-hand sidebar table of contents if the viewport is wide enough. This can be used to quickly navigate the archives. (#224)
v1.6.2
Released: 2026-03-05
- Fixed spurious regenerations and "Directory not empty" errors during
blogmore serveon Linux (#213)
v1.6.1
Released: 2026-03-04
- A bare
tags:frontmatter entry is now silently treated as an empty tag list instead of causing a warning and skipping the post. (#207)
v1.6.0
Released: 2026-03-04
- Improved mobile layout: in "mobile view" the sidebar is collapsed by default to show only the site title and a burger menu (β°) button. Clicking the burger menu expands the full sidebar (logo, subtitle, pages, links, socials). (#202)
- Fixed a site-build crash ("Argument must be bytes or unicode, got 'int'")
that occurred when a post's frontmatter contained a bare number as a tag
or category value (e.g.
tags: [2024, python]orcategory: 2024). Also added some other checks and warnings for frontmatter values that could appear ambiguous. (#204)
v1.5.0
Released: 2026-03-03
- Fixed
servemode rebuilding once per changed file when multiple files are modified or added at the same time. (#194) - Reduced excessive vertical whitespace in generated HTML output. (#197)
- Added support for a custom 404 page. The
servecommand will serve this page for any missing resource during local development. (#199)
v1.4.0
Released: 2026-03-01
- Fixed a
publishfailure when working across multiple machines: the publish branch is now fetched from remote before use, so a local branch that is behind its remote counterpart no longer causes a non-fast-forward push error. (#187) - Tags are now displayed in casefold alphabetical order wherever a list of tags is shown (post pages, index, archive, category, and tag pages). (#189)
- Fixed the default description finder not skipping images that are also
links (i.e.
[](url)syntax), so posts starting with a linked banner image now correctly use the first text paragraph as the description. (#191)
v1.3.0
Released: 2026-02-28
- Made cosmetic changes to the categories and tags pages to make the clouds look a bit more compact. (#184)
v1.2.0
Released: 2026-02-26
- Pagination navigation on archival pages (categories, tags, date archives, and the main index) has been improved: previous/next links are now styled as buttons to match the rest of the site's navigation, numbered page links are shown between them (with ellipsis for large page counts), and pagination is now displayed at both the top and bottom of each paginated page (the front page of the site excepted, which only shows it at the bottom). (#177)
- Fixes pages appearing in the post history. (#180)
- Paginated listing pages (the main index, category pages, tag pages, and
date-based archive pages) now include
<link rel="prev" href="...">and<link rel="next" href="...">tags in the<head>where appropriate. (#181)
v1.1.0
Released: 2026-02-26
- Every generated page now includes a
<link rel="canonical" href="...">tag in the<head>, pointing to the fully-qualified URL for that page. (#174)
v1.0.0
Released: 2026-02-25
- Post pages that have previous and/or next post navigation now also include
<link rel="prev">and<link rel="next">tags in the<head>of the generated HTML. (#171)
v0.14.0
Released: 2026-02-24
- Added optional JavaScript minification via the
--minify-jscommand-line switch or theminify_js: trueconfiguration option. (#166)
v0.13.0
Released: 2026-02-23
- FontAwesome loading is now non-blocking:
font-displaychanged fromblocktoswap, and a<link rel="preload">hint for the WOFF2 font file is added to all pages that use FontAwesome icons, improving initial page rendering speed. (#163)
v0.12.0
Released: 2026-02-23
- Removed redundant CSS rules from
style.css. (#159) - The default
og:imagefor the site index page now uses theicon_sourcegenerated platform icon (android-chrome-512x512.png) when available, falling back tosite_logoif no platform icons have been generated. Post and page templates that don't have an explicitcoverimage set now also default to the platform icon forog:imageandtwitter:image. (#160) - Added optional CSS minification via the
--minify-csscommand-line switch or theminify_css: trueconfiguration option. (#161)
v0.11.0
Released: 2026-02-22
- Added the
site_descriptionconfiguration option. When set, it is used as a fallback description for anyheadmetadata that uses a description of the page. (#146) - Added the
site_keywordsconfiguration option. When set, it is used as a a fallback set of keywords for anyheadmetadata that uses them. (#150) - Author metadata is now added to the
headof all pages, if the site's default author has been set. (#152) - Added
og:titlemeta tag to all generated pages that previously lacked it (index, archive, tag, category, tags overview, categories overview, and search pages). The title is derived from the site name, subtitle, and a description of the page type. (#153) - Added full social/share-friendly
<head>meta tags to the main index page, includingog:type,og:url,og:site_name,og:image,twitter:card,twitter:title, andtwitter:image. The image is taken from the configured site logo, or the largest generated platform icon if no logo is set. (#154) - Added automatic FontAwesome CSS optimisation. This reduces the FontAwesome CSS overhead down to only what's needed for the "social icons" in the sidebar, rather than pulling down the whole FontAwesome CSS. (#155)
v0.10.0
Released: 2026-02-22
- Fixed admonitions merging multiple paragraphs into one. (#135)
- Fixed
article:modified_timemeta tag not using ISO 8601 format when amodifiedfrontmatter value is set. (#138) - When icons are generated, a copy of
favicon.icois now also placed in the root of the output for backward compatibility. Ashortcut iconlink header is also included for legacy browser support. (#140)
v0.9.0
Released: 2026-02-21
- Added optional XML sitemap generation. (#127)
- Fixed posts not being discovered recursively (Copilot documented that this was a feature, but never actually implemented it). (#130)
- Fixed the top-level navigation menu overflowing the viewport on narrow/mobile screens. (#131)
v0.8.0
Released: 2026-02-20
- Footnotes are now rendered in a slightly smaller font size to visually differentiate them from body text. (#121)
- Post date timestamps are now formatted as
YYYY-MM-DD HH:MM:SS TZand each component (year, month, day) links to its corresponding archive page. (#123) - Added optional client-side full-text search across post titles and content. Search is off by default. (#124)
v0.7.0
Released: 2026-02-20
- Fixed
servemode failing withFileNotFoundErrorwhenclean_firstis enabled. (#118)
v0.6.0
Released: 2026-02-19
- Fixed duplicate HTML element IDs when multiple posts with footnotes appear on the same index page. (#114)
- Improved table styling with subtle borders, a distinct header background, and alternating row shading that works in both light and dark modes. (#115)
v0.5.0
Released: 2026-02-19
- Fixed relative URLs in RSS/Atom feed entry content being left as root-relative paths; they are now rewritten to absolute URLs using the configured site URL, resolving feed-validator warnings. (#110)
v0.4.0
Released: 2026-02-19
- Added auto-generation of various 'favicon' types from a single source image. (#103)
v0.3.0
Released: 2026-02-18
- Initial public release.