From 2de7befdcdc5fcef925f8b0dcc05611fe56ab22c Mon Sep 17 00:00:00 2001 From: Fripe070 <72686066+Fripe070@users.noreply.github.com> Date: Thu, 4 Jun 2026 16:49:37 +0200 Subject: [PATCH 1/4] Use templates, provide blank starting files and reorganise stuff --- README.md | 2 + meta/blanks/protocol.typ | 57 ++++++++++++++++++++++++ {templates => meta/blanks}/sm.typ | 13 ++---- meta/templates/protocol.typ | 24 ++++++++++ protocols/meeting-00/protocol.typ | 27 +++-------- protocols/meeting-01/protocol.typ | 33 +++----------- protocols/meeting-02/protocol.typ | 31 +++---------- templates/protocol.typ | 74 ------------------------------- 8 files changed, 105 insertions(+), 156 deletions(-) create mode 100644 meta/blanks/protocol.typ rename {templates => meta/blanks}/sm.typ (64%) create mode 100644 meta/templates/protocol.typ delete mode 100644 templates/protocol.typ diff --git a/README.md b/README.md index d1faef8..5d1b1bc 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,5 @@ Namely, it contains: - Reports Everything is, and will always be written, in Typst. All praise be upon our mighty Typst overlords. + +New protocols should be created by copying the relevant template from `meta/blanks/` and filling in the required information. diff --git a/meta/blanks/protocol.typ b/meta/blanks/protocol.typ new file mode 100644 index 0000000..c83c83b --- /dev/null +++ b/meta/blanks/protocol.typ @@ -0,0 +1,57 @@ +#import "../../meta/templates/protocol.typ": protocol, signature + +#show: protocol.with( + "PR#", + datetime(year: 2000, month: 9, day: 12), + "" +) + += Formalia + +== Pull Requestens högtidliga öppnande + +== Val av mötesordförande + +== Val av mötessekreterare + +== Val av två justeringsmän, tillika rösträknare + +== Adjungeringar + +== Pull Requestens behöriga utlysande + +== Anmälan av övriga frågor + +== Godkännande av dagordning + +== Föregående mötesprotokoll + += Rapporter + +== Bootloader + +== Kernel + +== Övriga + += Bordlagda ärenden + += Besluts- och diskussionspunkter + += Övriga frågor + += Slutformalia + +== Nästa Pull Request + +== Pull Requestens avslutande + + +/*#grid( + columns: (1fr, 1fr), + gutter: 1cm, + signature("Ture Teknolog", "Ordförande"), + signature("Ture Teknolog", "Sekreterare"), + signature("Ture Teknolog", "Justerare / Rösträknare"), + signature("Ture Teknolog", "Justerare / Rösträknare") +)*/ diff --git a/templates/sm.typ b/meta/blanks/sm.typ similarity index 64% rename from templates/sm.typ rename to meta/blanks/sm.typ index 6e89d56..42e0abd 100644 --- a/templates/sm.typ +++ b/meta/blanks/sm.typ @@ -1,12 +1,7 @@ -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *Rapport \SM\#\* -]) +#align(center)[ + #figure(image("../../assets/init.svg", width: 14%)) + *Rapport SM\#\* +] = Swedish diff --git a/meta/templates/protocol.typ b/meta/templates/protocol.typ new file mode 100644 index 0000000..f8c5da2 --- /dev/null +++ b/meta/templates/protocol.typ @@ -0,0 +1,24 @@ +#let signature(signee, label) = stack( + spacing: 0.1cm, + signee, + box(line(length: 100%, stroke: 0.8pt)), + label +) + +#let protocol(title, date, location, body) = [ + #metadata(title) + #metadata(date.display("[year]-[month]-[day]")) <date> + #metadata(location) <location> + + #set heading(numbering: "1.") + #set text(font: "IBM Plex Mono", size: 9pt, region: "se", lang: "sv") + + #align(center)[ + #figure(image("../../assets/init.svg", width: 14%)) + *#title* \ + *#date.display()* \ + *#location* + ] + + #body +] diff --git a/protocols/meeting-00/protocol.typ b/protocols/meeting-00/protocol.typ index 58015dd..6f07ee2 100644 --- a/protocols/meeting-00/protocol.typ +++ b/protocols/meeting-00/protocol.typ @@ -1,25 +1,10 @@ -#let today = datetime(year: 2025, month: 11, day: 28) -#set heading(numbering: "1.") -#set text(font: "IBM Plex Mono", size: 9pt) +#import "../../meta/templates/protocol.typ": protocol, signature -#let signature = (signee) => { - box(line(length: 100%, stroke: 0.8pt)) - signee -} - -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *PR\#0* - - *#today.display()* - - *Kistan 2.0* -]) +#show: protocol.with( + "PR#00", + datetime(year: 2025, month: 11, day: 28), + "Kistan 2.0" +) = Formalia diff --git a/protocols/meeting-01/protocol.typ b/protocols/meeting-01/protocol.typ index ea02e33..fbdf653 100644 --- a/protocols/meeting-01/protocol.typ +++ b/protocols/meeting-01/protocol.typ @@ -1,28 +1,10 @@ -#let today = datetime(year: 2026, month: 2, day: 17) -#set heading(numbering: "1.") -#set text(font: "IBM Plex Mono", size: 9pt) - -#let signature(signee, label) = stack( - spacing: 0.1cm, - signee, - box(line(length: 100%, stroke: 0.8pt)), - label -) - - -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *PR\#01* +#import "../../meta/templates/protocol.typ": protocol, signature - *#today.display()* - - *Kistan 2.0* -]) +#show: protocol.with( + "PR#01", + datetime(year: 2026, month: 2, day: 17), + "Kistan 2.0" +) = Formalia @@ -151,9 +133,6 @@ Saffaraj with SMN. Projector would be good. We have a lot of time, but we should == Pull Requestens avslutande Mötes avslutades 19:00 -/* Hacky solution, should probably use pad() or something instead. */ -#linebreak() - #grid( columns: (1fr, 1fr), gutter: 1cm, diff --git a/protocols/meeting-02/protocol.typ b/protocols/meeting-02/protocol.typ index 453a7fe..903c2b9 100644 --- a/protocols/meeting-02/protocol.typ +++ b/protocols/meeting-02/protocol.typ @@ -1,29 +1,11 @@ -#let today = datetime(year: 2026, month: 4, day: 28) -#set heading(numbering: "1.") -#set text(font: "IBM Plex Mono", size: 9pt) - -#let signature(signee, label) = stack( - spacing: 0.1cm, - signee, - box(line(length: 100%, stroke: 0.8pt)), - label -) - -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *ePRstein\#02* +#import "../../meta/templates/protocol.typ": protocol, signature - *#today.display()* - - *V01* -]) +#show: protocol.with( + "ePRstein#02", + datetime(year: 2026, month: 4, day: 28), + "V01" +) -#set text(region: "se", lang: "en") = Formalia == Pull Requestens högtidliga öppnande Pull Requesten öppnades 18:09 @@ -207,7 +189,6 @@ We have talked about setting up Proxmox. It's a big project bet it would be wort Merged 19:59 -#linebreak() #grid( columns: (1fr, 1fr), gutter: 1cm, diff --git a/templates/protocol.typ b/templates/protocol.typ deleted file mode 100644 index 25edcb4..0000000 --- a/templates/protocol.typ +++ /dev/null @@ -1,74 +0,0 @@ -#let today = datetime(year: 0000, month: 0, day: 00) -#set heading(numbering: "1.") -#set text(font: "IBM Plex Mono", size: 9pt) - -#let signature = (signee) => { - box(line(length: 100%, stroke: 0.8pt)) - signee -} - -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *Möte \#X* - - *#today.display()* - - *Kistan 2.0* -]) - -= Formalia - -== Mötets högtidliga öppnande - -== Val av mötesordförande - -== Val av mötessekreterare - -== Val av två justeringsmän, tillika rösträknare - -== Adjungeringar - -== Mötets behöriga utlysande - -== Anmälan av övriga frågor - -== Godkännande av dagordning - -== Föregående mötesprotokoll - -= Rapporter - -== Bootloader - -== Kernel - -== Övriga - -= Bordlagda ärenden - -= Besluts- och diskussionspunkter - -= Övriga frågor - -= Slutformalia - -== Nästa möte - -== Mötets avslutande - -/* Hacky solution, should probably use pad() or something instead. */ -#linebreak() - -#grid( - columns: (1fr, 1fr), - gutter: 1cm, - signature("Ordförande"), - signature("Sekreterare"), - signature("Justerare / Rösträknare"), - signature("Justerare / Rösträknare") -) From f4fe3ee1708f41fe50121b2767c291f6aba1b293 Mon Sep 17 00:00:00 2001 From: Fripe070 <72686066+Fripe070@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:30:33 +0200 Subject: [PATCH 2/4] update import paths to be relative to the project root --- meta/blanks/protocol.typ | 2 +- meta/blanks/sm.typ | 2 +- meta/templates/protocol.typ | 2 +- protocols/meeting-00/protocol.typ | 2 +- protocols/meeting-01/protocol.typ | 2 +- protocols/meeting-02/protocol.typ | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/blanks/protocol.typ b/meta/blanks/protocol.typ index c83c83b..b548f67 100644 --- a/meta/blanks/protocol.typ +++ b/meta/blanks/protocol.typ @@ -1,4 +1,4 @@ -#import "../../meta/templates/protocol.typ": protocol, signature +#import "/meta/templates/protocol.typ": protocol, signature #show: protocol.with( "PR#<NN>", diff --git a/meta/blanks/sm.typ b/meta/blanks/sm.typ index 42e0abd..f76e63c 100644 --- a/meta/blanks/sm.typ +++ b/meta/blanks/sm.typ @@ -1,5 +1,5 @@ #align(center)[ - #figure(image("../../assets/init.svg", width: 14%)) + #figure(image("/assets/init.svg", width: 14%)) *Rapport SM\#\<number\>* ] diff --git a/meta/templates/protocol.typ b/meta/templates/protocol.typ index f8c5da2..7509920 100644 --- a/meta/templates/protocol.typ +++ b/meta/templates/protocol.typ @@ -14,7 +14,7 @@ #set text(font: "IBM Plex Mono", size: 9pt, region: "se", lang: "sv") #align(center)[ - #figure(image("../../assets/init.svg", width: 14%)) + #figure(image("/assets/init.svg", width: 14%)) *#title* \ *#date.display()* \ *#location* diff --git a/protocols/meeting-00/protocol.typ b/protocols/meeting-00/protocol.typ index 6f07ee2..b78ca0a 100644 --- a/protocols/meeting-00/protocol.typ +++ b/protocols/meeting-00/protocol.typ @@ -1,4 +1,4 @@ -#import "../../meta/templates/protocol.typ": protocol, signature +#import "/meta/templates/protocol.typ": protocol, signature #show: protocol.with( "PR#00", diff --git a/protocols/meeting-01/protocol.typ b/protocols/meeting-01/protocol.typ index fbdf653..e058ace 100644 --- a/protocols/meeting-01/protocol.typ +++ b/protocols/meeting-01/protocol.typ @@ -1,4 +1,4 @@ -#import "../../meta/templates/protocol.typ": protocol, signature +#import "/meta/templates/protocol.typ": protocol, signature #show: protocol.with( "PR#01", diff --git a/protocols/meeting-02/protocol.typ b/protocols/meeting-02/protocol.typ index 903c2b9..f14827f 100644 --- a/protocols/meeting-02/protocol.typ +++ b/protocols/meeting-02/protocol.typ @@ -1,4 +1,4 @@ -#import "../../meta/templates/protocol.typ": protocol, signature +#import "/meta/templates/protocol.typ": protocol, signature #show: protocol.with( "ePRstein#02", From 67f7897f85053fccfde1f896cb7fc6c8e02c9192 Mon Sep 17 00:00:00 2001 From: Fripe070 <72686066+Fripe070@users.noreply.github.com> Date: Thu, 4 Jun 2026 18:06:19 +0200 Subject: [PATCH 3/4] Tempaltes for SM reports --- meta/blanks/sm.typ | 10 ++++++---- meta/templates/protocol.typ | 6 +++--- meta/templates/sm.typ | 16 ++++++++++++++++ reports/sm-2026-2/sm.typ | 15 ++++++--------- 4 files changed, 31 insertions(+), 16 deletions(-) create mode 100644 meta/templates/sm.typ diff --git a/meta/blanks/sm.typ b/meta/blanks/sm.typ index f76e63c..60dd3e1 100644 --- a/meta/blanks/sm.typ +++ b/meta/blanks/sm.typ @@ -1,7 +1,9 @@ -#align(center)[ - #figure(image("/assets/init.svg", width: 14%)) - *Rapport SM\#\<number\>* -] +#import "/meta/templates/sm.typ": sm + +#show: sm.with( + 999, + datetime(year: 2000, month: 9, day: 12), +) = Swedish diff --git a/meta/templates/protocol.typ b/meta/templates/protocol.typ index 7509920..6f292e8 100644 --- a/meta/templates/protocol.typ +++ b/meta/templates/protocol.typ @@ -6,13 +6,13 @@ ) #let protocol(title, date, location, body) = [ + #set text(font: "IBM Plex Mono", size: 9pt, region: "se", lang: "sv") + #set heading(numbering: "1.") + #metadata(title) <title> #metadata(date.display("[year]-[month]-[day]")) <date> #metadata(location) <location> - #set heading(numbering: "1.") - #set text(font: "IBM Plex Mono", size: 9pt, region: "se", lang: "sv") - #align(center)[ #figure(image("/assets/init.svg", width: 14%)) *#title* \ diff --git a/meta/templates/sm.typ b/meta/templates/sm.typ new file mode 100644 index 0000000..c6b725e --- /dev/null +++ b/meta/templates/sm.typ @@ -0,0 +1,16 @@ +#let sm(sm-nr, date, body) = [ + #set text(font: "IBM Plex Mono", size: 9pt, region: "se", lang: "sv") + + #let title = "Rapport SM#" + str(sm-nr) + + #metadata(title) <title> + #metadata(date.display("[year]-[month]-[day]")) <date> + + #align(center)[ + #figure(image("/assets/init.svg", width: 14%)) + *#title* \ + *#date.display()* + ] + + #body +] diff --git a/reports/sm-2026-2/sm.typ b/reports/sm-2026-2/sm.typ index f95d6f0..f0bd76f 100644 --- a/reports/sm-2026-2/sm.typ +++ b/reports/sm-2026-2/sm.typ @@ -1,12 +1,9 @@ -#align(left, [ - #figure( - image("/assets/init.svg", width: 14%), - ) -]) - -#align(center, [ - *Rapport \SM\#2* -]) +#import "/meta/templates/sm.typ": sm + +#show: sm.with( + 2, + datetime(year: 2026, month: 3, day: 24), +) = Swedish From 36c4f2411970e18adc382ada7ea12f8cd1bc42a0 Mon Sep 17 00:00:00 2001 From: Fripe070 <72686066+Fripe070@users.noreply.github.com> Date: Fri, 5 Jun 2026 13:17:27 +0200 Subject: [PATCH 4/4] Sign the blank protocol --- meta/blanks/protocol.typ | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/blanks/protocol.typ b/meta/blanks/protocol.typ index b548f67..8016528 100644 --- a/meta/blanks/protocol.typ +++ b/meta/blanks/protocol.typ @@ -47,11 +47,11 @@ == Pull Requestens avslutande -/*#grid( +#grid( columns: (1fr, 1fr), gutter: 1cm, signature("Ture Teknolog", "Ordförande"), signature("Ture Teknolog", "Sekreterare"), signature("Ture Teknolog", "Justerare / Rösträknare"), signature("Ture Teknolog", "Justerare / Rösträknare") -)*/ +)