Today’s work was to implement the design for this notes site. After a couple of hours of work, here’s how the site looks:
The design goal is that this feels like looking into my paper notebook and I think I’ve gotten pretty close. The aesthetic feels, to me, fun and approachable and, importantly, not like the final word. It feels like I’m thinking and highlighting and exploring.
This is still quartzalthough I’ve made a bunch of changes. I’ve swapped out many of the built in components like like ArticleTitle
for my variants, NicoleArticleTitle
. I’ve tried to make as few changes to the existing files as possible so that in the future it’s possible for me to stay up to date. It would be very cool if I could configure my own versions of components in quartz.layout.ts
but that doesn’t seem to be possible. Ideally I’d like to be able to say instead of Component.Head
I want to use NicoleHead
but this file seems mostly concerned about position components that are already registered.
One thing I learned is that Quartz makes (great) use of CSS grids. This is probably the right choice when you want multi-column layouts with breaks like the 3-column layout that quartz ships with. However, for me, I just want a single column layout so I made a changes to quartz/components/renderPage.tsx
to change how the body is rendered. Here, again, I wish that quartz gave me a way to register my own template.
When I was doing presentations last month I was really impressed with sli.dev and the way it handles a built in theme but also lets you eject a themeinto a folder so that you can customize it. I would love to see quartz move in that direction.
One thing I’m still thinking about/wondering about is how to add pages that don’t exist by default. I want to add a /search
page since I’ve removed that feature from other pages.
I also wonder about making some of obsidians plugins play nice with publishing. I know in many cases a plugin is really just a text block that’s getting scooped up in obsidian and turned into a component. I wonder about that same thing in quartz.
Another thing I’m thinking about is access controls for notes. This would have to be something that was coordinated between quartz and cloudflare but I’d like to be able to set a folder so that it requires being part of a Github org, for example, so that I can publish notes to related to projects but not have them be public-for-the-world.
The good thing is that everything is settled enough that I shouldn’t have to mess with this more unless I’d like to.