• strip_extensions site.conf setting removes defined file extensions in generated output. Extensions may be comma separated
  • Better error message when two or more Tags are used with differing capitalization
  • Tag count available in site.tags dict
  • Option index_backlinks, if True site.backlinks becomes available in templates, use site.backlinks[page.base_url] to list all pages that link to page
  • Error message now contains file that caused template rendering to fail
  • Fixed

  • pagegen command line argument --production now works, fixes https://github.com/oliverfields/pagegen/issues/14
  • If using strip extensions and filenames had no extensions, would fail
  • Page titles containing \ are now properly escaped in search-index
  • v3.8.0


  • Page Category functionality, it was basically same as tags, so removed duplicate code
  • Fixed

  • Incompatibility with markdown version after 3.3.6, so locked pip package to last known working version
  • v3.7.1


  • Custom headers where being converted in hook/script environments, now they are just strings
  • Shortcodes __repr__ now uses inspect.signature, supports auto documenting shortcodes with \*args and \*\*kwargs

    v3.7.0 - 2022-03-24


  • Shortcodes, define regular python functions that must reutrn a string in shortcodes.py and use "shortcode_name(arg1, .. argN)" in content where you want them, or <% n = shortcodes['name'](site, page, arg1, .. argN) %>${n}" in templates. Disable shortcodes with page header "disable shortcodes: True". See https://pagegen.phnd.net/user-manual/shortcodes
  • Authors - add authors csv header to pages and authors.conf to generate author pages
  • Excerpts. Use anywhere in content and everything until then will become page.excerpt.
  • Shortcodes list_posts, tags and categories
  • Removed

  • page_titles site.conf setting, to add titles to pages, use templates
  • v3.6.0 - 2022-01-30


  • Graphviz support for both markdown and rst added
  • Title numbering, use page header 'number headings: true'
  • TOC for pages, use page header 'toc: True' and page.toc will be available in templates
  • Fixed

    v3.5.0 - 2022-01-24