diff --git a/docs/source/index.md b/docs/source/index.md index 9a68094..640a03f 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -31,6 +31,8 @@ plugins: # Regex string for matching the release name. autoprocess: True # Autoprocess the body for user and issue/pull request links + include_prereleases: False + # Include prereleases enabled: True # Enable or disable the plugin. ``` @@ -50,6 +52,7 @@ markdown github_api_url: release_template: match: '[0-9+].[0-9+].[0-9]+' + include_prereleases: false autoprocess: true ``` diff --git a/src/mkdocs_github_changelog/get_releases.py b/src/mkdocs_github_changelog/get_releases.py index 1ac6f90..a25ad03 100644 --- a/src/mkdocs_github_changelog/get_releases.py +++ b/src/mkdocs_github_changelog/get_releases.py @@ -95,9 +95,14 @@ def github_issue_link(match_obj): return release -def _process_releases(releases, match: str | None = None, autoprocess: bool = True): +def _process_releases(releases, match: str | None = None, autoprocess: bool = True, include_prerelease: bool = False): selected_releases = [] for release in releases: + # Ignore draft releases: + if release.draft: + continue + if release.prelease and not include_prerelease: + continue # Convert the published_at to datetime object if not isinstance(release.published_at, datetime): if sys.version_info.major >= 3 and sys.version_info.minor < 11: @@ -118,7 +123,8 @@ def get_releases_as_markdown( release_template: str | None = RELEASE_TEMPLATE, github_api_url: str | None = None, match: str | None = None, - autoprocess: bool | None = True + autoprocess: bool | None = True, + include_prerelease: bool | None = False ): """Get the releases from github as a list of rendered markdown strings.""" if github_api_url is not None: @@ -130,7 +136,7 @@ def get_releases_as_markdown( releases += page logger.info(f'Processing releases from github, {len(releases)} found') jinja_environment = JINJA_ENVIRONMENT_FACTORY.environment - selected_releases = _process_releases(releases, match=match, autoprocess=autoprocess) + selected_releases = _process_releases(releases, match=match, autoprocess=autoprocess, include_prerelease=include_prerelease) if release_template is None: release_template = RELEASE_TEMPLATE logger.info(f'Rendering releases from github, {len(releases)} selected') diff --git a/src/mkdocs_github_changelog/plugin.py b/src/mkdocs_github_changelog/plugin.py index 53281c8..7405b4d 100644 --- a/src/mkdocs_github_changelog/plugin.py +++ b/src/mkdocs_github_changelog/plugin.py @@ -30,6 +30,8 @@ class PluginConfig(Config): """Regex string for matching the rleease name.""" autoprocess = opt.Type(bool, default=True) """Autoprocess the release bodies for issue and username links.""" + include_prereleases = opt.Type(bool, default=False) + """Include prereleases.""" enabled = opt.Type(bool, default=True) """Enable or disable the plugin."""