diff --git a/README.md b/README.md index a63498c..affb64d 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# CV / Projektside - palmoe.dk +# palmoe.dk + +Page is located at [palmoe.dk](https://palmoe.dk) diff --git a/src/assets/main.css b/src/assets/main.css index 3c1a27d..735ae0a 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -26,7 +26,7 @@ html { box-sizing: border-box; } -@media (max-width: 899px) { +@media (max-width: 1000px) { html { font-size: 0.8rem; } @@ -46,12 +46,12 @@ body { } body > * { - padding: 0 2%; + padding: 0 4%; } -@media (min-width: 900px) { +@media (min-width: 1000px) { body > * { - padding: 0 15%; + padding: 0 25%; } } @@ -61,15 +61,21 @@ header { main { display: flex; - flex-direction: column; - margin-bottom: 5rem; + flex-flow: row wrap-reverse; + justify-content: space-around; + gap: 2rem; } -footer { +article { display: flex; + flex-flow: row wrap; justify-content: space-between; +} - margin-top: auto; +article > * { + min-width: 15%; + max-width: 100%; + flex-grow: 1; } hr { @@ -78,22 +84,16 @@ hr { margin-bottom: 0.3rem; } -span { - display: flex; - flex-flow: row nowrap; - justify-content: center; - align-items: center; - gap: 0.5rem; -} - -nav { +nav, +footer { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; } -nav div { +nav > *, +footer > * { display: flex; flex-flow: row nowrap; justify-content: space-between; @@ -101,6 +101,10 @@ nav div { gap: 1rem; } +footer { + margin-top: auto; +} + h1, h2, h3, @@ -180,30 +184,76 @@ tbody { padding: 0; } +dl { + display: grid; + grid-template-columns: auto 1fr; + grid-gap: 0.2rem 1rem; +} + +dt { + font-size: 0.9rem; + font-weight: bold; +} + +dd { + font-size: 0.9rem; +} + label { display: inline-block; user-select: none; text-align: right; } -input { - width: auto; - color: black; +button, +label, +input, +select, +progress, +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%; } -select { - background-color: white; - border: 1px solid #777; - padding: 0.25em; - width: 100%; - color: black; -} - -select option { - overflow: hidden; - color: black; +button:active { + background-color: var(--link-color); } [hidden] { display: none; } + +/* custom */ +.profile { + margin-bottom: 1rem; + border-radius: 10px; +} + +.articles { + display: flex; + flex-flow: column nowrap; + max-width: 70%; +} + +.info { + min-width: 25%; + display: flex; + flex-flow: column nowrap; + align-items: center; +} + +.email::after { + content: attr(data-domain); +} + +.email::before { + content: attr(data-user) "\0040"; +} diff --git a/src/assets/profile.png b/src/assets/profile.png new file mode 100644 index 0000000..83a3329 Binary files /dev/null and b/src/assets/profile.png differ diff --git a/src/index.html b/src/index.html index 3ee0f38..7603be7 100644 --- a/src/index.html +++ b/src/index.html @@ -17,53 +17,219 @@ - - -
+
+

Frederik Palmø

+
-

main content goes here

+
+

Projekter

+

Projects

+ +
+
+ Redskaber til planlægning af spilkarater + + 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 charaters + + project + source + +

+ This project makes use of fundamental web technologies such as HTML, CSS and JavaScript. The + lack of good buld 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 IoT 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. +

+
+
+
+ +
diff --git a/src/projects.html b/src/projects.html deleted file mode 100644 index de3a88c..0000000 --- a/src/projects.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - Projects | Frederik Palmø - - - - - - - - - - - - - - -
-

Projects

-

Projekter

-
- -
-

main content goes here

-
- - - - diff --git a/src/robots.txt b/src/robots.txt new file mode 100644 index 0000000..f6e6d1d --- /dev/null +++ b/src/robots.txt @@ -0,0 +1,2 @@ +User-Agent: * +Allow: / diff --git a/src/sitemap.xml b/src/sitemap.xml new file mode 100644 index 0000000..c151a82 --- /dev/null +++ b/src/sitemap.xml @@ -0,0 +1,7 @@ + + + + http://palmoe.dk/ + 2022-18-11 + + \ No newline at end of file