Oddity Engine

Created 2025-08-31

One look at Oddmu and I left inspired. The single text box for writing prose just seemed so irresistible, however the feature set, left a void, one that could only be filled by writing my own, for my own perceived notion of control and flexibility.

Enter Oddity.

Markdown files

It retains the idea of using markdown files that has appealed to me for a while.

Frontmatter tags

Supports frontmatter tags (in both YAML & TOML), and allows importing my hugo site as-is (almost, I did forego use of draft notion to just using private: true)

I also use it as a vehicle for storing metadata such as created & modified timestamps, etc (whic I have found hard to reliable do cross-platform)

Minimal and beautiful UI

I really like iA writer - just so minimal and polished. I’ve tried to bring those ethos into the editor interface.

The pain point for me with static files has always been the lack of UI I can use on server. No matter the engine, I just could not be bothered to write in a regular text editor and go through the hassle of compiling and uploading the site. While Ghost engine world well for a while, I did not relish how uncustomizable it felt in contrast with wordpress, not that I was going to touch it with a 2ft pole.

The UI gets out of my way, has syntax highlighting with CodeMirror (I initially attempted to use OverType editor). Plus its reactive (with vue), a marked improvement in usability and maintainability in contrast to a previous iteration using customized CKEditor editor. I give up wysiwyg, but am happy with the compromise.

History

While the content is mostly flat file, its not strictly true for the engine itself. It does rely on a sqlite database to store all edits without making a mess. That shows helpful diffs in the editor UI itself.

File uploads

A simple file uploader, helps put content in similar directory structure as the markdown files but adjacent to them. Performs image resizing - both on upload as well as post upload if desired. Oddmu’s uploader was pretty neat, but left me feeling I could use some quality of life upgrades.

Movable Sidebar, distraction free mode & etc

The editor itself including sidebar is distraction free, It fades out when not in use and on mouse over comes into focus. But it can move below content to get out of the way.

Entire UI goes away when I toggle distraction free mode leaving me with “iA writer” like clean interface.

I threw in ability to customize width of editor from narrow to full width, as I couldn’t make up my mind on what size I wanted. For prose, narrow seems to be better, but for code a medium size was more appealing.

Private pages

I wanted ability to write notes, journals that I can keep private. private: true tags on index files will force everything in that section to be hidden. This hopefully allows me to reduce the number of places I use to “collect links”

And lots more. I’ll create a separate section to write a bit more and track my updates to it.