1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-26 23:24:39 +01:00
Go to file
2017-06-16 20:06:55 -04:00
example Rename test -> example 2017-06-16 19:13:49 -04:00
helpers Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
scripts Move *_helpers.go -> ./helpers/*.go 2017-06-16 19:17:22 -04:00
.gitignore Improved README 2017-06-11 19:40:01 -04:00
.travis.yml Add travis file 2017-06-13 12:45:33 -04:00
build.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
collection.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
commands.go Factor out commands, dynamic_page, helpers/liquid 2017-06-16 19:34:39 -04:00
dynamic_page.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
layout.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
LICENSE Create LICENSE 2017-06-11 19:18:10 -04:00
link_tag.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
liquid_filters_test.go Tests: assert -> require; add require.NoError 2017-06-16 16:47:49 -04:00
liquid_filters.go Implement sass 2017-06-16 13:47:11 -04:00
main.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
markdown.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
page_test.go Tests: assert -> require; add require.NoError 2017-06-16 16:47:49 -04:00
page.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
permalinks_test.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
permalinks.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
README.md More README 2017-06-15 09:39:06 -04:00
sass.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
server.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
site.go Move *_helpers.go -> ./helpers/*.go 2017-06-16 19:17:22 -04:00
variable_map_test.go Rename path -> name or relpath 2017-06-16 20:06:55 -04:00
variable_map.go Move variable_map, file_helpers to own files 2017-06-16 15:47:41 -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, but I'd be surprised. Most egregious are an insufficiency of template variables, and limitations in the liquid library.

I'm writing this to learn my way around Go. It's not good for anything yet, and it may never come to anything.

Install

go install osteele/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 --source test build
gojekyll --source test serve
gojekyll --source test render index.md # render a file to stdout
gojekyll --source test render /        # render a URL to stdout
gojekyll --source test data /          # print a path's template variables

--source DIR is optional.

build needn't be run before server. The latter serves from memory.

server only rebuilds individual changed pages, doesn't rebuild collections, and doesn't detect new pages.

render renders a single file, identified by permalink if it starts with /, and by pathname (relative to the source directory) if it doesn't.

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

Credits

For rendering Liquid templates: the acstech/liquid fork of karlseguin/liquid.

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"