hzi-braunschweig / serohub

The LEOSS.sero-survey platform is a crucial and independent infrastructure to accelerate research about the seroprevalence of SARS-CoV-2.
https://serohub.net
Other
5 stars 11 forks source link
covid-19 sars-cov-2 seroprevalence

SeroHub

This website is created by Helmholtz HZI to support the open collaboration of researchers around COVID-19.

Get help

For any issues with the site including typos or rendering issues, please file an issue or send a pull request. The site automatically deploys once pull requests are merged.

Contributing content

To contribute content, you can create a Pull Request with the content.

  1. Fork the repository (repo) of the serohub website.
  2. Draft your post in R Markdown or Markdown.
  3. (Optional) Preview and refine your post locally.
  4. Submit via pull request and preview your post.
  5. A SeroHub maintainer accepts your content, or requests changes.

An excellent place to learn about contributing science related blog posts is ropensci technical guidelines.

Add a researcher

If you would like to add a researcher, the general content steps are taken but instead of generating files with markdown you amend the Researcher list.

Making changes to the website

For changes to the website, there are a few key areas:

Publications

The default site (en):

The language-specific sites (e.g. de):

Getting things set up locally

Get the repo locally

  1. If you're a member of the organisation, git clone --recurse-submodules git@github.com:hzi-braunschweig/serohub.git
  2. If you're not a member of the organisation, fork the repo, then
    • git clone --recurse-submodules git@github.com:<your account>/serohub.git
    • git remote add upstream https://github.com/hzi-braunschweig/serohub.git

Get the submodule

We use a theme hugo-infinite as the basis for the site. The --recurse-submodules argument in git clone will have established a connection. You should not make changes to contents in the submodule instead, you should copy files from the themes structure and paste them into the corresponding section of the main repository and edit it there. You only work with the submodule contents directly if you want to fix a bug and that is best done with a fresh fork of the theme directly from the theme's repository.

Run hugo locally

From inside the website directory, run hugo serve to get a live local copy (typically on http://localhost:1313) that will update whenever you make changes.

Infrastructure

GitHub

We will host the solution on Netlify with the source files hosted on GitHub. This will enable HZI researchers to work in an open way and accept collaborations from others.

Hugo

This website uses Hugo. To work with Hugo locally, you will need to install it.

Hugo is a website generator that pre-generates web pages so that they can be hosted very cheaply. It is used by a significant amount of the research and science communities due to its excellent support for markdown which enables researchers to use literate programming techniques in R and Python to interleave analysis and text.

Netlify

The website is hosted on Netlify.

Automated deployments

The website is automatically updated everytime there is a change to the master branch in GitHub. Additionally, any pull requests or branches will also have preview URLs built. The preview links for Pull Requests will be included in the Pull Request interface on GitHub.

Authentication

The Netlify hosting has Visitor access > OAuth authentication enabled with a GitHub OAuth application - this is important for the Netlify CMS to support open authoring.

SSL

Netlify can support custom SSL certificates to be associated with the intended domain of serohub.helmholtz-hzi.de The SSL can either be a letsencrypt managed certificate or it can support a wildcard domain SSL. Note that the custom certificate route requires the SSL certificate to be updated manually, whenever a new one is issued.

Netlify CMS

The user interface for adding and managing studies is built using the Netlify CMS.

How it works

The CMS is used to provide an interface to GitHub and Git activities behind the scenes. You can login with your Github account at serohub.netlify.app/admin. Please note,

Resources