Kalotyp − an open source image editor for Ghost

In the last few months, I have been working on an open-source image editor that drops into Ghost as the image-editor integration. It’s called Kalotyp and is now available:

One of the things that drew me to Ghost in the first place, and the thing our hosting customers consistently tell us they care about, is that it’s open-source software you can modify, own, and self-host if you want.

The image editor has been the one piece of the experience that doesn’t fit that pattern.

Kalotyp is my attempt to close that gap. It’s under the same license as Ghost itself (MIT) and drops right in − just upload the JS and CSS files in Settings > Integrations.

Feature-wise, the current release covers what you’d reach for in an image editor: crop, rotate, flip, filters, finetune controls, annotate, redact, resize, and frames. It also does automatic EXIF/GPS metadata stripping and format conversion on save − both are things customers have asked me about in support over the years, so it felt right to build them in.

I have tested it on my own projects so far, but the next step is rolling it out on Magic Pages sites, which will also mean image editing becomes available for old legacy Starter plans that didn’t have it before.

I’d be really curious to see people try it in the wild because I am sure there are some quirks that need ironing out.

11 Likes

Great news! This is a great addition for the Ghost community. Much more flexible! I loved the extra features you added, which are much needed. (WebP and Avif formats are not supported on Safari though. I’m already started working on it :blush:)

Thanks for sharing this huge effort with the community!

3 Likes

Yeah, that’s a good point. If you have a workaround in mind for the browser constraint, please share − I cannot test Safari on Linux, but happy to make it work somehow :smiley:

1 Like

I’m super excited about this, but I need to report a bug. I tried cropping an image (using your latest version release, uploaded, not via config file). Looks like that was 0.2.3.

The cropping appeared to work, but when I saved, it saved as a teeny tiny image, and it moved the cropped content to the top left corner, rather than actually cropping. Here’s the result:

(actual size!)

Looks like you might have a bug in there somewhere - let me know if you want server details or anything to help find it.

Update: Hmm. The source image was an SVG. Perhaps your tool doesn’t handle svg correctly?

1 Like

I love bugs! (at least, that’s what my cats would say :joy:)

I’ll take a look at that – SVG was indeed not something I have tested. Will update you here

1 Like

So, selfish question here – if we’re on Magic Pages, will we get this automatically? :wink:

(Or maybe we already have it?)

2 Likes

You will – but the first goal is to get more testing done :smiley:

Both Murat and Cathy found some cases that I haven’t found myself, and I bet there are a bunch more (as with every piece of software).

I’ll probably do a staggered roll out to get as much real life testing done as possible :slight_smile:

3 Likes

Safari doesn’t support WebP and AVIF?

  • WebP has been fully supported in Safari since macOS 11 and iOS 14.
  • AVIF has been fully supported in Safari since macOS 14 and iOS 16.

Both macOS and iOS are now 26.5.2.

You don’t need to worry about Safari, @jannis.

Happy to sacrifice some more images to the testing gods whenever you have a new release. :)

1 Like

And, despite it having eaten an svg for lunch, it was exactly what I needed and super easy when I had a png to resize! So, some positive feedback to go with the constructive criticism! :heart: :laughing:

1 Like

Nope, Murat is correct here. Safari supports displaying WebP and AVIF but not in the canvas used by Kalotyp (or other editors). So, it cannot render them.

It’s an actual defect.

Thank you, Cathy!

I have a longer train ride tomorrow, so should be able to add a fix for it :slight_smile:

1 Like

Ahh, I get it now. Sorry @muratcorlu.

2 Likes

@Cathy_Sarisky a new release awaits your SVG testing (it does work on my end :smiley:)

2 Likes