Jekyll-hosted websites

The main OME website is produced using Jekyll.

Installing Jekyll

Jekyll can be installed as a system application (requires administrator privileges) or for a single user.

  1. Install a recent version of Ruby. Recent versions of OS X and Linux may already include a suitable version, however you will require administrator privileges to install Jekyll. Alternatively on OS X you can use Homebrew, and on Linux either rbenv or RVM:

    brew install ruby
    
  2. Install Jekyll:

    gem install jekyll
    

Running Jekyll

In a terminal enter the local git checkout and run:

jekyll serve -w -b ''

This will build the web pages and start a local server on http://localhost:4000/. Jekyll should automatically rebuild the pages when changes are made to the source files, and will override any baseurl defined in _config.yml.

Editing the website

The source for the OME website is on GitHub at https://github.com/ome/www.openmicroscopy.org. The website uses the ‘master’ branch, PRs should be opened directly against it. Most of the files are written in html but the announcements and blog posts are in markdown and further content may migrate to markdown in future.

Once a PR is open and has passed Travis, it will be integrated in the staging integration branch for the OME Website site via the daily https://merge-ci.openmicroscopy.org/jenkins/job/WEBSITE-push job. The staging Jekyll website will be deployed by the GitHub Pages service at https://snoopycrimecop.github.io/www.openmicroscopy.org for review.

Once the PR is merged, the HEAD of master will be deployed by the GitHub pages service at https://ome.github.io/www.openmicroscopy.org.

Updating the live website requires two steps, first creating an archive of the static website and then deploying it on the web server:

  • to release the Jekyll source code, a signed Git tag needs to be created from the master branch of the source code. Website tags must follow the Calendar Versioning scheme using the tag date

  • after pushing the tag, an artifact of the static website will be built by GitHub Actions and deployed as an asset of the associated GitHub release

  • on the server hosting the website, a cron job will update the website hourly if a new release has been created on GitHub

  • if needed, the static website can also be updated manually by executing the sudo deploy -f command from the OME website server.