Pagegen

Latest version: v4.0.0

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

3.7.1

Fixed

- 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

3.7.0

Added

- Shortcodes, define regular python functions that must reutrn a string in shortcodes.py and use "<sc>shortcode_name(arg1, .. argN)</sc>" 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 <!-- more --> 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

3.6.0

Added

- Graphviz support for both markdown and rst added, creates inline .svg or .png graphs
- Numbering of headings (tags h1-6), use page header 'number headings: true'
- TOC for pages, use page header 'toc: True' and page.toc will be available in templates

Fixed

- Hot reload (--serve) fixed
- Markdown generation fixed
- Asset directory now is copied to output

3.5.0

Added

- When using --serve any changes to the site will trigger rebuild. Pages being served will reload if a rebuild has occured. The F5 key will appreciate
- Markdown support, in site.conf set default "markup=md" to use markdown as default, can be overriden in page headers using "Markdown: mk". Default is rst

Fixed

- Pages with header exclude link chain where not being converted to html

3.4.0

Added

- Mako template engine, now templates can have full power of Mako, incl if else, loops and full on python code execution
- Page headers/frontmatter support custom headers. These can be referenced in templates using format {{page.<header name>}}. Example, if in a page the following header is set 'this is a custom header: At last', then in a template the following '{{page.this is a custom header}}' will be replaced with 'At last'
- Template variable/placeholder page_file_name added, contains what you expect
- Template variable/placeholder page_relative_url added, contains url relative to web root
- Template variable/placeholder default_extension added, contains default file extension

Fixed

- Sitemaps now have corecct urls
- Hooks now only execute if they have execute rights (linux)
- Template page_file_name was incorrect for directories
- --serve disables deploy and post_deploy hooks for serving locally
- Removed superflous printing

3.3.3

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.