Skip to main content

Preprocessor for Foliant for generating history of releases.

Project description


History is a preprocessor that generates single linear history of releases for multiple Git repositories based on their changelogs. The history may be represented as Markdown, and as RSS feed.


$ pip install foliantcontrib.history


To enable the preprocessor, add history to preprocessors section in the project config:

    - history

The preprocessor has a number of options with the following default values:

- history:
    repos: []
    revision: master
    source_heading_level: 1
    target_heading_level: 1
    date_format: year_first
    link: false
    limit: 0
    rss: false
    rss_file: rss.xml
    rss_title: History of Releases
    rss_link: ''
    rss_description: ''
    rss_language: en-US

repos : List of URLs of Git repositories that it’s necessary to generate history for.



revision : Revision or branch name to use. Branches that are used for stable releases must have the same names in all listed repositories.

changelog : Path to changelog file. Changelogs must be located at the same paths in all listed repositories.

source_heading_level : Level of headings that precede descriptions of releases in the source Markdown content. It must be the same for all listed repositories.

target_heading_level : Level of headings that precede descriptions of releases in the target Markdown content of generated history.

date_format : Output date format to use in the target Markdown content. If the default value year_first is used, the date “September 4, 2019” will be represented as 2019-09-04. If the day_first value is used, this date will be represented as 04.09.2019.

link : Flag that tells the preprocessor to add the link to the repository to each heading of history item in the target Markdown content.

limit : Maximum number of items to include into the target Markdown content; 0 means no limit.

rss : Flag that tells the preprocessor to export the history into RSS feed. Note that the parameters target_heading_level, date_format, link, and limit are applied to Markdown content only, not to RSS feed content.

rss_file : Subpath to the file with RSS feed. It’s relative to the temporary working directory during building, to the directory of built project after building, and to the rss_link value in URLs.

rss_title : RSS channel title.

rss_link : RSS channel link, e.g. If the rss parameter value is rss.xml, the RSS feed URL will be

rss_description : RSS channel description.

rss_language : RSS channel language.


To insert some history into Markdown content, use the <<history></history> tags:

Some optional content here.


More optional content.

If no attributes specified, the values of options from the project config will be used.

You may override each config option value with the attribute of the same name. Example:


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foliantcontrib.history-1.0.3.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

foliantcontrib.history-1.0.3-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page