Looking for website updating instructions?
(Need to set up your own Jekyll/S3 site? See generate-static-site.)
The HIDIVE Lab website uses Jekyll plugins beyond those supported by GitHub Pages.
Instead, when the main branch is updated, Github Actions builds _site and pushes it
to the appropriate S3 bucket. You will need to need to have a working, up-to-date ruby environment.
Install rvm [https://rvm.io/rvm/install]. RVM should load or prompt for installation of the ruby version in .ruby_version on entry to the project folder.
With Ruby fixed, then:
$ gem install bundler -v 2.4.22
$ bundle install
$ npm install
$ jekyll serve &
When Jekyll is watching the filesystem, it won't run post-processing hooks that generate thumbnails. You can do this manually:
brew install imagemagick
./post-build.sh
For smaller edits, you can just use the editor on the github site, though it's still a good idea to save the edit to a branch.
For larger edits, check out this repo locally. Our convention for branch names is username/description, so it's easy to tell whose contribution it is.
Run jekyll locally to get a preview of the site.
If using OS X >=10.12 you may run into errors installing nokogiri with the bundle install step.
This workaround should do the trick:
sudo gem install nokogiri -v '1.6.8.1' -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries
The scripts/ folder contains TypeScript automations for managing website
content (e.g., creating or updating a publication). These scripts run via
GitHub Actions in response to events like issue submissions.
For example, submitting ./.github/ISSUE_TEMPLATE/new-member.yml:
These scripts require Deno but rarely need editing. Our CI enforces type checking, formatting, and linting.
cd scripts
deno fmt
deno lint
deno check .Verify any changes to these scripts pass these checks.
For more information about these automations, please see the guide on Confluence.