my CMS/Blog engine
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
juju2013 d4ce241ac2 Bugfix: PubTime před 1 rokem
examples/amber Bugfix: PubTime před 1 rokem
.gitignore gofmt před 1 rokem
LICENSE update LICENSE před 1 rokem add Slug to readme před 1 rokem
gen.go Bugfix: PubTime před 1 rokem
gen_test.go update LICENSE před 1 rokem
logger.go update LICENSE před 1 rokem
main.go update LICENSE před 1 rokem
rss.go gofmt před 1 rokem bugfix: template před 1 rokem
server.go update LICENSE před 1 rokem
tpldata.go update LICENSE před 1 rokem
watch.go update LICENSE před 1 rokem


Jfever is (yet another) simple live static web site generator

Original idea and implementation from PuerkitoBio.

Install using: go get


  • Static site generator, the generated content can be copied and served by any web server
  • Plain text file and directory, no configuration file, no database. Use your favorite text editor/file manager to organize your site
  • Markdown syntax, Amber template
  • Integrated web server to see your changes live
  • Super easy deployment, no dependency hell, just one static binary to copy


You’ll need the following directories (their name can be changed via command line options):

  • out/: Generated content
  • src/: Source files for web pages, directory tree produce site navigation path
  • template/: Your amber templates
  • static/: Your static contents

Any change in the last 3 directories (or their sub-directories) will trigger the rebuild process and regenerate all contents. Direcotry creation, file creation and deletion will be reflected in out/ directory.

Jfever only cares about *.md files in the src directory, and about *.amber (Amber templates) in templates directory, any other files will be copied as is to out/ directory. Hidden files starting with . are ignored.

Command-line Options

The following options can be set at the command-line:

  -p, --port=          the port to use for the web server (default: 9000)
  -g, --generate-only  generate the static site and exit
  -G, --no-generation  when set, the site is not automatically generated
  -n, --site-name=     the name of the site (default: Site Name)
  -t, --tag-line=      the site's tag line
  -r, --recent-posts=  the number of recent posts to send to the templates (default: 5)
  -b, --base-url=      the base URL of the web site (default: http://localhost)
  -d, --debug          Enable debug output
  -s, --src=           the source sub-dir name (default: src)
  -o, --out=           the output sub-dir name (default: out)
  -a, --template=      the template sub-dir name (default: templates)
  -i, --static=        static content to be copied to Out/ (default: static)

Front matter

Jfever uses YAML front matter to get metadata for a post. This is a complicated way to say that you have to add blocks of text like this at the start of your posts:

Title: My title
Description: My short-ish description of the post.
Author: Me
Date: 2013-07-14
Lang: en

# Here is my post!


The three dashes delimit the front matter. It must be there, beginning and end. Between the dashes, the part before the colon : is the key, and after is the value. Simple as that.

Keys Title, Description, Author and Date are mandatory.

Valid date formats are 2006-01-02, 2006-01-02 15h (or 2006-01-02 8h), 2006-01-02 15:04 (or 2006-01-02 8:17) or the RCF3339 format (2013-08-06T17:48:01-05:00).

Key Template can be used to choose the template (without the .amber extension) to use, default to default.

Key Index will save also the page as index.html, its value will be ignored.

Key Slug will rename the page with its value, default to all characters in filename within regex [^a-zA-Z\-_0-9] .

You can define any xxx key in the front matter and use that key/value in your template.


There a simple demonstration site under the examples/amber directory.


The BSD 3-Clause License.