Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@fancypantalons fancypantalons released this 06 Jul 02:37
· 11 commits to main since this release

Version 4.0.0 of this plugin brings along a couple of major new features, along with some more minor enhancements. While the gem behaviour and associated configuration should be backward compatible with the 3.x series, the changes are significant enough that I felt it best to bump the major version of the plugin so folks are less likely to experience a surprise upgrade.

Syndication support

Services like brid.gy and news.indieweb.org make use of webmentions to support automated syndication of content from blogs to various third-party silos, including Mastodon, Github, and so on. While previously it was possible to use this plugin to integrate with those services, the integration was a bit tedious and there were key bits of functionality missing to enable a full integration.

This version of the plugin introduces a whole new set of functionality, along with related configuration and documentation, for simplifying the integration with these types of services.

Enhanced error handling

Prior to version 4.0.0, error handling in this plugin was fairly basic with only a few settings to control behaviour. With the introduction of syndication support, it became more important to have finer-grained control over error handling so that, for example, syndication targets don't get accidentally blacklisted due to configuration errors on the source site or outages on the target service.

As a result, this plugin adds a variety of new behaviours and associated configuration settings that offers the user significantly more control over how these types of errors are handled.

Additional changes

Support for Ruby 3.2

Thanks to @danielpietzsch for contributing this change, which removes the string_reflection gem from our list of dependencies, as it does not currently work with Ruby 3.2, and replaces it with the activesupport gem, which does.

Don't process inbound webmentions as markdown-formatted text

Previous versions of this plugin passed inbound webmention content received from webmention.io through a markdown formatter. However, content received from that service is actually sanitized HTML and should be treated accordingly.

As a result, the plugin no longer formats this content and, by default, passes it straight through to the formatting template.

For users who wish to preserve the old behaviour, this can be done by setting up a custom template and passing the content through markdownify.

Protocol-less links are no longer supported

In previous versions, this plugin would attempt to process and send webmentions to URL targets that were lacking a protocol specifier. Unfortunately, this code was broken and resulted in the plugin crashing. Given that no user reported this issue, I assume this functionality was not in use by anyone, and so rather than fixing the code I've removed it.

If it turns out this feature is important, please file an issue and I can investigate re-introducing it.

shorturl page frontmatter

When syndicating to silos, it's often desirable to post a shortened backlink URL in order to save characters. This plugin now supports specifying a shorturl value in the page frontmatter that is used as the source when sending a webmention to a target.

Ignore drafts

The draft frontmatter value is used by the jekyll-feed plugin to ignore posts in a blog feed, however in previous versions of this plugin this frontmatter was ignored when gathering and sending webmentions. This behaviour has now been fixed and draft posts are ignored by the plugin.

Bookmark support

Along with in_reply_to, the plugin now recognizes the bookmark_of frontmatter value and will send a webmention to the indicated target.