Mort's Mythopoeia
OCaml HTML CSS CoffeeScript Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Build Status

Mort's Web Pages

I use Docker containers to avoid the need to install dependencies: Coffeescript, Jekyll, Python. OPAM and Mirage currently still need to be installed on the host however. As a simple hack to deal with access to my .bib files which are elsewhere on the host, I've hardlinked them under _papers but git ignore that directory. Pushing triggers a Travis build of my JavaScript papers renderer from CoffeeScript input.


Site build and test is done via Jekyll:

  • make site invokes the Jekyll container to build the site to _site
  • make test invokes the Jekyll container to run the site locally for testing
  • make drafts will do as make test but also display draft posts

The site is deployed as a Mirage unikernel at Building the unikernel version uses my dommage scripts and can be performed via:

  • make configure FLAGS=... to configure the unikernel and install dependencies
  • make build to build the unikernel

Finally, there are some helper targets to assist in managing the build containers:

  • make publish to commit the current build container state and publish; unless you have write access to my Docker Hub org, you will need to edit the Makefile to issue this
  • make destroy kills the current build container but leaves the dependency on the same image
  • make run to invokve the target unikernel from inside the build container

Deployment Setup

Use Travis to build the unikernel and push it back to a deployment repo:

gem install travis
opam install travis-senv
[[ run travis to stop it whining about installing cli completion or not ]]
ssh-keygen -b 4096 -f ~/.ssh/mor1-www-key
travis-senv encrypt ~/.ssh/mor1-www-key travis-ssh-envs
cat travis-ssh-envs | travis encrypt -ps --add

Then take the result and paste it into your _travis.yml per this site.


github pdf hosting

looks like mor1.github.{io,com} overlay each other with .io taking precedence?!