jkl is a static site generator written in Go, based on Jekyll
Notable similarities between jkl and Jekyll:
- Directory structure
- Use of YAML front matter in Pages and Posts
- Availability of
site,content,pageandpostsvariables in templates - Copies all static files into destination directory
Notable differences between jkl and Jekyll:
- Uses Go templates
- Only supports YAML front matter in markup files
- No plugin support
Additional features:
- Deploy to S3
Sites built with jkl:
- Drone.io Blog: http://blog.drone.io
- Drone.io Documentation: http://docs.drone.io
In order to compile with go build you will first need to download the following dependencies:
go get github.com/russross/blackfriday go get launchpad.net/goyaml go get launchpad.net/goamz/aws go get launchpad.net/goamz/s3 go get github.com/howeyc/fsnotify Once you have compiled jkl you can install with the following command:
sudo install -t /usr/local/bin jklIf you are running x64 linux you can download and install the pre-compiled binary:
wget https://github.com/downloads/bradrydzewski/jkl/jkl sudo install -t /usr/local/bin jklUsage: jkl [OPTION]... [SOURCE] --auto re-generates the site when files are modified --base-url serve website from a given base URL --source changes the dir where Jekyll will look to transform files --destination changes the dir where Jekyll will write files to --server starts a server that will host your _site directory --server-port changes the port that the Jekyll server will run on --s3 copies the _site directory to s3 -v, --verbose runs Jekyll with verbose output -h, --help display this help and exit Examples: jkl generates site from current working dir jkl --server generates site and serves at localhost:4000 jkl /path/to/site generates site from source dir /path/to/site If you are running the website in server mode, with the --server flag, you can also instruct jkl to auto-recompile you website by adding the --auto flag.
NOTE: this feature is only available on Linux
In order to deploy to S3 you must include a _jekyll_s3.yml file in your site's root directory that specifies your AWS key, secret and bucket:
s3_id: YOUR_AWS_S3_ACCESS_KEY_ID s3_secret: YOUR_AWS_S3_SECRET_ACCESS_KEY s3_bucket: your.blog.bucket.com Run jkl --s3
See the official Jekyll wiki ... just remember that you are using Go templates instead of Liquid templates.
