Build Status

Jekyll Open Project site

Metanorma is a project built with jekyll-theme-open-project.

Custom features

When adding a blog post, it’s possible to have an illustration that is replaced on hover with another illustration. To do that, use the following markup:

[.hoverable]
.Image title
[link="/assets/blog/image-1-on-hover.png"]
image::/assets/blog/image-1.png[Alt text]

And make sure widget JS is included via post’s frontmatter:

extra_scripts:
  - src: /assets/js/hoverable-illustrations.js

Introduction

This is the Metanorma project site (a Ribose Open Project Site) located at https://www.metanorma.com.

It is implemented as a Jekyll site.

Development

Getting started

  • Ensure you have reasonable Ruby version

  • Run bundle from within site directory to install Ruby dependencies

Serving site preview

  • Run jekyll serve from within site directory

Structure

This repository contains a _config.yml for specifying the directory structure, metadata, build defaults, etc.

Site data is located in this directory and the resulting build is created under _site/.

Inputs

All source files are inside the _jekyll/ directory, as specified in _config.yml.

Outputs

All output files live inside the _site/ directory, and its content have been gitignore-d.

Usage

Preparation

To begin developing,

make prep

which would install the necessary Ruby gems for you.

Auto-build

To make it watch for file changes and build automatically (which watches only the files specified in the above Inputs section), run:

make watch

If you want to be sure all outputs are cleaned prior to building, run:

make clean-watch

Just build

The non-watching equivalents for the above are simply:

make build
make clean-build

Deployment

This section is only for deployment.

Configuration

Configure the hostname and region in the ro-site.rc file as you know it.

cp ro-site.rc.template ro-site.rc
vi ro-site.rc

Uploading to S3

If you have access to the bucket, run this.

export AWS_PROFILE=myprofile
source ro-site.rc
make upload

Clear CloudFront caching

The sites are accessed via CloudFront. If you’re seeing stale data after make upload, most likely the CloudFront cache needs to be invalidated.

Your AWS account must be authorized to invalidate the CloudFront cache for this distribution.

export AWS_PROFILE=myprofile
source ro-site.rc
make clear-cf

Workflow

  1. Ensure tests pass

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request