Earlier this year I started working on a new version of present-me.
After shipping the first version, it was time to test it out. I convinced some very patient folks on my team to give it a shot for some large PRs and we hit some roadblocks... quickly.
- The diffs were actually wrong
- It was easy to fully break the page/UI
- The post presentation format wasn't useful in practice
There were unrelated things that I wanted to change (a full frontend rewrite) and try (nuxt with a go backend) that got me much further along into being able to actually fix the issues laid out above.
This is a full rewrite!
What used to be a static website is now a SPA using Nuxt. This may change in the future, but I wanted to write components in a component friendly framework. Also, I wanted a frontend framework.
For styling, now using tailwindcss for utilities.
Diff and syntax highlighting is now using prismjs on the client. It used to be goldmark rendering on the server. Prism has a syntax highlihting package that can do diffs + syntax highlighting so you get richer formatting.
Diff rendering now matches what GitHub does for their PRs instead of rendering the full
diff_hunkthat the API returns.
Now using a components to render the UI instead of plain markdown formatting. This fixed a pretty eggregious issue where if you had a diff embedded in your diff the markdown would break in spectacular ways.
New bespoke slides (
v0really). Raw markdown formatting currently removed. Not sure if it needs to exist at all.
The website is minimally responsive. And the design is more familiar to what gh does.