This site is being designed in public. Please excuse placeholder content, broken design, etc.!

Tom Callahan’s Blog

Today I added Sanitze.css as the base CSS. I've been looking for a better "normalize" framework and I think this is the one. Opinionated in the right way, not too purist, etc.

I also spent some time debating using a 10px or 16px base font size. 10px would make the math easier, but 16px means 1em/rem is a more sensible default in a lot of places. I also work pretty easily in eighths so I'm going with 16px.

I researched how I could replicate Vue's SFC component setup in React. There's an obnoxious red "test button" on the main page now that's using this setup. What I settled on is a JS and SCSS file in the same directory, with the SCSS imported using CSS modules. I just don't like the feel of CSS-in-JS. I'll keep looking into it I guess, but it feels like a needless complexity. I already don't love JSX and having to write things like "className" instead of "class" and switching from quotes to braces if I want to use an expression instead of a static string, and CSS-in-JS feels like more of the same. I really prefer Vue's SFC format which combines your code in one file but keeps each language in its native format.

Finally I added next-seo to manage head-based SEO content. Seems a lot easier rolling my own code for that. It's sort of like vue-meta I guess, although more limited in scope to SEO values. I'll need to directly manage non-SEO tags myself through the App component but that's not a big deal, that stuff won't change often and doesn't need to be dynamic on a per-page basis.

Socials