diff --git a/README.md b/README.md index 7ba2d11..d733f0d 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,17 @@ > “It is easier to write an incorrect program than understand a correct one.” - Alan Perlis -Gojekyll is a clone of the [Jekyll](https://jekyllrb.com) static site generator, written in the [Go](https://golang.org) programming language. It supports the `build` and `serve` commands, with directory watch and live reload. +Gojekyll is a clone of the [Jekyll](https://jekyllrb.com) static site generator, written in the [Go](https://golang.org) programming language. It provides `build` and `serve` commands, with directory watch and live reload for the latter. -|   | Gojekyll | Jekyll | Hugo | -|------------------------|---------------------------------------------------------------------|--------|------| -| Templates | [Liquid](https://github.com/osteele/liquid#differences-from-liquid) | Liquid | Go | -| Compatible with Jekyll | [mostly](#current-limitations) | ✓ | | -| Fast | [✓ 20x](./docs/benchmarks.md) | | ✓ | -| Plugins | [some compiled in](./docs/plugins.md) | yes | ? | -| Windows | | ✓ | ✓ | -| Implementation | Go | Ruby | Go | +|   | Gojekyll | Jekyll | Hugo | +|------------------------|--------------------------------|--------|--------------| +| Fast | [✓ 20x](./docs/benchmarks.md) | | ✓ | +| Stable | | ✓ | ✓ | +| Template language | Liquid | Liquid | Go templates | +| Compatible with Jekyll | [partly](#current-limitations) | ✓ | | +| Plugins | [some](./docs/plugins.md) | yes | ? | +| Windows | | ✓ | ✓ | +| Implementation | Go | Ruby | Go | @@ -73,7 +74,7 @@ Missing features: - Pagination - Math - CSV and JSON data files -- Plugins. (Some plugins are emulated. See the [plugin board](https://github.com/osteele/gojekyll/projects/2) for their status.) +- Plugins. (Some plugins are [emulated](./docs/plugins.md).) - Template filters `group_by_exp` and `scssify` - More Liquid tags and filters, listed [here](https://github.com/osteele/liquid#differences-from-liquid). - Markdown features: [attribute lists](https://kramdown.gettalong.org/syntax.html#attribute-list-definitions), [automatic ids](https://kramdown.gettalong.org/converter/html.html#auto-ids), [`markdown=1`](https://kramdown.gettalong.org/syntax.html#html-blocks). @@ -99,7 +100,6 @@ By design: Muzukashii: -- `uniq` on objects (things that aren't strings or numbers) doesn't work the way it does in Jekyll / Shopify Liquid. See the [Go Liquid differences](https://github.com/osteele/liquid#differences) for more on this. - An extensible plugin mechanism – support for plugins that aren't compiled into the executable. ### Feature Checklist diff --git a/docs/plugins.md b/docs/plugins.md index 1241897..e898c8f 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -1,31 +1,32 @@ # Gojekyll Plugin Status -Gojekyll doesn't include an extensible plugin system, and won't for the foreseeable future. -((1) The code and internal APIs are too immature for this; and (2) The [natural way](https://golang.org/pkg/plugin/) of implementing this only works on Linux.) +Gojekyll doesn't include¹ an extensible plugin system, and won't for the foreseeable future. -The executable emulates some plugins: +The functionality of some plugins is built into the core program: | Plugin | Motivation | Basic Functionality | Missing Features | |------------------------------|---------------|---------------------|-----------------------------------------| -| jekyll-avatar | GitHub Pages¹ | ✓ | randomized hostname | +| jekyll-avatar | GitHub Pages² | ✓ | randomized hostname | | jekyll-coffeescript | GitHub Pages | | | | jekyll-default-layout | GitHub Pages | | | | jekyll-feed | GitHub Pages | ✓ | | -| jekyll-gist | core² | ✓ | `noscript` | +| jekyll-gist | core³ | ✓ | `noscript` | | jekyll-github-metadata | GitHub Pages | | | -| jekyll-live-reload | core | ✓ always on | | +| jekyll-live-reload | core | ✓ (always enabled) | | | jekyll-mentions | GitHub Pages | ✓ | | | jekyll-optional-front-matter | GitHub Pages | | | | jekyll-paginate | core | | | | jekyll-readme-index | GitHub Pages | | | | jekyll-redirect_from | GitHub Pages | ✓ | user template | | jekyll-relative-links | GitHub Pages | | | -| jekyll-sass-converter | core | ✓ always on | | +| jekyll-sass-converter | core | ✓ (always enabled) | | | jekyll-seo_tag | GitHub Pages | ✓ | SEO and JSON LD are not fully populated | | jekyll-sitemap | GitHub Pages | | | | jemoji | GitHub Pages | ✓ | image tag fallback | -¹ +¹ (1) The code and internal APIs are too immature for this; and (2) The [natural way](https://golang.org/pkg/plugin/) of implementing this only works on Linux. -² “Core” plugins are referenced in the main [Jekyll documentation](https://jekyllrb.com/docs/home/). +² + +³ “Core” plugins are referenced in the main [Jekyll documentation](https://jekyllrb.com/docs/home/). The Jekyll documentation [Official Plugins](https://jekyllrb.com/docs/plugins/#available-plugins) / #Official tag of [Awesome Jekyll Plugins](https://github.com/planetjekyll/awesome-jekyll-plugins) look dated; I didn't use those. \ No newline at end of file