Wherein this old dog learns new tricks

I’m dabbling in building, again. I felt the energy of XOXO for nostalgia of a web of the past, making one’s own thing, and indulging in (socially good) weird whilst doing it.

It’s been a while since I built a Rails app from scratch, and I don’t have a big, ambitious business plan to go with. So a blog seems like a fine place to start. 🙃🤷🏻‍♂️

Vibes and observations follow.

Document-style editing in browsers is a reality

I’m tinkering with ProseMirror as an editor. I’m curious what setting a Very High-Quality bar looks like for an individual developer in late 2024. In short, it seems like document-style editing in web browsers (i.e., not Markdown or hobbled “click-to-style” editors) are close to table stakes for high-quality applications. There are many options out there, it’s probably time to get good (at one of them).

The default for new Rails app is to use import maps for managing JavaScript dependencies. However, ProseMirror’s docs assume you’re using a bundler like esbuild. In particular, ProseMirror wants to import stylesheets into scope via JS imports and not CSS @import. AFAICT, importmap doesn’t gracefully bridge this gap. I’d love to be wrong about this!

I considered using TipTap as a wrapper around ProseMirror. A few things put me off:

  • I’m generally wary of open source and component systems with a pricing page. I want to build, not decipher plan structures. I’m not opposed to the phenomenon entirely, but I would rather not join the vanguard of using it either.
  • I like the idea of going back to less build tooling for JS. But most of these component libraries, TipTap included, are React-centric. I’m not sure how to win here.
  • Some component libraries support React and Vue. My understanding is the latter doesn’t always require a build step. Again, I don’t know how to win here.

Data narratives

I like the idea behind Oaken as an object mother/fixtures replacement. In particular:

  • Telling stories instead of describing isolated data is a winning pitch.
  • Building upon Rails’ idea of seeds and using it for development and testing is worth trying!
  • I don’t have any beefs with FactoryBot, but Oaken imposes less syntax and only a slightly different mental model, which seems like progress.

Kasper is building a track record as a Rails developer with a good sense of taste!

I like class-less CSS frameworks

My CSS skills are “barely good enough”. I’d like to master Tailwind or CSS, in an ideal world. I like that idea better than carefully coding up a UI via Swift, in theory. In practice, I’m the ideal audience/user for mvp.css. Write HTML that mostly makes sense, get on with the building. 🤷🏻‍♂️

Markup

I have forgotten so much about using ERB, Rails form helpers, and HTML together. 🤷🏻‍♂️


That’s it, for now.

Adam Keys @therealadam