feat: added script to convert events to PDF

This commit is contained in:
silver 2024-07-02 01:26:39 +01:00
parent 86067ce426
commit e4337e4b48
Signed by: silver
GPG key ID: 54E2C71918E93B74
8 changed files with 556 additions and 2 deletions

View file

@ -19,12 +19,14 @@ pdf:
- nix --extra-experimental-features 'nix-command flakes' run .#handovers
- nix --extra-experimental-features 'nix-command flakes' run .#minutes
- nix --extra-experimental-features 'nix-command flakes' run .#budget
- nix --extra-experimental-features 'nix-command flakes' run .#events
artifacts:
name: "PDFs"
paths:
- pdf_Handovers/
- pdf_Minutes/
- pdf_Budget/
- pdf_Events/
- errors.log
rules:
- if: '$CI_PROJECT_NAMESPACE == "compsoc1/compsoc" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
@ -32,3 +34,4 @@ pdf:
- Committee/**/Handovers/*
- Minutes/**/*
- Committee/**/Budget/*
- Events/**/*

View file

@ -0,0 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 28.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 952.7 841.9" style="enable-background:new 0 0 952.7 841.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:#054E51;}
.st1{fill:#FFFFFF;}
.st2{fill:#032D2D;}
.st3{fill:#007581;}
.st4{fill:#3FA0A5;}
.st5{fill:#333333;}
.st6{display:none;fill:#007581;}
.st7{display:none;fill:#054E51;}
.st8{display:none;fill:#3FA0A5;}
.st9{display:none;fill:#032D2D;}
.st10{font-family:'DrukTrial-Medium';}
.st11{font-size:82.3722px;}
.st12{fill:none;}
</style>
<g id="Layer_6">
</g>
<g id="Layer_5">
<g>
<path class="st0" d="M477.8,794.5c-0.6,0-1.2-0.2-1.7-0.5c0,0-319-184.2-319-184.2c-1.1-0.6-1.8-1.8-1.8-3V238.5
c0-1.1,0.5-2.2,1.5-2.9c0.2-0.1,0.4-0.3,0.6-0.3L476,51.3c0.5-0.3,1.1-0.5,1.8-0.5s1.2,0.2,1.8,0.5l319,184.2
c1.1,0.6,1.7,1.7,1.7,3c0,0.1,0,0.2,0,0.3v368.1c0,1.2-0.7,2.4-1.8,3L479.5,794C479,794.3,478.4,794.5,477.8,794.5z"/>
<path class="st1" d="M477.8,54.3l319,184.2l0,0l0,0v368.3L477.8,791V666.1l210.9-121.7l-0.2-0.1l0.1,0.1L477.8,666.1l0,0l0,0l0,0
v124.8l-319-184.2V238.5l0,0l108.1,62.4v243.5l0,0l0,0l0,0V300.9l0,0l-108.1-62.4L477.8,54.3L477.8,54.3 M688.6,300.9L688.6,300.9
L688.6,300.9L477.8,179.1l0,0L688.6,300.9 M477.8,417.1V266.9l0,0l0,0L477.8,417.1L477.8,417.1 M477.8,47.3L477.8,47.3
c-1.2,0-2.4,0.3-3.5,0.9L155.8,232.1c-0.4,0.2-0.8,0.4-1.1,0.7c-1.9,1.4-3,3.6-2.9,5.9v368.1c0,2.5,1.3,4.8,3.5,6.1l319,184.2
c0,0,0.1,0,0.1,0.1c1.1,0.6,2.2,0.9,3.4,0.9c1.2,0,2.4-0.3,3.5-0.9l319-184.2c2.2-1.3,3.5-3.6,3.5-6.1V238.7c0-0.1,0-0.2,0-0.3
c0-2.5-1.3-4.8-3.5-6l-319-184.2C480.2,47.6,479,47.3,477.8,47.3L477.8,47.3z"/>
</g>
</g>
<g id="Layer_1" shape-rendering="crispEdges">
<g transform="translate(667 -818.42)">
<path class="st2" d="M-507,1055.9v368.3l319,184.2v-124.8l-210.9-121.7v-243.5L-507,1055.9L-507,1055.9z"/>
<path class="st3" d="M131,1055.9l-108.1,62.4v243.5L-188,1483.6v124.8l319-184.2L131,1055.9L131,1055.9z"/>
<path class="st0" d="M-188,871.7l-319,184.2l108.1,62.4l210.9-121.7l210.9,121.7l108.1-62.4L-188,871.7L-188,871.7z"/>
<path class="st2" d="M-188,996.6v87.7l134.9,77.9v155.8l76,43.9v-243.5L-188,996.6z"/>
<path class="st4" d="M-188,996.6l-210.9,121.7v243.5l76-43.9v-155.8l134.9-77.9V996.6L-188,996.6z"/>
<path class="st5" d="M-322.9,1317.9l-76,43.9l210.9,121.7l210.9-121.7l-76-43.9l-134.9,77.9L-322.9,1317.9z"/>
</g>
<polygon class="st2" points="689.9,543.4 479.1,431.3 479.1,192.6 689.9,319.9 "/>
<polygon class="st4" points="479,192.6 268.2,304.7 268.2,543.4 479,416.1 "/>
<polygon class="st0" points="479,665.1 268.1,543.4 479,416.1 689.9,543.4 "/>
</g>
<g id="Layer_2">
<g>
<g>
<path class="st1" d="M546.3,448.2c0,0,14.5,11.4,20.6,20c4.6,6.4,10.6,11,17.2,12.6c0,0-4.8-7.5-7.9-16.9
c-3.6-10.8-10.8-15.6-17.9-19.1c-8.7-4.2-19.2-13.4-19.2-13.4s19.7,12.8,32.6,10.8c0,0-26.5-30.7-64.9-38.8
c0,0,24.6,0.4,29.2,2.3c0,0-13.8-8.8-28-9.6c-14.2-0.8-27.6-1.5-34.9-5.4c0,0,30,3.5,36.5,0c0,0-12.7-2.8-22.3-11.5
c-8.9-8.1-13.7-9.7-25.4-9.2c-9.1,0.4-23-5.8-31.1-10.8c0,0,11.7,1.1,16.9,3.1c5.4,2,14.8,4.9,29.2,0.4
c11.1-3.5,31.9-0.4,41.5,0.4c9.6,0.8,16.5,1.9,17.3-1.5c0.8-3.5,2.3-6.9,3.8-9.2c0,0-25.9,2.2-36.2-0.8
c-10.6-3.1-11.6-6.3-23.3-5.4c0,0-0.9-11.3,6.4-13.6c7.3-2.3,19-3.7,26.6-2.2c7.7,1.5,29.6,2.3,34.6,0.8c5-1.5,8.5-2.7,13.4-20
c0,0-47.2-7.3-53.8-12.7l3.8-1.9c0,0-4.6-11.1-8.8-13.1c-4.2-1.9-18.9-2.2-26.9-4.6c-7.8-2.4-22.3-1.9-25.3-0.4
c0,0-1.9,0.4-1.2-6.1c0.8-6.5-1.1-30.6-4.5-39.1c0,0-6.8,8.3-12,11c0,0,3.8,2,7.3,2.9c-1.4,3.7-3.1,7.4-4.7,10.1
c-4.2,6.8-8.7,13.9-3,39.3c0,0-5.4-8.4-6.9-9.2c-1.5-0.8-19.6,13.1-26.1,23.4c0,0,10.4-3.1,14.6-2.3c0,0-5,2.7-11.1,12.7
c-6.1,10-13.8,19.2-13.8,19.2s20.5-1,24.5-2.1c-3.6,1.3-27,10.1-29.9,27.5c-3.1,18.8-1.9,31.1-1.9,31.1s5-5.8,9.6-5.4
c0,0-8.1,20.7-2.7,32.3c5.4,11.5,9.6,19.6,10,39.2c0,0,5.4-20.7,11.9-25.7c0,0,5,16.1,2.3,27.3c-2.7,11.1-4.2,13.4-7.7,17.7
c0,0,22-11,25.1-22.8c3-11.6,2.2-14.1,4.9-16.8c0,0,12.1,16.1,12.5,26.2c0.3,5.4-1.8,8.4-4.1,11.8c0,0,9.7-2.6,13.4-6.9
c3.5-4.1,4.2-15.4,3.8-21.5c0,0,7,33,20,38.4c0,0-0.6-10.5,4-17.9c3.6-5.8,10.2-12,7.6-22c0,0,6,23.3,11.5,31.1
c3.9,5.6,11.5,13.1,26.1,11.5c0,0-7-9.1-7-15.2c0-5,1.9-11-0.4-17.5c3.8,5.8,9.1,13.4,12.4,15.5c7.4,4.6,21,5.3,24.8,6.4
c3.8,1.2,9,2.4,11.6,5.5C570.9,487.7,558.6,457.8,546.3,448.2z"/>
<path class="st1" d="M473.7,275.7c0,0,1.5-10.9,0.8-16.2c-1.1-7.2-5.2-19.5-6.8-25.3c0,0-2.3,6.8-8.9,11.7c0,0,3.1,1.5,6,1.9
c-2.4,10-6.1,22.7-10.5,27.3C454.3,275.2,468,273.4,473.7,275.7z"/>
<polygon class="st1" points="543.6,340.4 548.2,333.7 542.5,334.2 "/>
<polygon class="st1" points="537.1,338.1 539,334.2 535.6,334.2 "/>
<polygon class="st1" points="532.1,333.9 529,333.9 530.6,336.5 "/>
<polygon class="st1" points="523.3,350.8 521.4,345.1 516.4,350.7 "/>
<polygon class="st1" points="525.6,350.7 529.6,350.8 528.5,347.5 "/>
</g>
<path class="st1" d="M485.6,335.3c0,0,22.3-6.5,39.6,0.6c14.9,6.2,27.7,10,45.3-2.3c0,0-13.8,20.9-31.1,15.9
C522.1,344.5,517.9,334.5,485.6,335.3z"/>
<path class="st1" d="M475.1,303c0,0,15-1.5,21.3,0.6c0,0,0.6,2.3-1.2,4c-1.7,1.7-6.1,3.6-9.2,3.3c-3.1-0.4-9-4.4-10-6.1
C475.1,303,475.1,303,475.1,303z"/>
<path class="st0" d="M499.1,296.1c0.3,7.7-3.3,5.9-14.3,3.8c-11-2-19.7,6.4-19.7,6.4c3.4-1,6.5-1.7,9.4-2.2c1.6,1.2,3.8,3.9,7,6.3
c4.1,3.1,10.5,0.8,13.3-1.3c1.8-1.3,2.4-3.2,2.5-4.3c2.8,0,5-0.9,5.7-3.6C503.7,298.1,499.1,296.1,499.1,296.1z M486.3,309.9
c-5.3,0-9.1-4.7-10-6.1c3.9-0.5,7.2-0.5,10-0.4c0.5,1.1,1.4,3.1,2.5,3.6c1.2,0.6,2.3-1.6,2.3-3.1c2.3,0.3,3.9,0.7,4.9,0.8
C496.3,306.6,492.4,309.9,486.3,309.9z"/>
<path class="st1" d="M479.9,434.3c-5.4-3.1-20.7-5.4-20.7-5.4c4.6-1.2,6.1-4.3,9.2-6.1c2.9-1.7,3.3-2.3,9.4-3.1
c6.1-0.8,12.1,0.4,12.1,0.4c-8.1-6.9-25.5-12.3-31.3-13.6c-7.8-1.8-20.9-3.3-20.9-3.3c5.2-2.3,8.6-2.5,12.7-2.3
c5.6,0.3,11.5,2.3,11.5,2.3c-5.4-8.4-16.5-6.9-22.3-7.7c-3.1-0.4-10.8-3.5-10.8-3.5c17.7,1.5,25.7-6.5,25.7-6.5
c-5,3.5-21.2-2.4-23.9-4.2c-5.1-3.5-5.2-8.5-5.2-8.5c6.5,3.5,15.7,1.2,15.7,1.2c-7.7-1.9-23-19.2-23-19.2
c10.8,2.7,13.4-1.5,13.4-1.5c-14.6-1.9-20.4-11.9-20.4-11.9c7.7-6.1,33.4-4.2,33.4-4.2c-8.8-4.2-19.2-5-26.9-5.4
c-7.7-0.4-10-4.6-10-4.6c2.3-1.9,5.4-1.2,13.4-3.1c8.1-1.9,10.4-8.1,10.4-8.1c-1.9,1.9-4.2,3.1-9.2,3.5
c-3.9,0.3-11.4-4.2-14.4-6.1c-1.6,1.9-3.5,4.3-5.5,7.6c-6.1,10-13.8,19.2-13.8,19.2s22.7-1.2,25-2.3c0,0-27.3,8.8-30.3,27.6
c-3.1,18.8-1.9,31.1-1.9,31.1s5-5.8,9.6-5.4c0,0-8.1,20.7-2.7,32.3c5.4,11.5,9.6,19.6,10,39.2c0,0,5.4-20.7,11.9-25.7
c0,0,5,16.1,2.3,27.3c-2.7,11.1-4.2,13.4-7.7,17.7c0,0,22-11,25.1-22.8c3-11.6,2.2-14.1,4.9-16.8c0,0,12.1,16.1,12.5,26.2
c0.3,5.4-1.8,8.4-4.1,11.8c0,0,9.7-2.6,13.4-6.9c3.1-3.7,4-13,3.9-19.3c0.1-2.4-0.1-4.5-0.1-4.5c7.7,3.8,16.1,29.2,16.1,29.2
c0.6-7.7,0.6-9.4,0-13.4c-0.7-4.9-4.2-13.1-4.2-13.1c4.2,0.4,14.6,5.4,14.6,5.4c-2.3-5.4-20.4-17.3-20.4-17.3
c3.8-0.4,10.4,4.6,21.5,7.7c11.1,3.1,19.6-1.2,19.6-1.2C498.7,448.5,485.3,437.4,479.9,434.3z"/>
<g>
<path class="st1" d="M566.9,468.1c4.6,6.4,10.6,11,17.2,12.6c0,0-4.8-7.5-7.9-16.9c-3.6-10.8-10.8-15.6-17.9-19.1
c-8.7-4.2-19.2-13.4-19.2-13.4s19.7,12.8,32.6,10.8c0,0-26.5-30.7-64.9-38.8c0,0,24.6,0.4,29.2,2.3c0,0-13.8-8.8-28-9.6
c-14.2-0.8-27.6-1.5-34.9-5.4c0,0,30,3.5,36.5,0c0,0-12.7-2.8-22.3-11.5c-3.4-3.1-6.2-5.2-9-6.7c-23.9-0.7-32.3,3.7-30.2,3.4
c2.5-0.4,7.7,0.8,13.6,3.5c6,2.7,20.9,4.8,20.9,4.8c-2.3,4-17.1,7-20.9,6.1c6.7,1.5,8.1,5.6,15.6,6.3c8.1,0.8,15.4,0.6,24.2,7.1
c9.6,7.1,25.7,9.6,25.7,9.6c-6.1,6.5-16.5,0.4-16.5,0.4c1.5,3.8,7.5,9.8,15,15c9.4,6.5,20.4,22.3,20.4,22.3
c-4.6-3.1-15.7-3.8-15.7-3.8c3.8,3.5,8.1,13.8,9.2,16.9c0.7,1.9,3.5,9.8,5.6,15.8c6,1.3,11.9,1.8,14.2,2.5
c3.8,1.2,9,2.4,11.6,5.5c0,0-12.3-30-24.6-39.6C546.3,448.2,560.8,459.6,566.9,468.1z"/>
</g>
<g>
<path class="st0" d="M428.8,386.5h5v25.8c0,2.8-0.2,5.8-2,8.2c-1.8,2.2-4.3,3.3-7.1,3.3c-3,0-5.8-1.3-7.5-3.8
c-1.5-2.3-1.6-5.1-1.6-7.7v-25.8h5v-8.8h-21.4v8.8h5.9v26.9c0,6,1,10.8,5.5,15.2c3.9,3.8,8.8,5.1,14.1,5.1
c5.5,0,10.6-1.5,14.5-5.5c4.1-4.2,5-8.8,5-14.5v-27.2h5.9v-8.8h-21.4V386.5z"/>
<polygon class="st0" points="484.1,416 484.1,423.2 470.9,423.2 470.9,386.5 476.8,386.5 476.8,377.7 454.5,377.7 454.5,386.5
460.5,386.5 460.5,423.8 454.5,423.8 454.5,432.6 494.5,432.6 494.5,416 "/>
</g>
</g>
<circle class="st6" cx="266.2" cy="343.7" r="62.5"/>
<circle class="st7" cx="269.2" cy="479.2" r="62.5"/>
<circle class="st8" cx="264.2" cy="211.2" r="62.5"/>
<circle class="st9" cx="265.8" cy="621.4" r="62.5"/>
</g>
<g id="Layer_3">
<text transform="matrix(1 0 0 1 273.5388 547.7997)" class="st1 st10 st11">COMP SOC</text>
</g>
<g id="Layer_4">
<g>
<path class="st12" d="M160.7,183.8v85.8l8.5,4.7c0.9-5.3,8.1-0.9,8.1,5.6c0,6.3-6.8,3.2-8-2.6l-8.6-4.7v71.6l5.6,3.1l-0.1,11.6
l-5.5-3.1v11.7l5.5,3l-0.1,11.6l-5.4-3v11.7l5.3,3l-0.1,11.7l-5.3-2.9v11.7l5.2,2.9l0,2.8l91.7,51.1l2.5,5.2l0,39.3
c2,1.3,3.9,4.1,3.9,7.5c0,7.1-8.4,2.5-8.3-4.7c0-1.8,0.5-2.8,1.3-3.3l0.1-39.1l-0.5-1.6L165.9,424l0,4.8l-5.2-2.9v11.6l5.1,2.9
l0,4.7l70.1,39.2c2.2-1.9,7.3,2.2,7.3,7.7c0,6.9-8,2.5-8.3-4.2l-69.1-38.6l0,2.9l-5.1-2.8v11.7l5,2.8l0,6.6l83.6,46.8l2.3,5.6
l-0.1,32.8c1.7,1.4,3.2,4,3.2,7c0,7.1-8.4,2.3-8.4-4.7c0-2.8,1.3-3.8,2.9-3.5l0.1-31.4l-1.1-2.3l-82.5-46.3l0,1.1l-4.9-2.8v11.8
l4.9,2.7l0,5.4l36.6,20.5l2.4,5.1l-0.1,40.6c1.9,1.4,3.5,4.1,3.5,7.3c0,7.1-8.3,2.4-8.3-4.7c0-2.6,1.1-3.6,2.5-3.5l0.1-39.5
l-1.1-1.9l-35.5-20l0,2.3l-4.8-2.7v88.4l13.9,7.9c2.3-1.7,7.2,2.3,7.2,7.9c0,7.1-8,2.6-8.3-4.4l-12.8-7.3v85.4h112.9V183.8H160.7z
M166.8,352l46.5,25.8l0.2-52.6c-1.4-1.5-2.6-3.7-2.6-6.3c0-7,8.3-2.5,8.2,4.5c0,3.1-1.6,3.9-3.4,3.3l-0.2,55.4l-2.3-1.3
L166.8,355L166.8,352z M228.9,436.9l-62.4-34.7l0-3l62.9,35c1.9-3,7.7,1.2,7.7,7.1C237.2,448.3,229.1,443.9,228.9,436.9z
M235.6,363.4l-0.1,51.9l-3.1-1.7l-65.8-36.5l0-4l65.7,36.5l0.1-48.3c-1.2-1.4-2.1-3.5-2.1-5.7c0-7,8.3-2.5,8.3,4.6
C238.8,363,237.3,363.9,235.6,363.4z"/>
<polygon class="st1" points="165.5,496.7 160.8,494.1 160.8,490 165.5,492.7 165.5,487.3 160.7,484.6 160.7,496.4 165.5,499.1
"/>
<polygon class="st1" points="165.6,474.5 160.9,471.8 160.9,467.8 165.6,470.4 165.7,463.9 160.7,461.1 160.7,472.8 165.6,475.6
"/>
<polygon class="st1" points="166.2,347.3 160.7,344.2 160.7,355.9 166.2,358.9 "/>
<polygon class="st1" points="165.7,449.2 163.3,447.8 163.3,443.8 165.8,445.2 165.8,440.4 160.7,437.6 160.7,449.3 165.7,452.1
"/>
<polygon class="st1" points="166.1,370.5 160.7,367.5 160.7,379.2 166.1,382.2 "/>
<polygon class="st1" points="165.9,424 163.4,422.6 163.4,418.6 165.9,420 165.9,417.2 160.7,414.2 160.7,426 165.8,428.8 "/>
<polygon class="st1" points="166,393.8 160.7,390.9 160.7,402.5 165.9,405.5 "/>
<path class="st1" d="M169.1,275.4c0-0.4,0-0.8,0.1-1.1l-8.5-4.7v3l8.6,4.7C169.2,276.7,169.1,276.1,169.1,275.4z"/>
<path class="st1" d="M169.3,277.3c1.2,5.8,8,8.9,8,2.6c0-6.5-7.2-10.9-8.1-5.6c-0.1,0.3-0.1,0.7-0.1,1.1
C169.1,276.1,169.2,276.7,169.3,277.3z"/>
<polygon class="st1" points="213.4,377.8 166.8,352 166.8,355 213.4,380.8 "/>
<path class="st1" d="M215.7,382.1l0.2-55.4c-0.8-0.3-1.6-0.8-2.3-1.5l-0.2,52.6l0,3L215.7,382.1z"/>
<polygon class="st1" points="166.7,373.1 166.7,377.1 232.5,413.6 232.5,409.6 "/>
<path class="st1" d="M232.6,361.2l-0.1,48.3l0,4l3.1,1.7l0.1-51.9C234.6,363.1,233.5,362.4,232.6,361.2z"/>
<path class="st1" d="M229.5,434.2l-62.9-35l0,3l62.4,34.7c0-0.1,0-0.1,0-0.2C228.9,435.6,229.2,434.8,229.5,434.2z"/>
<path class="st1" d="M163.4,422.6l2.4,1.4l90.6,50.5l0.5,1.6l-0.1,39.1c0.8-0.5,2-0.3,3.1,0.4l0-39.3l-2.5-5.2L165.9,420l-2.4-1.4
L163.4,422.6z"/>
<path class="st1" d="M163.3,447.8l2.4,1.4l69.1,38.6c0-0.1,0-0.3,0-0.4c0-1.6,0.4-2.6,1-3.1l-70.1-39.2l-2.4-1.4L163.3,447.8z"/>
<path class="st1" d="M160.9,471.8l4.7,2.7l82.5,46.3l1.1,2.3l-0.1,31.4c0.7,0.1,1.6,0.6,2.3,1.2l0.1-32.8l-2.3-5.6l-83.6-46.8
l-4.7-2.7L160.9,471.8z"/>
<path class="st1" d="M160.8,494.1l4.7,2.7l35.5,20l1.1,1.9L202,558c0.7,0,1.5,0.4,2.3,0.9l0.1-40.6l-2.4-5.1l-36.6-20.5l-4.7-2.7
L160.8,494.1z"/>
<path class="st1" d="M215.8,326.7c1.8,0.6,3.4-0.3,3.4-3.3c0-7-8.2-11.5-8.2-4.5c0,2.6,1.1,4.9,2.6,6.3
C214.3,325.9,215.1,326.4,215.8,326.7z"/>
<path class="st1" d="M230.5,355.5c0,2.3,0.9,4.3,2.1,5.7c0.9,1.1,2,1.9,3.1,2.2c1.7,0.4,3.1-0.4,3.2-3.4
C238.8,353,230.5,348.5,230.5,355.5z"/>
<path class="st1" d="M229.5,434.2c-0.4,0.6-0.6,1.4-0.6,2.5c0,0.1,0,0.1,0,0.2c0.1,7,8.3,11.4,8.3,4.4
C237.3,435.4,231.4,431.2,229.5,434.2z"/>
<path class="st1" d="M234.8,487.4c0,0.1,0,0.3,0,0.4c0.3,6.8,8.3,11.1,8.3,4.2c0-5.5-5-9.6-7.3-7.7
C235.2,484.9,234.8,485.9,234.8,487.4z"/>
<path class="st1" d="M256.9,515.2c-0.8,0.4-1.3,1.5-1.3,3.3c0,7.1,8.3,11.8,8.3,4.7c0-3.4-1.9-6.3-3.9-7.5
C258.9,514.9,257.8,514.7,256.9,515.2z"/>
<path class="st1" d="M246.3,558c0,7,8.3,11.8,8.4,4.7c0-3-1.5-5.6-3.2-7c-0.8-0.6-1.6-1.1-2.3-1.2
C247.6,554.2,246.3,555.1,246.3,558z"/>
<path class="st1" d="M199.5,561.5c0,7.1,8.3,11.8,8.3,4.7c0-3.2-1.7-5.9-3.5-7.3c-0.8-0.6-1.6-0.9-2.3-0.9
C200.6,557.9,199.5,559,199.5,561.5z"/>
<path class="st1" d="M173.5,595.8c0-1.6,0.5-2.6,1.1-3.2l-13.9-7.9v4.1l12.8,7.3C173.5,596,173.5,595.9,173.5,595.8z"/>
<path class="st1" d="M173.5,595.8c0,0.1,0,0.2,0,0.3c0.3,7,8.3,11.4,8.3,4.4c0-5.5-4.9-9.6-7.2-7.9
C173.9,593.1,173.5,594.2,173.5,595.8z"/>
</g>
<g>
<path class="st12" d="M588,720.4l4.9-2.9l0-5.3l-51,29.9c0,2.1-1.6,5.1-4.5,6.9c-5.9,3.5-5.9-5.1,0-8.6c1.4-0.8,2.5-1,3.2-0.7
l52.3-30.7l3.4-2l0,8.5l1.6-1l0,6l10-5.8l0-6.1l3.9-2.3l0-17.2l-28.1,16.5c0,2.1-1.5,5.1-4.5,6.9c-6,3.5-6-5.1,0-8.6
c1.9-1.1,3.2-1,3.9-0.3l28.8-16.9l3.4-2l0,19.6l2.7-1.6l0,6.2l10-5.8l0-6.3l2.8-1.7l0.1-31.5l-24.9,14.6l-3.4,2l0.1-37.2
c-5.5,2.8-5.4-5.4,0.5-8.8c4.7-2.8,5.7,2,3,5.8l-0.1,38.1l0-2.4l24.9-14.6l2.6-1.5l-0.1,33.9l4.6-2.7l0,6.4l9.9-5.7l0-6.5l4.5-2.6
l0.1-52c-0.2,0.1-0.3,0.2-0.5,0.3c-5.9,3.5-5.9-5.1,0-8.6c4.7-2.8,5.7,1.9,3.1,5.7l-0.1,53.1l2.9-1.7l0,6.6l10-5.8l0-6.7l2.6-1.5
l0.1-99.5c-5.5,2.7-5.3-5.4,0.5-8.8c4.8-2.8,5.7,2,2.9,5.9l-0.1,100.4l4-2.3l0,6.8l10-5.8l0-6.9l4.1-2.4l0.1-74.3h0l0-2.4l3.4-2v0
l34.3-20.2l0-18.6c-5,2.1-4.7-5.7,0.9-9c5.4-3.2,5.9,3.4,1.6,7.3l0,21.1l-2.6,1.5l0,0l-34.3,20.2l-0.1,74.3l2.4-1.4l0,7l10-5.8
l0-7.1l6.5-3.8l0-42.6l0-3.2l2.6-1.5l46.4-27.3c0.7-1.6,2-3.2,3.9-4.3c6-3.5,6,5,0,8.6c-2.6,1.5-4.1,0.8-4.4-0.8l-45.9,26.9
l0,42.6l0.9-0.5l0,7.2l105.7-61l-50.4-87.3l-325,187.6l50.4,87.3l89.8-51.8L588,720.4z"/>
<polygon class="st1" points="596.3,715.5 596.3,715.7 592.9,717.7 592.9,717.5 588,720.4 587.9,726.3 597.9,720.5 597.9,714.5
"/>
<polygon class="st1" points="654.7,681.2 654.7,681.4 652.1,682.9 652.1,682.7 647.7,685.3 647.6,691.8 657.6,686 657.6,679.5
"/>
<polygon class="st1" points="633.2,693.8 633.2,694 630.7,695.5 630.7,695.3 627.8,697 627.8,703.2 637.8,697.5 637.8,691.1 "/>
<polygon class="st1" points="615.2,704.4 615.2,704.6 611.8,706.6 611.8,706.4 607.9,708.7 607.9,714.7 617.8,709 617.9,702.8
"/>
<polygon class="st1" points="695.1,657.5 695.1,657.7 691.6,659.7 691.6,659.5 687.5,661.9 687.5,668.8 697.5,663 697.5,656.1
"/>
<polygon class="st1" points="673.6,670.1 673.6,670.3 670.2,672.3 670.2,672.1 667.6,673.6 667.6,680.3 677.5,674.5 677.6,667.8
"/>
<polygon class="st1" points="716.6,644.9 716.6,645.1 714,646.6 714,646.4 707.4,650.2 707.4,657.3 717.4,651.5 717.4,644.3 "/>
<polygon class="st1" points="716.6,645.1 716.6,644.9 716.6,602.2 714,603.8 714,646.4 714,646.6 "/>
<path class="st1" d="M762.5,575.3c-0.2-1,0-2.2,0.5-3.5l-46.4,27.3l-2.6,1.5l0,3.2l2.6-1.5L762.5,575.3z"/>
<path class="st1" d="M762.5,575.3c0.4,1.6,1.8,2.3,4.4,0.8c6-3.5,6-12.1,0-8.6c-1.9,1.1-3.2,2.7-3.9,4.3
C762.4,573.1,762.2,574.3,762.5,575.3z"/>
<polygon class="st1" points="695.2,580.8 691.7,582.8 695.2,580.8 "/>
<polygon class="st1" points="695.1,657.7 695.1,657.5 695.2,583.1 691.7,585.2 691.6,659.5 691.6,659.7 "/>
<polygon class="st1" points="729.5,563 729.5,560.6 695.2,580.8 691.7,582.8 691.7,585.2 691.7,585.2 695.2,583.1 "/>
<path class="st1" d="M729.5,563l2.6-1.5l0-21.1c-0.5,0.4-1,0.8-1.6,1.2c-0.3,0.2-0.6,0.3-0.9,0.5l0,18.6L729.5,563L729.5,563z"/>
<path class="st1" d="M732,540.3c4.3-3.9,3.8-10.5-1.6-7.3c-5.7,3.3-6,11.1-0.9,9c0.3-0.1,0.6-0.3,0.9-0.5
C731,541.2,731.6,540.8,732,540.3z"/>
<path class="st1" d="M673.6,670.3l0-0.2l0.1-100.4c-0.7,1-1.7,1.9-2.9,2.6c-0.2,0.1-0.3,0.2-0.5,0.3l-0.1,99.5l0,0.2L673.6,670.3z
"/>
<path class="st1" d="M654.7,681.4l0-0.2l0.1-53.1c-0.6,0.9-1.5,1.8-2.6,2.5l-0.1,52l0,0.2L654.7,681.4z"/>
<polygon class="st1" points="633.2,694 633.2,693.8 633.3,659.9 630.7,661.4 630.7,663.8 630.7,663.8 630.7,695.3 630.7,695.5
"/>
<polygon class="st1" points="630.7,661.4 605.8,676 605.8,678.4 630.7,663.8 630.7,663.8 "/>
<path class="st1" d="M602.9,643c-0.1,0.1-0.3,0.2-0.4,0.2l-0.1,37.2l3.4-2l0.1-38.1C605.2,641.3,604.2,642.3,602.9,643z"/>
<polygon class="st1" points="615.2,704.6 615.2,704.4 615.2,684.8 611.8,686.8 611.8,689.2 611.8,706.4 611.8,706.6 "/>
<path class="st1" d="M583,703.7c0.4,0.5,0.6,1.2,0.6,2l28.1-16.5l0-2.4L583,703.7z"/>
<polygon class="st1" points="596.3,715.7 596.3,715.5 596.3,707 592.9,709 592.9,712.2 592.9,717.5 592.9,717.7 "/>
<path class="st1" d="M540.6,739.7c0.9,0.3,1.3,1.2,1.3,2.4l51-29.9l0-3.2L540.6,739.7z"/>
<path class="st1" d="M540.6,739.7c-0.7-0.3-1.8-0.1-3.2,0.7c-5.9,3.5-6,12.1,0,8.6c3-1.7,4.5-4.7,4.5-6.9
C541.9,740.9,541.5,740,540.6,739.7z"/>
<path class="st1" d="M579.2,704c-6,3.5-6,12.1,0,8.6c3-1.7,4.5-4.7,4.5-6.9c0-0.8-0.2-1.6-0.6-2
C582.3,702.9,581.1,702.9,579.2,704z"/>
<path class="st1" d="M605.9,640.3c2.7-3.9,1.8-8.6-3-5.8c-5.9,3.4-5.9,11.6-0.5,8.8c0.1-0.1,0.3-0.1,0.4-0.2
C604.2,642.3,605.2,641.3,605.9,640.3z"/>
<path class="st1" d="M654.8,628.1c2.6-3.8,1.6-8.4-3.1-5.7c-5.9,3.5-5.9,12,0,8.6c0.2-0.1,0.3-0.2,0.5-0.3
C653.3,629.9,654.2,629.1,654.8,628.1z"/>
<path class="st1" d="M673.7,569.7c2.8-3.9,1.9-8.7-2.9-5.9c-5.8,3.4-6,11.6-0.5,8.8c0.2-0.1,0.3-0.2,0.5-0.3
C672,571.6,673,570.7,673.7,569.7z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="./main.css" rel="stylesheet">
<title>Event - {title}</title>
<meta content="{title} Committee Minutes" name="title">
<meta content="UL Computer Society" name="author">
<meta content="UL Computer Society Committee Minutes" name="description">
<!-- for mobile devices -->
<meta content="width=device-width,initial-scale=1" name="viewport">
</head>
<body class="sticky-wrapper">
<main>
<img src="./Logo_2024.svg" alt="Computer Society Logo" width="200" height="200" id="logo"/>
<h1>University of Limerick Computer Society</h1>
<!--indentation is managed by the converter-->
{body}
</main>
<footer>
<!-- Spreads it out longways-->
<span>
© 1994-<span id="year">2024</span> | <wbr/>
UL Computer Society | <wbr/>
Event - {title}
</span>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

120
Events/_Templates/main.css Normal file
View file

@ -0,0 +1,120 @@
/* Basic stuff */
body {
max-width: 100ch;
margin: 0 auto;
padding: 8px;
line-height: 1.2;
}
/* To make sure the header text is always bigger than a normal h1*/
header h1 {
font-size: 300%;
}
/* get these to play nicely with teh max width */
header, main, footer, img{
max-width: 100ch;
}
a:link{
color:#5bf
}
a:visited{
color:#5bf
}
table {
border-collapse: collapse;
}
td, th {
border: 1px solid #999;
padding: 0.5rem;
text-align: left;
}
li p {
margin-block-start: 0;
margin-block-end: 0;
}
p code {
background-color: rgba(173, 173, 173, 0.26);
border-radius: 0.3em;
padding: 4px 5px 6px;
}
pre {
max-width: 95vw;
display: block;
overflow: auto;
}
/* navbar */
.links ul, .breadcrumb ul {
list-style-type: none;
display: flex;
padding-left: 0;
}
/* sticky footer */
main {
min-height: calc(95vh - 150px);
}
footer {
min-height: 50px;
}
/* spoilers
using https://starbeamrainbowlabs.com/blog/article.php?article=posts%2F415-pure-css-spoiler.html
as a base then using it for on hover instead of target.
Seems to work well enough for mobile as well
*/
.md-spoiler {
background: #333333;
border-radius: 0.2em;
color: transparent;
}
/* hover is for desktop, active for mobile*/
.md-spoiler:hover, .md-spoiler:active {
background: transparent;
color: inherit;
}
/* every page gets a scrollbar to stop it shifting around */
html {
overflow-y: scroll;
}
label, input, select {
display: table-cell;
margin-bottom: 10px;
}
/* Make hidden great again */
[hidden] {
display: none !important;
}
/* Specific to handovers */
h1 {
color: #087581;
}
h2 {
color: white;
background: #087581;
}
/*h3 {*/
/* background: #B8F4FA;*/
/*}*/
#logo {
background: white;
float: right;
margin: 0 0 0 1px;
}

View file

@ -19,8 +19,14 @@ Latest Minutes are available here:
* [Download][0]
* [Browse][2]
### Events
Latest Events are available here:
* [Download][0]
* [Browse][3]
These can be generated with ``nix run .#minutes``
[0]: https://gitlab.skynet.ie/api/v4/projects/57/jobs/artifacts/main/download?job=pdf
[1]: https://gitlab.skynet.ie/compsoc1/compsoc/open-goverance/-/jobs/artifacts/main/browse/pdf_Handovers?job=pdf
[2]: https://gitlab.skynet.ie/compsoc1/compsoc/open-goverance/-/jobs/artifacts/main/browse/pdf_Minutes?job=pdf
[3]: https://gitlab.skynet.ie/compsoc1/compsoc/open-goverance/-/jobs/artifacts/main/browse/pdf_Events?job=pdf

102
_scripts/format_events.sh Normal file
View file

@ -0,0 +1,102 @@
#!/usr/bin/env bash
root="$PWD"
folder="Events"
folder_html="html_${folder}"
folder_pdf="pdf_${folder}"
function build_html() {
# used to match **
shopt -s globstar
# cleanup the last run (if there was one)
rm -rf "$folder_html"
mkdir "$folder_html"
cd $folder
root_html="$PWD"
# loop through each year worth of data
# the globbing is to only get ones that have a handover folder
for year in **/; do
# skip symlinks
[ -L "''${year%/}" ] && continue
# copy in teh config for this folder
cp "../_scripts/md_toml/_${folder}.md.toml" ./.md.toml
year_string=$(echo "$year" | cut -f1 -d"/")
sed -i -e "s/AAAAAAA/$year_string/" ./.md.toml
# convert teh handovers
cargo-bfom
# copy in teh relevent files
cp -R _Templates/* "./${folder}_html"
# no need to have the template in the output
rm -f ./${folder}_html/_template.md
rm -f ./${folder}_html/event.html
rm -f .md.toml
# make the final folder
mkdir -p "$root/$folder_html/$year_string"
# copy everything to teh final folder
cp -R ./${folder}_html/* "$root/$folder_html/$year_string"
# remove teh temp folder
rm -rf "./${folder}_html"
# return to root
cd "$root_html"
done
# undo the globbing
shopt -u globstar
# back to root
cd $root
}
function build_pdf() {
# used to match **
shopt -s globstar
# wipe and reset past runs
rm -rf "$folder_pdf"
mkdir "$folder_pdf"
cd "$folder_html"
for file in **/*.html; do
# only deal with files
if [ -f "$file" ]; then
# .html => .pdf
output="../$folder_pdf/${file/.html/".pdf"}"
echo $output
# have someplace for it to go
mkdir -p $(dirname $output)
wkhtmltopdf -q --enable-local-file-access --no-stop-slow-scripts "$file" "$output" 2>>../errors.log &
fi
done
shopt -u globstar
cd $root
# wait for background tasks to complete
wait $(jobs -p)
}
if [[ $1 == "html" ]]; then
build_html
else
build_html
build_pdf
fi

View file

@ -0,0 +1,46 @@
# How many spaces of indentation do you want?
# Defaults to 2
# Optional
indentation = 2
# Optional
src = "./AAAAAAA"
# Optional
dest= "./Events_html"
# html blocks you dont want to include in teh finished page
# Optional
html_void = []
[template]
# Templates are hjtml files that teh generated markdown is insereted into.
# There are several options on how this is carried out.
# enable templating
# Optional
enable = true
# Set a base template
# Optional
general = "./_Templates/event.html"
# Priority of the _templates to use, first one to match a markdown file is used.
# An Empty array below is also valid
# general: use the general file specified above, if it exists.
# ajacent: check if there is a template file with the same name as the markdown file ajacent to the markdown file.
# ./src/exasmple.md
# ./src/example.html
# folder: a html file with the same name of the folder that the md resides in.
# ./src/blog/blog.html
# ./src/blog/post1.md
# default: use an inbuilt html5 template
# Optional
order = ["ajacent", "general", "folder", "default"]

View file

@ -74,6 +74,15 @@
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_budget.sh} html
'';
events = pkgs.writeShellScriptBin "format_events" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_events.sh}
'';
events_html = pkgs.writeShellScriptBin "format_events_html" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_events.sh} html
'';
};
});
}