Gojekyll currently supports the github pages, sass, jemoji, sitemap, feed, redirect, seo tag and avatar plugins, among others, see https://github.com/osteele/gojekyll/blob/main/docs/plugins.m... for the full list.
Gojekyll currently supports the github pages, sass, jemoji, sitemap, feed, redirect, seo tag and avatar plugins, among others, see https://github.com/osteele/gojekyll/blob/main/docs/plugins.m... for the full list.
What it does have is a bunch of optional features that are typically provided by plugins in Jekyll[2], but this is a very different meaning of "plugins" that Jekyll has.
[1]: Whether you should be doing this is a different issue, but I would argue that for a static website builder it's fine, especially since you can just lock the Jekyll version with little downsides, and Jekyll doesn't change that often in the first place.
[2]: A list of them: https://github.com/osteele/gojekyll/blob/main/docs/plugins.m...
As always, engage your brain before doing anything and you don't need to use these features, but it gives you the tools to do "smart things" that Go simply can't. This, among other things, means that Jekyll will scale reasonably well with your website as your needs grow, without having to add features to Jekyll core, using your own fork of Jekyll, or switching to something completely different.
For example, I have a little plugin[1] to work around a bug[2] and to skip the hard-coded requirement to have a date in the filename.[3] Is this ugly? Yes. Is this fine to generate a relatively simple personal website? Also yes.
[1]: https://github.com/arp242/arp242.net/blob/master/_plugins/no...
To be fair, Hugo's shortcodes are similar to this without requiring a plugin. And with render hooks and `.Scratch` to temporarily store information, it gets you a long way. It takes some time and experimentation to understand these abilities, however, and the documentation is not always helpful, to say the least.
What are your thoughts on developing a compatibility layer?