Benjamin Lu

everyday is cool

Introducing Novaris: An Early Look

I’ve been working on a project called Novaris, a flat-file CMS and framework for building websites with PHP and Markdown. It’s still early in development, but I wanted to introduce it here because it’s already part of how I build this site.

My background is in making themes and working with WordPress and ClassicPress. I enjoy that work, and it has given me plenty to think about when it comes to content, templates, and the steps between writing a post and publishing it. Novaris gives me a place to explore those ideas in a project of my own.

Starting with files

The part I keep coming back to is having the content in files I can open in an editor. A post has a title, a date, and its Markdown text together in one place. I can keep it in Git, look at what changed, and move it with the rest of the site.

For a personal blog like this one, that feels like a comfortable way to work. I can write a few paragraphs, check the preview, and keep going. The templates handle how the post looks, while the content stays readable on its own.

Building it through this site

I’m using Novaris on benjlu.com, which gives me real content to work with as I develop it. A dated archive, a long tutorial, and a short poem all ask slightly different things of a theme. Having them here helps me see where the framework makes the work easier and where I still need to improve it.

The static export is another part I’m working with. It lets me turn the site into generated files that I can deploy. That gives me a reason to check the whole path from a Markdown post to the page a visitor opens, including its links, images, and stylesheets.

There’s more to work through

Novaris is still taking shape. I’m refining the code, working through rough edges, and figuring out which parts need better documentation. Using it for my own sites helps, but there’s plenty to learn about how someone else would set up a project and work with it.

For now, I want to share the process as I go. I’ll write about the decisions behind Novaris, the problems I run into, and the small improvements that make it easier to use. This introduction is a starting point for those posts, and a way to give a name to the project you’re already seeing here.