SynBioDex / SbolStandardWebsite

https://sbolstandard.org/
Creative Commons Zero v1.0 Universal
4 stars 3 forks source link

SBOL Standard Website

This repository contains the source for the SBOL Standard website, which is hosted at sbolstandard.og.

It uses the Hugo static site generator with Wowchemy.

Changes to the master branch trigger a GitHub action defined by main.yml. This automatically rebuilds the site and pushes to the gh-pages branch. The GitHub Pages configuration specifies that the contents of the gh-pages branch are served on the sbolstandard.org domain.

Contributing

Feel free to contribute by making a Pull Request. One of the SBOL Editors will review this, and merge if they approve.

You can also contribute by creating an issue.

Adding a Publication

To add a publication, create a new directory within content/publication, and add two files:

You can use one of the existing publications as a template.

Adding a Tool

To add a software application or tool, create a new directory within content/applications, and add an index.md file containing a description of the tool with details in a YAML metadata block.

Adding a community member

To add a community member to the list on the community page, edit the file contents/community/_index.md

Adding a community event

To add a community event to the list on the Community Meetings page, edit the file content/community-meetings/_index.md

Materials for community events (such as slides or example files) are stored in the separate SynBioDex/Community-Media repository

Building the site locally

Without using docker

First install Hugo using the official installation instructions.

Building the site requires Hugo to download some modules, so you will also need to install Git and install Go.

You can then clone this repository:

https://github.com/SynBioDex/SbolStandardWebsite.git

Change directory into the newly-created directory:

cd SbolStandardWebsite

You can use the web-server built into Hugo to preview the effect of these changes by running:

hugo server

and then opening http://localhost:1313/ in your preferred web browser.

Alternative to using the built-in server

Make the desired changes, and run:

hugo

This will rebuild the site, saving the result in the public/ subdirectory. You can preview this by running a webserver - see the big list of HTTP static server one-liners.

The contents of public/ are ignored by the .gitignore file: you should not force-add them to a commit as they will be automatically re-generated by the GitHub Action.

Using Docker

If you have already installed Docker, you may prefer to run Hugo inside a docker image rather than installing it on your host machine.

You can git clone the code from this repository:

https://github.com/SynBioDex/SbolStandardWebsite.git

Change directory into the newly-created directory:

cd SbolStandardWebsite

Make the desired changes, and re-build:

docker run --rm -it -v $(pwd):/src --user $(id -u):$(id -g) klakegg/hugo:ext-alpine

Checking for broken links

There is a Github Action which checks the deployed site for broken links. This is not scheduled to run automatically on the first of the month, but additional runs can be triggered manually.

On the Actions tab, select the "Check links on live website" action, then click "Run Workflow" to trigger a new run.

You cna view the results of an existing run from the list of actions by clicking on the "Check links on live website" title, and then on "check links".

Problem solving

If you encounter problems, you may find the Wowchemy website or Discord channel helpful.