From cf314bc0ec08e1c80af9ee63c6b8f1f9b6c4263c Mon Sep 17 00:00:00 2001 From: vodofrede Date: Sat, 2 Mar 2024 21:18:33 +0100 Subject: [PATCH] fixed layout flow --- src/assets/main.css | 42 +--- src/assets/palmoe.png | Bin 0 -> 4219 bytes src/index.html | 572 +++++++++++++++++++++++------------------- 3 files changed, 330 insertions(+), 284 deletions(-) create mode 100644 src/assets/palmoe.png diff --git a/src/assets/main.css b/src/assets/main.css index 735ae0a..6c8ccb4 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -26,12 +26,6 @@ html { box-sizing: border-box; } -@media (max-width: 1000px) { - html { - font-size: 0.8rem; - } -} - html * { color: var(--font-color); box-sizing: inherit; @@ -46,13 +40,7 @@ body { } body > * { - padding: 0 4%; -} - -@media (min-width: 1000px) { - body > * { - padding: 0 25%; - } + padding: 0 4vw; } header { @@ -61,9 +49,14 @@ header { main { display: flex; - flex-flow: row wrap-reverse; + flex-flow: row; justify-content: space-around; - gap: 2rem; +} + +@media only screen and (max-width: 600px) { + main { + flex-flow: row wrap-reverse + } } article { @@ -113,10 +106,8 @@ h5, h6 { margin-top: 1rem; margin-bottom: 1.2rem; - overflow-wrap: break-word; word-wrap: break-word; - line-height: 1.1; font-weight: bold; } @@ -132,6 +123,7 @@ a { text-decoration: underline solid var(--link-color) 10%; text-underline-offset: 3.8px; } + a:hover { background-color: var(--link-color); color: var(--font-inverted); @@ -157,7 +149,6 @@ table { border-radius: 0.5rem; border-spacing: 0px; overflow: scroll; - background-color: var(--primary); } @@ -214,11 +205,9 @@ meter { box-sizing: border-box; margin: 0; padding: 0em 0.2em 0.1em 0.2em; - background-color: var(--secondary); border: 1px solid var(--border); border-radius: 1px; - font-family: inherit; font-size: 100%; } @@ -233,6 +222,8 @@ button:active { /* custom */ .profile { + width: 70%; + height: auto; margin-bottom: 1rem; border-radius: 10px; } @@ -240,7 +231,6 @@ button:active { .articles { display: flex; flex-flow: column nowrap; - max-width: 70%; } .info { @@ -248,12 +238,4 @@ button:active { display: flex; flex-flow: column nowrap; align-items: center; -} - -.email::after { - content: attr(data-domain); -} - -.email::before { - content: attr(data-user) "\0040"; -} +} \ No newline at end of file diff --git a/src/assets/palmoe.png b/src/assets/palmoe.png new file mode 100644 index 0000000000000000000000000000000000000000..ee42b822e636ff7b4aca78521c54e9eda25b5c9c GIT binary patch literal 4219 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 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index f460e62..ba75595 100644 --- a/src/index.html +++ b/src/index.html @@ -1,259 +1,323 @@ - - - - - Home | Frederik Palmø - - - - - - - - - - - -
-

Frederik Palmø

-
+ + + + + Home | Frederik Palmø + + + + + + + + + + -
-
-

Projekter

-

Projects

+ +
+

Frederik Palmø

+
+
+
+

Projekter

+

Projects

+
+
+ Redskaber til planlægning af spilkarakterer + + projekt + + kildekode + + +

+ Dette projekt gør brug af grundlæggende webteknologier + såsom HTML, CSS og JavaScript. + Formålet var at gøre det nemmere at planlægge en + karakter til spillet Elden Ring. Til + udvindelse af data blev der gjort brug af et + python-script som konverterede data fra spillet + til JSON-format. +

+
+
+ Implementering af hashing-algoritmer + + + projekt + + + kildekode + + + dokumentation + + +

+ Formålet med dette projekt var implementeringen af en + simpel API til at generere + hashbeskeder ud fra vilkårlig inputdata. Projektet er + udformet som en Rust-pakke, og gør + brug af unit-testing for at sikre at outputtet er + korrekt. En del af øvelsen for mig var + også at skrive god dokumentering, så at det var nemt at + komme i gang med at anvende pakken + for en ikke-erfaren bruger. +

+
+
+ Simpel, effektiv parsing + + + projekt + + + kildekode + + + dokumentation + + +

+ Mange opgaver i det årlige + + Advent of Code + + event består af at parse noget data og transfomere det + til en ønsket output. Denne crate + består af en rudimentær parser som kan transformere sit + output til specifikke datatyper. + Dette gør det nemt at parse input med kun ét macro-kald, + hvilket simplificerer mine + opgaveløsninger markant. +

+
+
+ IoT udendørs lyskæde + +

+ Dette projekt omhandlede en løsning til at have udendørs + LED RGB lyskæder til brug i et + udendørs overdækket sofaområde. Projektet gør brug af + billige, ikke-smarte RGB lyskæder samt + en WiFi microcontroller (ESP32) som gør en kontrolflade + tilgængelig over hjemmenetværket + (gennem bl.a. Apple HomeKit og Home-Assistant). Gennem + dette projekt har jeg lært om + IoT-protokoller og programmering af microcontrollere. +

+
+
+ Kloner af Galaga og Breakout + + + kildekode + + +

+ Dette projekt var en del af kurset Softwareudvikling, + som løb i forårssemesteret 2022. I + dette projekt har jeg arbejdet sammen med to andre som + en del af min studiegruppe. Projektet + er udført i C\# og gør brug af mange forskellige + softwareudviklingsprincipper (SOLID, + testing, diagrammering og arkitekturplanlægning). +

+
+
+ Server + +

+ Fra min hjemmeserver leverer jeg alle de hjemmesider som + jeg bruger. Dette involverer brug + af Linux (specifikt Debian) og en god blanding af + prælavede pakker, Docker containers og + selvkompilerede pakker, samt orkestrering med SystemD. + Herfra har jeg god erfaring med hvad + det vil sige at tage et projekt fra en bunke kode til et + leveret produkt på en webadresse. +

+
+
+
+
+ Tools for planning game characters + + project + + source + + +

+ This project makes use of fundamental web technologies + such as HTML, CSS and JavaScript. The + lack of good build planning tools for the game Elden + Ring made me embark on this project, + which consists of simple calculators for characters + statistics, armor efficiency and weapon + damage. Beyond the simple calculations, this project + also entailed extracting the item + values from the game files. This was done using Python, + and the resulting values were + converted to JSON files for ease of use with JavaScript. +

+
+
+ Implementation of hashing algorithms + + + project + + + source + + + docs + + +

+ With this project I wanted to focus on implementing a + simple API that would make it easy to + generate message digests for any data in Rust. I was + dissatisfied with the APIs of existing + packages, and sought reduce the amount of function calls + necessary to get a hash value. + Other focuses of this project were well-written + documentation and testing. +

+
+
+ Simple, efficient parsing library + + + project + + + source + + + docs + + +

+ Many problems in the yearly + Advent of Code + event consist of parsing some data and transforming + afterwards. I wanted to try implementing + my own simple parser, which parses strings using simple + templates and converts the parsing + results to specific data types. This was my first go at + creating a Rust crate, and I focused + on creating an idiomatic API as well as good + documentation so that others might be able to + use the crate. +

+
+
+ Outdoor IoT LED chain lights + +

+ A simple internet of things project consisting of a few + cheap LED chain lights, a power + supply and a WiFi-enabled microcontroller. The project + uses existing technologies (Home + Assistant, WLED) to provide a nice-looking and simple + interface. +

+
+
+ Clones of Galaga and Breakout + + + source + + +

+ As part of the Software Development course at UCPH we + created some small games in C\# using + the provided DIKUGames library. This class taught me + more efficient development patterns for + OOP, as well as how to delegate work in a group + environment in order to maintain development + speed. As part of this project we were taught basic OOP + principles such as SOLID and TDD. +

+
+
+ Private server + +

+ All of my projects are hosted on my private server, + located at my residence. As part of this + project I have learned a lot about server administration + work, web servers, package managers + and container architectures. From this I have adequate + level of experience with the + mentioned technologies. +

+
+
+
+ +
+ + -
-
- Redskaber til planlægning af spilkarakterer - - projekt - - kildekode - - -

- Dette projekt gør brug af grundlæggende webteknologier såsom HTML, CSS og JavaScript. - Formålet var at gøre det nemmere at planlægge en karakter til spillet Elden Ring. Til - udvindelse af data blev der gjort brug af et python-script som konverterede data fra spillet - til JSON-format. -

-
- -
- Implementering af hashing-algoritmer - - - projekt - - - kildekode - - - dokumentation - - -

- Formålet med dette projekt var implementeringen af en simpel API til at generere - hashbeskeder ud fra vilkårlig inputdata. Projektet er udformet som en Rust-pakke, og gør - brug af unit-testing for at sikre at outputtet er korrekt. En del af øvelsen for mig var - også at skrive god dokumentering, så at det var nemt at komme i gang med at anvende pakken - for en ikke-erfaren bruger. -

-
- -
- Simpel, effektiv parsing - - - projekt - - - kildekode - - - dokumentation - - -

- Mange opgaver i det årlige - - Advent of Code - - event består af at parse noget data og transfomere det til en ønsket output. Denne crate - består af en rudimentær parser som kan transformere sit output til specifikke datatyper. - Dette gør det nemt at parse input med kun ét macro-kald, hvilket simplificerer mine - opgaveløsninger markant. -

-
- -
- IoT udendørs lyskæde - -

- Dette projekt omhandlede en løsning til at have udendørs LED RGB lyskæder til brug i et - udendørs overdækket sofaområde. Projektet gør brug af billige, ikke-smarte RGB lyskæder samt - en WiFi microcontroller (ESP32) som gør en kontrolflade tilgængelig over hjemmenetværket - (gennem bl.a. Apple HomeKit og Home-Assistant). Gennem dette projekt har jeg lært om - IoT-protokoller og programmering af microcontrollere. -

-
- -
- Kloner af Galaga og Breakout - - - kildekode - - -

- Dette projekt var en del af kurset Softwareudvikling, som løb i forårssemesteret 2022. I - dette projekt har jeg arbejdet sammen med to andre som en del af min studiegruppe. Projektet - er udført i C\# og gør brug af mange forskellige softwareudviklingsprincipper (SOLID, - testing, diagrammering og arkitekturplanlægning). -

-
- -
- Server - -

- Fra min hjemmeserver leverer jeg alle de hjemmesider som jeg bruger. Dette involverer brug - af Linux (specifikt Debian) og en god blanding af prælavede pakker, Docker containers og - selvkompilerede pakker, samt orkestrering med SystemD. Herfra har jeg god erfaring med hvad - det vil sige at tage et projekt fra en bunke kode til et leveret produkt på en webadresse. -

-
-
- -
-
- Tools for planning game characters - - project - - source - - -

- This project makes use of fundamental web technologies such as HTML, CSS and JavaScript. The - lack of good build planning tools for the game Elden Ring made me embark on this project, - which consists of simple calculators for characters statistics, armor efficiency and weapon - damage. Beyond the simple calculations, this project also entailed extracting the item - values from the game files. This was done using Python, and the resulting values were - converted to JSON files for ease of use with JavaScript. -

-
- -
- Implementation of hashing algorithms - - - project - - - source - - - docs - - -

- With this project I wanted to focus on implementing a simple API that would make it easy to - generate message digests for any data in Rust. I was dissatisfied with the APIs of existing - packages, and sought reduce the amount of function calls necessary to get a hash value. - Other focuses of this project were well-written documentation and testing. -

-
- -
- Simple, efficient parsing library - - - project - - - source - - - docs - - -

- Many problems in the yearly - Advent of Code - event consist of parsing some data and transforming afterwards. I wanted to try implementing - my own simple parser, which parses strings using simple templates and converts the parsing - results to specific data types. This was my first go at creating a Rust crate, and I focused - on creating an idiomatic API as well as good documentation so that others might be able to - use the crate. -

-
- -
- Outdoor IoT LED chain lights - -

- A simple internet of things project consisting of a few cheap LED chain lights, a power - supply and a WiFi-enabled microcontroller. The project uses existing technologies (Home - Assistant, WLED) to provide a nice-looking and simple interface. -

-
- -
- Clones of Galaga and Breakout - - - source - - -

- As part of the Software Development course at UCPH we created some small games in C\# using - the provided DIKUGames library. This class taught me more efficient development patterns for - OOP, as well as how to delegate work in a group environment in order to maintain development - speed. As part of this project we were taught basic OOP principles such as SOLID and TDD. -

-
- -
- Private server - -

- All of my projects are hosted on my private server, located at my residence. As part of this - project I have learned a lot about server administration work, web servers, package managers - and container architectures. From this I have adequate level of experience with the - mentioned technologies. -

-
-
-
- - -
- - - - + \ No newline at end of file