Publ: Development Blog

News and updates about Publ

Some thoughts on WebMention

Posted Saturday, September 29 at 9:00 PM (6 years ago)

So, for the last couple of days I’ve been playing with some of the IndieWeb concepts, in particular Webmention. Spurred on by a helpful thread with Kevin Marks, I took some time to actually do a rough implementation of outgoing Webmentions, and also did some of the work to set up the h-card and h-entry microformats on my main site.

As far as I can tell, it works great, but I’m also not going to actually merge this to master or push it to production. Read on to see why!

v0.3.2: a smol bugfix release

Posted Tuesday, September 25 at 2:55 PM (6 years ago)

I found a few more annoying bugs that were shaken out from the whole PonyORM transition, as well as a couple of bugs in the new shape functionality. There’s probably a few more of these bugs lurking in the codebase (I mean, in addition to the existing bugs I know about), but here’s what’s changed:

The shape of the float (v0.3.1)

Posted Thursday, September 20 at 10:58 PM (6 years ago)

woo-ghost.png

Did you know that CSS3 has a style called shape-outline? It’s pretty neat, it makes it so that a floated object gets a shape based on the alpha channel of its specified image. But it’s kind of a pain to set up; in plain HTML it looks something like this:

<img src="/path/to/image.png" width="320" height="320"
    style="shape-outline:url('/path/to/image.png');float: left">

and if you want a different shape mask for your image than its own alpha channel, you have to do a bunch of stuff like making sure that the image sizes are the same and whatever.

v0.3.0 released

Posted Wednesday, September 19 at 12:46 PM (6 years ago)

Version 0.3.0 is now released, with the change from peewee to PonyORM.

As a result of this change you’ll have to do two things to your config file:

  1. The database configuration format has changed slightly
  2. Any existing databases have to be manually deleted/dropped/etc.; unfortunately PonyORM doesn’t provide a mechanism for deleting tables not under its control

Everything else should work identically as before.

Goodbye peewee, hello PonyORM

Posted Wednesday, September 19 at 2:27 AM (6 years ago)

For a number of reasons, I have replaced the backing ORM. Previously I was using peewee, but now I’m using PonyORM. The primary reason for this is purely ideological; I do not want to use software which is maintained by someone with a track record of toxic behavior. peewee’s maintainer responds to issues and feature requests with shouting and dismissive snark; PonyORM’s maintainer responds with helpfulness and grace. I am a strong proponent of the latter.

PonyORM’s API is also significantly more Pythonic, and rather than abusing operator overloads for clever query building purposes, it abuses Python’s AST functionality to parse actual Python expressions into SQL queries. Seriously, look at this explanation of it and tell me that isn’t just amazing.

v0.2.2 released… and 0.2.2.1… and 0.2.3…

Posted Wednesday, September 12 at 1:27 AM (6 years ago)

Earlier today I pushed v0.2.2, which was a minor configuration fix for the markdown library to support table syntax.

Then I pushed v0.2.2.1 which was another configuration fix to fix that fix (oops).

Then in deploying updates I upgraded to Python 3.7, and promptly discovered that Publ doesn’t actually work on Python 3.7, so just now I fixed that, and released the fixes as v0.2.3.