markdown2pdf 0.2.0

Create PDF with Markdown files (a md to pdf transpiler)
Documentation
[changelog]
header = """
# Changelog

All notable changes to this project will be documented in this file.
This file will include each commit message and the commit message will be grouped by
the changelog generator (git-cliff).

---

"""

[changelog.remote]
remote_url = "https://github.com/theiskaa/markdown2pdf"

body = """
{% if version %}\
    {% if previous.version %}\
        ## [{{ version | trim_start_matches(pat="v") }}]\
          ({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
    {% else %}\
        ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
    {% endif %}\
{% else %}\
    ## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
    ### {{ group | striptags | trim | upper_first }}
    {% for commit in commits %}
        - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
            {% if commit.breaking %}[**breaking**] {% endif %}\
            {{ commit.message | upper_first }}\
    {% endfor %}
{% endfor %}\

{%- if github -%}
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
  ## New Contributors
{% endif %}\
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
  * @{{ contributor.username }} made their first contribution
    {%- if contributor.pr_number %} in \
      [#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
    {%- endif %}
{%- endfor -%}
{%- endif %}\n\n
"""

# template for the changelog footer
footer = ""

# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
  { pattern = '<REPO>', replace = "https://github.com/theiskaa/markdown2pdf" },
]
output = "CHANGELOG.md"
render_always = true

[git]
conventional_commits = true
filter_unconventional = true
split_commits = false
commit_preprocessors = [
  # Replace issue numbers
  { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))" },
  { pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
  { message = "^feat", group = "<!-- 0 -->Features" },
  { message = "^fix", group = "<!-- 1 -->Bug Fixes" },
  { message = "^doc", group = "<!-- 3 -->Documentation" },
  { message = "^perf", group = "<!-- 4 -->Performance" },
  { message = "^refactor", group = "<!-- 2 -->Refactor" },
  { message = "^style", group = "<!-- 5 -->Styling" },
  { message = "^test", group = "<!-- 6 -->Testing" },
  { message = "^chore\\(release\\): prepare for", skip = true },
  { message = "^chore\\(deps.*\\)", skip = true },
  { message = "^chore\\(pr\\)", skip = true },
  { message = "^chore\\(pull\\)", skip = true },
  { message = "^chore|^ci", group = "<!-- 7 -->Miscellaneous Tasks" },
  { body = ".*security", group = "<!-- 8 -->Security" },
  { message = "^revert", group = "<!-- 9 -->Revert" },
  { message = ".*", group = "<!-- 10 -->Other" },
]
filter_commits = true
topo_order = true
sort_commits = "newest"