1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-27 07:24:39 +01:00
Go to file
2017-06-18 22:24:10 -04:00
cmd/gojekyll Add --remote-liquid 2017-06-18 22:24:10 -04:00
example New file site_config.go; honor site config layouts_dir 2017-06-16 21:53:14 -04:00
helpers Create _sass tmp subdirectories 2017-06-18 16:54:36 -04:00
liquid Add some doctrings 2017-06-18 17:00:33 -04:00
scripts Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
.gitignore Add benchmark subcommand 2017-06-18 18:54:08 -04:00
.travis.yml Add travis file 2017-06-13 12:45:33 -04:00
build.go Separate build DryRun from Verbose 2017-06-18 16:55:52 -04:00
collection.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
dynamic_page.go Support external liquid template engines 2017-06-18 15:37:21 -04:00
layout.go Support external liquid template engines 2017-06-18 15:37:21 -04:00
LICENSE Create LICENSE 2017-06-11 19:18:10 -04:00
markdown.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
page.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
permalinks_test.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
permalinks.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
README.md Add --remote-liquid 2017-06-18 22:24:10 -04:00
sass.go Create _sass tmp subdirectories 2017-06-18 16:54:36 -04:00
server.go Restore livereload 2017-06-18 19:12:22 -04:00
site_config.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
site_test.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
site.go Add --remote-liquid 2017-06-18 22:24:10 -04:00
variable_map_test.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00
variable_map.go Rename package main -> gojekyll; move commands to subdirectory 2017-06-17 10:51:32 -04:00

Go Jekyll

When I grow up, I want to be a Go implementation of Jekyll.

Status

Build Status Go Report Card

This project is missing more functionality than it implements. It may accidentally work on tiny or simple sites.

It's currently ~50x faster than Jekyll using an embedded Liquid engine (that isn't very completely); and about 5x faster using an un-optimized connection to the harttle/shopify-liquid JavaScript library (documentation TBD) to render Liquid templates.

  • Content
    • Front Matter
    • Posts
      • Categories
      • Tags
      • Drafts
      • Future
      • Related
    • Creating pages
    • Static Files
    • Variables
    • Collections -- rendered, but not available as variables
    • Data Files
    • Assets
      • Coffeescript
      • Sass/SCSS
  • Customization
    • Templates
      • link tag
      • include tag
      • Remaining Jekyll Liquid tags
      • Jekyll Liquid filters
    • Includes
    • Permalinks
    • Pagination
    • Themes
    • Layouts
  • Server
    • Directory watch
    • Live reload
  • Other
    • LINUX, macOS
    • Windows -- not tested

Install

go install osteele/gojekyll/cmd/gojekyll

Sometimes this package benefits from my unmerged improvements to the acstech/liquid library. If you want to use my fork instead:

cd $(go env GOPATH)/src/github.com/acstech/liquid
git remote add osteele https://github.com/osteele/liquid.git
git pull -f osteele

(See articles by Shlomi Noach and Francesc Campoy for how this works and why it is necessary.)

Run

gojekyll build            # builds into ./_site
gojekyll serve            # serves from memory, w/ live reload
gojekyll render index.md  # render a file to stdout
gojekyll render /         # render a URL to stdout
gojekyll data /           # print a file or URL's variables
gojekyll --remote-liquid  # use a local Liquid engine server
gojekyll help

For development, ./scripts/gojekyll uses go run each time it's invoked.

Credits

For rendering Liquid templates: the acstech/liquid fork of karlseguin/liquid; or, harttle/shopify-liquid via JSON-RPC.

The gopher image in the test directory is from Wikimedia Commons. It is used under the Creative Commons Attribution-Share Alike 3.0 Unported license.

Hugo isn't Jekyll-compatible (-), but actually works (+++).

Jekyll, of course.

License

MIT

Alternate Naming Possibilities

  • "Gekyll". (Hard or soft "g"? See gif.)
  • "Gekko"