Simple, beautiful publishing.

Getting it Right

To my awesome users: I've been taking some time to reimagine what Postleaf should have been. Yes, the betas were pretty awesome, but they weren't what I wanted them to be in terms of design, code, and function. I can do better, and you deserve nothing less than my very 
Avatar Cory LaViska on News

Dynamic Images

I believe software should be smarter than we expect it to be. People shouldn't have to think about resizing images when they're writing a blog post. They should just drag, drop, and continue writing. So why is it that we expect users to resize their own images before uploading them? We've 
Avatar Cory LaViska on Rebuilding Postleaf

Thoughts on Uploads

Uploads management is a concept I've always struggled with in Postleaf, but it's a necessary evil. Users have to be able to view and delete files they upload; but at the same time, I've never felt that it should be an integral part of the app. Last night I had to face the 
Avatar Cory LaViska

Smarter Excerpts

Here's something I really wanted to solve in Postleaf, and I think I've finally nailed it. Post excerpts are going to be so much smarter from now on. The Trouble with Excerpts In most cases, excerpts are generated by a CMS using a handful of approaches: Fetch the first n 
Avatar Cory LaViska on Rebuilding Postleaf

Solving the Search Problem

I recently wrote about using an ORM and how it allowed me to support five different database platforms with minimal effort. There is, however, one feature that even Sequelize couldn't tackle for me: full-text search. A full-text search is typically a database feature that lets you locate content just like you would in a 
Avatar Cory LaViska on Rebuilding Postleaf

Using an ORM

I've never really bothered with ORMs before, as feelings for them tend to be mixed. I've heard that you can spend twice as long learning an ORM as you can coding raw SQL. 🤷🏻‍♂️ I figured it was time to see for myself. For the Postleaf rebuild, I decided to try 
Avatar Cory LaViska on Rebuilding Postleaf

Dust.js Templates

The Problem with Handlebars The first version of Postleaf used templates powered by a PHP variation of Handlebars. I chose Handlebars because the syntax is very simple to learn and understand. Hello, {{name}}! There is, however, one fundamental feature of Handlebars that users tend to find confusing: helpers can have both parameters and arguments. {{helper 
Avatar Cory LaViska on Rebuilding Postleaf

Moving to Node.js

The first version of Postleaf was written in PHP and lives on as Leafpub. It's a beautiful piece of software that I'm very proud of, but I decided to move the project to Node.js for a few important reasons. This is by no means a knock on PHP, which will 
Avatar Cory LaViska on Rebuilding Postleaf

My Thoughts on Comments

For as long as I can remember, comments have been a staple of blogging software. After all, what's a good blog post without a relevant discussion to accompany it? You might find it strange to learn that Postleaf doesn't ship with comments. This is by design, and I'll explain why in