mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-07-05 10:54:12 +02:00
3c8ba1b1ca
Add a hand-written "Version 0.101 (Unreleased)" section covering the headless CLI export mode, PDF hyperlink cross-references, diagram duplication, the Windows MSI versioning fix, the macOS file-open regression fix, and expanded Korean translation support. Add git-cliff config for changelog generation Add cliff.toml, configured to group commits by keyword (fix/feat/ refactor/etc. in FR+EN) since the project history doesn't follow Conventional Commits. Handles QET's tag format (X.Y / X.Y.Z, no v prefix), excludes the floating "nightly" tag, dedupes repeated commit messages per release, and truncates commit bodies to their summary line to keep the generated changelog valid Markdown. Usage: export GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx git-cliff --config cliff.toml <last_tag>..HEAD --prepend ChangeLog.md.
64 lines
2.1 KiB
TOML
64 lines
2.1 KiB
TOML
# Configuration for git-cliff, tuned to mimic github_changelog_generator's output style
|
|
# Doc: https://git-cliff.org/docs/configuration
|
|
|
|
[changelog]
|
|
header = """
|
|
# Changelog\n
|
|
All notable changes to QElectroTech are documented here.\n
|
|
"""
|
|
|
|
# Format proche de github_changelog_generator : titre de version avec lien de comparaison + date
|
|
body = """
|
|
{% if version %}\
|
|
## [{{ version }}]\
|
|
{%- if previous.version %}({{ previous.version }}...{{ version }}){% endif %} \
|
|
- {{ timestamp | date(format="%Y-%m-%d") }}
|
|
{% else %}\
|
|
## [Unreleased]
|
|
{% endif %}\
|
|
{% for group, commits in commits | group_by(attribute="group") %}
|
|
### {{ group | upper_first }}
|
|
{% for commit in commits | unique(attribute="message") %}
|
|
- {{ commit.message | trim | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}](../../commit/{{ commit.id }}))\
|
|
{% endfor %}
|
|
{% endfor %}\n
|
|
"""
|
|
|
|
footer = ""
|
|
trim = true
|
|
|
|
[git]
|
|
conventional_commits = false
|
|
filter_unconventional = false
|
|
split_commits = false
|
|
protect_breaking_commits = false
|
|
filter_commits = false
|
|
tag_pattern = "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$"
|
|
skip_tags = "nightly"
|
|
ignore_tags = "nightly"
|
|
topo_order = false
|
|
sort_commits = "newest"
|
|
|
|
# Ne garder que la première ligne du message (résumé), le corps détaillé
|
|
# est retiré ici plutôt qu'au moment de l'affichage, pour que la
|
|
# déduplication par message fonctionne correctement.
|
|
commit_preprocessors = [
|
|
{ pattern = "(?s)\n.*", replace = "" },
|
|
]
|
|
|
|
# Groupement par mots-clés (FR + EN), puisque l'historique QET
|
|
# ne suit pas Conventional Commits strictement.
|
|
commit_parsers = [
|
|
{ message = "^[Mm]erge", skip = true },
|
|
{ message = "^(?i)(fix|corrig|répar|bug)", group = "🐛 Bug Fixes" },
|
|
{ message = "^(?i)(feat|ajout|add|nouvelle|nouveau)", group = "🚀 Features" },
|
|
{ message = "^(?i)(doc|traduc|translation)", group = "📝 Documentation" },
|
|
{ message = "^(?i)(refactor|clean|nettoy|optimi)", group = "♻️ Refactoring / Cleanup" },
|
|
{ message = "^(?i)(element|librairie|library)", group = "📦 Elements / Libraries" },
|
|
{ message = ".*", group = "🔧 Other Changes" },
|
|
]
|
|
|
|
[remote.github]
|
|
owner = "qelectrotech"
|
|
repo = "qelectrotech-source-mirror"
|