feat: got it working to create a html page

This commit is contained in:
silver 2024-05-10 00:24:02 +01:00
parent a02b0fb731
commit 527465ab07
Signed by untrusted user: silver
GPG key ID: 54E2C71918E93B74
9 changed files with 568 additions and 20 deletions

1
.gitignore vendored
View file

@ -16,6 +16,7 @@ test.*
# Output of compiling # Output of compiling
/out /out
/build /build
/*/*_build
/target /target
/cmake-build-debug /cmake-build-debug
# for QT, both as single directory and as subfolders # for QT, both as single directory and as subfolders

46
Committee/.md.toml Normal file
View file

@ -0,0 +1,46 @@
# How many spaces of indentation do you want?
# Defaults to 2
# Optional
indentation = 2
# Optional
src = "./_Handovers"
# Optional
dest= "./_Handovers_build"
# 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 = "./_Handovers/_Templates/general.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

@ -1,9 +1,8 @@
# Handover
## Senior System Administrator ## Senior System Administrator
The purpose of this document is to assist the incoming Senior System Administrator for the upcoming year 2024/25. The purpose of this document is to assist the incoming Senior System Administrator for the upcoming year 2024/25.
## Duties ### Duties
- Oversee the Skynet computer cluster. - Oversee the Skynet computer cluster.
- Maintaining existing hardware. - Maintaining existing hardware.
- Sourcing new hardware. - Sourcing new hardware.
@ -22,8 +21,8 @@ The purpose of this document is to assist the incoming Senior System Administrat
* [Nextcloud][1] (Selfhosted Google) * [Nextcloud][1] (Selfhosted Google)
* [VaultWarden][2] (password manager) * [VaultWarden][2] (password manager)
## Guide ### Guide
### Baseline #### Baseline
1. Dont be a dick. 1. Dont be a dick.
2. You are a society committee member, so you have a basic responsibility to look after society members and other committee members and make sure events are a fun and safe environment. 2. You are a society committee member, so you have a basic responsibility to look after society members and other committee members and make sure events are a fun and safe environment.
3. The core goal of the Skynet cluster is to provide services for the society. 3. The core goal of the Skynet cluster is to provide services for the society.
@ -31,8 +30,8 @@ The purpose of this document is to assist the incoming Senior System Administrat
* It also includes training for anyone who wants to get more hands on, both administration/hardware. * It also includes training for anyone who wants to get more hands on, both administration/hardware.
* Its not your fiefdom, everything must improve it for others, even if it takes you out of your comfort zone. * Its not your fiefdom, everything must improve it for others, even if it takes you out of your comfort zone.
### Onboarding #### Onboarding
#### New Committee ##### New Committee
1. Ensure that each committee member has a skynet account 1. Ensure that each committee member has a skynet account
* If they dont then assist them through the process. * If they dont then assist them through the process.
2. Add their chosen usernames to the [nixos][3] under ``committee`` 2. Add their chosen usernames to the [nixos][3] under ``committee``
@ -43,14 +42,14 @@ The purpose of this document is to assist the incoming Senior System Administrat
* They will gain access to the ``Compsoc`` collection of passwords. * They will gain access to the ``Compsoc`` collection of passwords.
5. They will automatically gain access to the ``Compsoc`` folder on [nextcloud][1] 5. They will automatically gain access to the ``Compsoc`` folder on [nextcloud][1]
#### Root team - Trainee ##### Root team - Trainee
1. Ensure that each root member has a skynet account 1. Ensure that each root member has a skynet account
* If they dont then assist them through the process. * If they dont then assist them through the process.
2. Add their chosen usernames to the [nixos][3] under ``trainee`` 2. Add their chosen usernames to the [nixos][3] under ``trainee``
3. They will automatically gain access to the ``Skynet`` folder on [nextcloud][1] 3. They will automatically gain access to the ``Skynet`` folder on [nextcloud][1]
4. Provide training 4. Provide training
#### Root team - Admin ##### Root team - Admin
1. They will already have a skynet account. 1. They will already have a skynet account.
2. Add their chosen usernames to the [nixos][3] under ``admin`` 2. Add their chosen usernames to the [nixos][3] under ``admin``
3. They will automatically gain access to the ``Skynet_Admin`` folder on [nextcloud][1] 3. They will automatically gain access to the ``Skynet_Admin`` folder on [nextcloud][1]
@ -60,34 +59,34 @@ The purpose of this document is to assist the incoming Senior System Administrat
5. Contact ITD to get them added to the VPN. 5. Contact ITD to get them added to the VPN.
6. Provide training 6. Provide training
#### Sr Sysadmin ##### Sr Sysadmin
Need to figure out this process. Need to figure out this process.
My FYP next year will be primarily about this aspect. My FYP next year will be primarily about this aspect.
### Annual Events #### Annual Events
#### Sign up Fair ##### Sign up Fair
{link to event guide/write up} {link to event guide/write up}
#### Renew Domains ##### Renew Domains
We have two domains, both with Blacknight. We have two domains, both with Blacknight.
``skynet.ie`` is sponsored to us. ``skynet.ie`` is sponsored to us.
``ulcompsoc.ie`` we have to pay for, renew for two years but check yearly. ``ulcompsoc.ie`` we have to pay for, renew for two years but check yearly.
#### Inform ITD that servers are up-to-date and patched ##### Inform ITD that servers are up-to-date and patched
Part of the agreement with ITD is to show them every semester that the server are patched and up to date. Part of the agreement with ITD is to show them every semester that the server are patched and up to date.
### Regular Events #### Regular Events
#### Email ##### Email
I generally check all the email accounts for new mail once a day or so. I generally check all the email accounts for new mail once a day or so.
There is a good chunk of spam but we do get a fair few mails from alumni trying to reactivate accounts. There is a good chunk of spam but we do get a fair few mails from alumni trying to reactivate accounts.
#### Reactivate old accounts ##### Reactivate old accounts
Alumni regularly get in contact to re-activate their skynet accounts. Alumni regularly get in contact to re-activate their skynet accounts.
Be polite and respectful when dealing with them. Be polite and respectful when dealing with them.
Much of this process is covered by [renew][5] and [recovery][6] however more documentation needs to be added on how to verify users. Much of this process is covered by [renew][5] and [recovery][6] however more documentation needs to be added on how to verify users.
## Summary ### Summary
This has been mostly a managerial role, involving organisation and mentorship. This has been mostly a managerial role, involving organisation and mentorship.
The role looks really good on a CV/LinkedIn. The role looks really good on a CV/LinkedIn.

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="../_Templates/main.css" rel="stylesheet">
<title>{title}</title>
<meta content="{title} Handover" name="title">
<meta content="{title} Handover" name="author">
<meta content="UL Computer Society" name="description">
<!-- for mobile devices -->
<meta content="width=device-width,initial-scale=1" name="viewport">
</head>
<body class="sticky-wrapper">
<main>
<img src="../_Templates/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/>
{title} Handover
</span>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

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

@ -1,6 +1,72 @@
{ {
"nodes": { "nodes": {
"bfom": {
"inputs": {
"naersk": "naersk",
"nixpkgs": "nixpkgs_2",
"utils": "utils"
},
"locked": {
"lastModified": 1714337293,
"narHash": "sha256-QjAnpRT/LqcjNo/ofoAjylG4VyfWMIIMVc+KuQaJOZQ=",
"owner": "silver_rust",
"repo": "bfom",
"rev": "664e5377329f8052fa7446c312ba29ca1025de4e",
"type": "gitlab"
},
"original": {
"owner": "silver_rust",
"repo": "bfom",
"type": "gitlab"
}
},
"naersk": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713520724,
"narHash": "sha256-CO8MmVDmqZX2FovL75pu5BvwhW+Vugc7Q6ze7Hj8heI=",
"owner": "nix-community",
"repo": "naersk",
"rev": "c5037590290c6c7dae2e42e7da1e247e54ed2d49",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1714091391,
"narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1714091391,
"narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1705856552, "lastModified": 1705856552,
"narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=",
@ -17,8 +83,9 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs", "bfom": "bfom",
"utils": "utils" "nixpkgs": "nixpkgs_3",
"utils": "utils_2"
} }
}, },
"systems": { "systems": {
@ -36,10 +103,43 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",

View file

@ -4,9 +4,10 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs.url = "nixpkgs/nixos-unstable";
utils.url = "github:numtide/flake-utils"; utils.url = "github:numtide/flake-utils";
bfom.url = "gitlab:silver_rust/bfom";
}; };
outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: outputs = { self, nixpkgs, utils, bfom }: utils.lib.eachDefaultSystem (system:
let let
pkgs = import nixpkgs { pkgs = import nixpkgs {
system = "${system}"; system = "${system}";
@ -27,5 +28,18 @@
trap "kill -9 $BG_PID" EXIT trap "kill -9 $BG_PID" EXIT
''; '';
}; };
apps.bfom = {
type = "app";
program = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom";
};
packages.handovers = pkgs.writeShellScriptBin "format_handovers" ''
cd Committee
${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom
'';
}); });
} }