Releases: aarongustafson/jekyll-webmention_io
v4.0.0
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.
v3.3.7
Upgrade the Webmention client to version 7.0.0 and add support for OpenSSL 3.
v3.3.2
v3.3.1
v3.3.0
Closed issues:
- Issue with Webmention command #115
- Nest all generators consistently under
Jekyll::WebmentionIO
namespace #104 - Performance impact on build #81
Merged pull requests:
- Bootstrap WebmentionIO with webmention command #116 (ashmaroli)
- Add missing e #114 (jamietanna)
- Remove unused dependency #113 (ashmaroli)
- Require Ruby 2.3.0 and beyond #112 (ashmaroli)
- Drop support for outdated Jekyll versions #111 (ashmaroli)
- Use
private\_class\_method
to hide class methods #110 (ashmaroli) - Custom template should be within site source #109 (ashmaroli)
- Nest generators under the WebmentionIO module #108 (ashmaroli)
- Stringify config["url"] and config["baseurl"] #106 (ashmaroli)
- Optimize by caching webmention data into memory #105 (ashmaroli)
- Add basic Cucumber tests to assess rendering tags #103 (ashmaroli)
- Use shorter name for constants from plugin module #102 (ashmaroli)
v3.1.0
v3.0.0
v2.9.7
Closed issues:
- “[jekyll-webmention_io] Liquid error: internal” error when using includes in Webmention templates #83
Merged pull requests:
- Render in the context of the template #94 (ashmaroli)
- Simplify defining getters and setters #93 (ashmaroli)
- The name’s Jekyll.. #92 (ashmaroli)
- Add utility method to dump data as YAML into file #91 (ashmaroli)
- Improve readability of main module #90 (ashmaroli)
- Freeze string literals to improve performance #89 (ashmaroli)
- Use shorter name for superclass #88 (ashmaroli)
- set_data in tags with @template_name as type #87 (ashmaroli)
v2.9.5
Closed issues:
- Throttling doesn’t apply to posts without webmentions #84
Merged pull requests:
- Full throttle #86 (aarongustafson)