|
| 1 | +--- |
| 2 | +title: joelkoch.dev |
| 3 | +layout: JoelKoch.Dev.PageLayout |
| 4 | +image: /images/joelkoch_dev.webp |
| 5 | +summary: Thoughts about the website you're looking at. |
| 6 | +content: true |
| 7 | +on_home: true |
| 8 | +--- |
| 9 | + |
| 10 | +# What is it? |
| 11 | +My personal website, where you can find my resume, ways to contact me, and stuff I've been working on. |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | +# Why did I do it? |
| 16 | +Well, I should have a website, so I have a place where I can write about the things I'm doing. |
| 17 | +Also, it's a place to practice my frontend and design skills, I feel like I should be more proficient in these areas. |
| 18 | + |
| 19 | +# What did I learn? |
| 20 | +I've worked with static site generators before (Hugo and Eleventy). |
| 21 | +When I found out about [Tableau](https://github.com/elixir-tools/tableau), a static site generator written in Elixir, I wanted to create my website with it. |
| 22 | + |
| 23 | +Overall it was a nice experience, although there are some more rough edges in particular in comparison to Eleventy (as you would expect looking at the age, popularity and number of contributors on GitHub). |
| 24 | +One thing I like about using a less popular static site generator, in particular in Elixir, is that the code base is so small, I can just look at the code and figure things out. |
| 25 | +I switched the templating engine to `HEEx` as I was more likely to encounter that at my job than `Temple`. |
| 26 | + |
| 27 | +Then, I went ahead and built the first version using `TailwindCSS`. |
| 28 | +It was alright but I felt like my understanding and approach was lacking. |
| 29 | +I was stacking divs on each other and cluttering everything with styles to make it somehow look like I wanted to. |
| 30 | +At the end, it would have worked because my website is small enough, but I was a bit dissatisfied with my skills. |
| 31 | + |
| 32 | +Inspired by many [Kevin Powell videos](https://youtube.com/@KevinPowell), I wanted to write plain, modern CSS for the second version of the website. |
| 33 | +I even read all [MDN Guides](https://developer.mozilla.org/en-US/docs/Learn) to get a better understanding of HTML, CSS and JavaScript. |
| 34 | + |
| 35 | +I don't want to deal with vendor prefixing or making sure that my CSS works in a browser version from 5 years ago. |
| 36 | +Some time ago, I've read about [Lightning CSS](https://lightningcss.dev/) in a [blog post about tailwindcss 4.0](https://tailwindcss.com/blog/tailwindcss-v4-alpha). |
| 37 | +It takes care of all that, so it felt like a perfect tool to write plain, modern CSS. |
| 38 | + |
| 39 | +I also started digging into how I can enhance my approach to web design and I'm infinitely thankful that I found this talk by Andy Bell. |
| 40 | + |
| 41 | +<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/5uhIiI9Ld5M?si=eKzZ1C5UCn4mkWCs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> |
| 42 | + |
| 43 | +After watching the recording, I found out that I had [cube.fyi](https://cube.fyi) bookmarked a while ago. |
| 44 | +I started learning more about CUBE CSS, found [every-layout.dev](https://every-layout.dev) and [smolcss.dev](https://smolcss.dev) which gave me more insights into how I feel I should work. |
| 45 | + |
| 46 | +I used to consider the layout first when I built websites and tried to create it by stacking divs and flex boxes. |
| 47 | +As a result, I never felt in control, things were shifting around, it was annoying. |
| 48 | + |
| 49 | +Now, I'm starting with structuring the markup in a semantically correct way. |
| 50 | +Then, I create the layout I want with layout composition as shown in [every-layout.dev](https://every-layout.dev). |
| 51 | +I don't need any media breakpoints to build responsive layouts, it feels awesome and I only wrap things in a `div` when I really have to. |
| 52 | + |
| 53 | +I feel like I can still improve a lot in regard of styling, but I think I will tackle that in the future. |
| 54 | + |
| 55 | +To sum it up: |
| 56 | +- I found a working CSS methodology for me ([CUBE CSS](https://cube.fyi)) |
| 57 | +- I should care more about writing semantic HTML |
| 58 | +- I should have a CSS reset, again thank you Andy Bell for [yours](https://piccalil.li/blog/a-more-modern-css-reset/) |
| 59 | +- I finally learned what exactly bundling, minifying, and transpiling means (although I had a rough idea) |
| 60 | +- I found out how to create a [matching color scheme](https://developer.chrome.com/blog/css-relative-color-syntax) |
| 61 | +- I practiced accessibility |
| 62 | + |
| 63 | +Yes, my website is still small, I could have hacked this together and probably would have been faster. |
| 64 | +Nevertheless, it was fun, and I feel in full control over the site now, with a static site generator I understand and a CSS methodology I can finally make sense of. |
0 commit comments