mirror of
https://github.com/danog/gojekyll.git
synced 2024-11-26 21:14:48 +01:00
README
This commit is contained in:
parent
d92aa61f56
commit
fab24342be
22
README.md
22
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
|
||||
|
@ -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.
|
Loading…
Reference in New Issue
Block a user