1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-26 21:14:48 +01:00
This commit is contained in:
Oliver Steele 2017-07-11 17:54:25 -04:00
parent d92aa61f56
commit fab24342be
2 changed files with 21 additions and 20 deletions

View File

@ -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

View File

@ -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 |
¹ <https://pages.github.com/versions/>
¹ (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/).
² <https://pages.github.com/versions/>
³ “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.