feat: write template
This commit is contained in:
commit
a0a6d2cf84
98 files changed
+6609
No files matched your search
@@ -0,0 +1,81 @@
|
||||
#let toVersions(commits: (("2025-11-19", "u80864958", "msg"),), persons: dictionary, final: false) = {
|
||||
let versions = ()
|
||||
for commit in commits.rev() {
|
||||
let v = version(0, 0, 0)
|
||||
let message = str(commit.at(2))
|
||||
if versions.len() > 0 {
|
||||
// versions.at(-1).v
|
||||
v = versions.at(-1).v
|
||||
if message.starts-with("fix") or message.starts-with("chore") {
|
||||
v = version(v.at(0), v.at(1), v.at(2) + 1)
|
||||
} else if message.starts-with("feat") {
|
||||
v = version(v.at(0), v.at(1) + 1, 0)
|
||||
}
|
||||
}
|
||||
if message.contains(":") {
|
||||
message = commit.at(2).split(":").slice(1).flatten().at(0).trim()
|
||||
}
|
||||
versions.push(
|
||||
(
|
||||
date: toml(bytes("date = " + commit.at(0))).date,
|
||||
v: v,
|
||||
author: persons.at(default: persons.at(persons.keys().at(0)), commit.at(1)),
|
||||
topic: message,
|
||||
),
|
||||
)
|
||||
}
|
||||
if final {
|
||||
versions.push(
|
||||
(
|
||||
date: datetime.today(),
|
||||
v: version(1, 0, 0),
|
||||
author: persons.at(persons.keys().at(0)),
|
||||
topic: "Finalisierung",
|
||||
),
|
||||
)
|
||||
}
|
||||
return versions
|
||||
}
|
||||
|
||||
#let parseCurrentVersion(
|
||||
commits: (("2025-11-19", "u80864958", "init"),),
|
||||
persons: (
|
||||
"u80864958": "Niklas Breitenstein",
|
||||
"u80864987": "Johar Naamneh",
|
||||
),
|
||||
final: false,
|
||||
) = {
|
||||
return toVersions(commits: commits, persons: persons, final: final).at(-1).v
|
||||
}
|
||||
|
||||
|
||||
#let versionhistoryTable(
|
||||
commits: (("2025-11-19", "u80864958", "init"),),
|
||||
persons: (
|
||||
"u80864958": "Niklas Breitenstein",
|
||||
"u80864987": "Johar Naamneh",
|
||||
),
|
||||
final: false,
|
||||
) = {
|
||||
let versions = toVersions(commits: commits, persons: persons, final: final)
|
||||
set heading(numbering: none)
|
||||
[= Änderungsverzeichnis]
|
||||
set par(justify: false)
|
||||
|
||||
figure(
|
||||
table(
|
||||
columns: (6em, 6em, 2fr, 2.7fr),
|
||||
table.header([Version], [Datum], [Name], [Themen]),
|
||||
|
||||
..versions
|
||||
.map(v => (
|
||||
[v#v.v],
|
||||
v.date.display("[day].[month].[year]"),
|
||||
v.author,
|
||||
v.topic,
|
||||
))
|
||||
.flatten(),
|
||||
),
|
||||
caption: [Änderungsverzeichnis],
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user