Skip to content

pentandra/lifepreserver

Repository files navigation

Lifepreserver

This is the website for Pentandra Research Solutions.

Development

The source for this project is built using nanoc.

Before compiling…

The following external dependencies or system packages need to be installed and in scope before compiling:

  • Ruby (with bundler, i.e. gem install bundler)
  • pandoc and ConTeXt for PDF generation of reports
  • hunspell for spell-checking (with the optional fix for the en_US apostrophe handling)
  • git for version tagging and history management
  • A JavaScript runtime, such as node (or any runtime that ExecJS supports) for UglifyJS and bower. (note: currently you need to install bower manually, e.g. npm install bower -g)

Optional dependencies

  • optipng for optimizing PNG images
  • A Java 8 runtime for running the Nu HTML checker.

Then clone this repo (including submodules), install bower components and Ruby gems…

As follows:

$ git clone https://github.com/pentandra/lifepreserver.git
$ cd lifepreserver
$ git submodule init
$ git submodule update
$ bower install
$ bundle install --with=development

Add experimental Nanoc feature for environments support (for now)

$ export NANOC_FEATURES=environments # or place this in `.bashrc` or equivalent

And compile!

$ bundle exec nanoc [compile] [--verbose]

Start the HTTP server and request the page in your browser

# either
$ nanoc view   # if you are only dealing with statically generated pages
# or
$ nanoc server # if you are dealing with both the static and dynamic aspects of the site

And view the page in your browser.

Contributing

This repository uses GitFlow to manage development and release activity. When starting a new feature, page, blog post, et cetera, please create a new branch for it based on the develop branch to ease review and integration.

  • Do your best to adhere to the existing coding conventions and idioms.
  • Don’t use hard tabs, and don’t leave trailing whitespace on any line. Before committing, run git diff --check to make sure of this.

Thanks

Thanks to the people that helped me come to grips with the power of nanoc, including:

Also, please see the colophon for more raving attributions!