A simple static site generator written in Go inspired by Jekyll
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 7 commits ahead of drone:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE.txt
README.md
config.go
main.go
page.go
page_test.go
post.go
site.go
template.go
template_test.go
util.go
util_test.go

README.md

jkl is a static site generator written in Go, based on Jekyll

Build Status

This is a fork of jkl as the original is no longer maintained.

Notable changes in this fork:

  • No support for AWS S3 syncing (do one thing and one thing well) use s3cmd or some other tool instead.
  • Support for pretty urls
  • Short descriptions with the <!--more-> tag
  • Fix: display of dates
  • Added urlencode template filter

Notable similarities between jkl and Jekyll:

  • Directory structure
  • Use of YAML front matter in Pages and Posts
  • Availability of site, content, page and posts variables 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

Sites built with jkl:


Installation

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 github.com/howeyc/fsnotify

Once you have compiled jkl you can install with the following command:

sudo install -t /usr/local/bin jkl

If you are running x64 linux you can download and install the pre-compiled binary:

Usage

Usage: 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
  -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

Auto Generation

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 and OSX

Deployment

Use rsync or s3cmd to sync files to remote server.