|
| 1 | +[changelog] |
| 2 | +body = """ |
| 3 | +{% for group, commits in commits | group_by(attribute="group") %} |
| 4 | +### {{ group }} |
| 5 | +
|
| 6 | +{% for commit in commits %} |
| 7 | +{%- set title = commit.message | split(pat="\n") | first | trim | split(pat=" (#") | first -%} |
| 8 | +{%- if commit.scope -%} |
| 9 | +{%- set clean_title = title | split(pat="(" ~ commit.scope ~ ")") | last | trim | trim_start_matches(pat=":") | trim -%} |
| 10 | +- [`{{ commit.id | truncate(length=7, end="") }}`](https://github.com/couchbaselabs/obsidian-couchbase-topology/commit/{{ commit.id }}) - **{{ commit.scope }}**: {{ clean_title }}{% if commit.remote.pr_number and commit.remote.username %} *(PR [#{{ commit.remote.pr_number }}](https://github.com/couchbaselabs/obsidian-couchbase-topology/pull/{{ commit.remote.pr_number }}) by [@{{ commit.remote.username }}](https://github.com/{{ commit.remote.username }}))*{% elif commit.remote.username %} *(commit by [@{{ commit.remote.username }}](https://github.com/{{ commit.remote.username }}))*{% elif commit.author.name %} *(commit by {{ commit.author.name }})*{% endif %} |
| 11 | +{% else %} |
| 12 | +{%- set first_token = title | split(pat=" ") | first -%} |
| 13 | +{%- set clean_title = title | replace(from=first_token ~ " ", to="") -%} |
| 14 | +- [`{{ commit.id | truncate(length=7, end="") }}`](https://github.com/couchbaselabs/obsidian-couchbase-topology/commit/{{ commit.id }}) - {{ clean_title }}{% if commit.remote.pr_number and commit.remote.username %} *(PR [#{{ commit.remote.pr_number }}](https://github.com/couchbaselabs/obsidian-couchbase-topology/pull/{{ commit.remote.pr_number }}) by [@{{ commit.remote.username }}](https://github.com/{{ commit.remote.username }}))*{% elif commit.remote.username %} *(commit by [@{{ commit.remote.username }}](https://github.com/{{ commit.remote.username }}))*{% elif commit.author.name %} *(commit by {{ commit.author.name }})*{% endif %} |
| 15 | +{%- endif %} |
| 16 | +{% endfor %} |
| 17 | +{% endfor %} |
| 18 | +""" |
| 19 | + |
| 20 | +trim = true |
| 21 | + |
| 22 | +[git] |
| 23 | +conventional_commits = false |
| 24 | +filter_unconventional = false |
| 25 | +filter_commits = true |
| 26 | +tag_pattern = "[0-9]+\\.[0-9]+\\.[0-9]+" |
| 27 | +sort_commits = "oldest" |
| 28 | +commit_preprocessors = [ |
| 29 | + { pattern = '^(π₯|β¨οΈ|β¨|π|π±|π©|π₯|π|π|βοΈ|π¦|π|ποΈ|π©Ή|π₯
|β‘οΈ|π§΅|ποΈ|π|π|π|π¦Ί|β
|π§ͺ|π€‘|π§|βοΈ|π¨|β»οΈ|π₯|ποΈ|β°οΈ|π©|βͺοΈ|π|βοΈ|π¬|π‘|π|π₯|ποΈ|π¨|π|βΏοΈ|πΈ|π±|π«|π±|πΈ|β¬οΈ|β¬|β¬οΈ|β¬|β|β|π|π½οΈ|π·|π|π§|π¨|π|π¦οΈ|π¦|π§±|π©Ί|π|π|π|πΈ|π§βπ»|π³οΈ|π³|ποΈ|ποΈ|π|π·οΈ|π|π|π|π§|π»)([^\s(])', replace = "$1 $2" }, |
| 30 | + { pattern = ' οΈ', replace = '' }, |
| 31 | + { pattern = '^(\S+\)):\s*', replace = "$1 " }, |
| 32 | + { pattern = '^(\S+) #[0-9]+:\s*', replace = "$1 " }, |
| 33 | +] |
| 34 | + |
| 35 | +commit_parsers = [ |
| 36 | + { message = "^(?:π₯)(?:\\(([^)]+)\\))?", group = "π₯ Breaking Changes", scope = "${1}" }, |
| 37 | + { message = "^(?:β¨οΈ|β¨)\\s+fix\\(([^)]+)\\)", group = "π Bug Fixes", scope = "${1}" }, |
| 38 | + { message = "^(?:β¨|β¨οΈ|π|π±|π©|π₯|π|π|βοΈ|π¦)(?:\\(([^)]+)\\))?", group = "β¨ New Features", scope = "${1}" }, |
| 39 | + { message = "^(?:π|ποΈ|π©Ή|π₯
)(?:\\(([^)]+)\\))?", group = "π Bug Fixes", scope = "${1}" }, |
| 40 | + { message = "^(?:β‘οΈ|π§΅)(?:\\(([^)]+)\\))?", group = "β‘οΈ Performance", scope = "${1}" }, |
| 41 | + { message = "^(?:π|ποΈ|π|π|π¦Ί)(?:\\(([^)]+)\\))?", group = "π Security", scope = "${1}" }, |
| 42 | + { message = "^(?:β
|π§ͺ|π€‘|π§|βοΈ|π¨)(?:\\(([^)]+)\\))?", group = "π§ͺ Tests & Quality", scope = "${1}" }, |
| 43 | + { message = "^(?:β»οΈ|π₯|ποΈ|β°οΈ|π©|βͺοΈ)(?:\\(([^)]+)\\))?", group = "β»οΈ Refactors & Cleanup", scope = "${1}" }, |
| 44 | + { message = "^(?:π|βοΈ|π¬|π‘|π|π₯|ποΈ)(?:\\(([^)]+)\\))?", group = "π Documentation & Content", scope = "${1}" }, |
| 45 | + { message = "^(?:π¨|π|βΏοΈ|πΈ|π±|π«|π±|πΈ)(?:\\(([^)]+)\\))?", group = "π¨ UI/UX & Accessibility", scope = "${1}" }, |
| 46 | + { message = "^(?:β¬|β¬|β¬οΈ|β¬οΈ|β|β|π|π½οΈ)(?:\\(([^)]+)\\))?", group = "π¦ Dependencies", scope = "${1}" }, |
| 47 | + { message = "^(?:π·|π|π§|π¨|π|π¦|π¦οΈ|π§±|π©Ί|π|π|π|πΈ|π§βπ»|π³|π³οΈ)(?:\\(([^)]+)\\))?", group = "π§ Infrastructure & DevOps", scope = "${1}" }, |
| 48 | + { message = "^(?:ποΈ|ποΈ|π|π·οΈ)(?:\\(([^)]+)\\))?", group = "ποΈ Architecture & Data", scope = "${1}" }, |
| 49 | + { message = "^(?:π|π)(?:\\(([^)]+)\\))?", group = "π Logging", scope = "${1}" }, |
| 50 | + { message = "^(?:π)(?:\\(([^)]+)\\))?", group = "π Release & Versioning", scope = "${1}" }, |
| 51 | + { message = "^(?:π§)(?:\\(([^)]+)\\))?", group = "π§ Work In Progress", scope = "${1}" }, |
| 52 | + { message = "^(?:π»)(?:\\(([^)]+)\\))?", group = "π» Miscellaneous", scope = "${1}" }, |
| 53 | + { message = ".*", group = "πΉ Other Changes" }, |
| 54 | +] |
0 commit comments