Lab Website Template

An easy, automatic, flexible website template for labs

Vincent Rubinetti, Casey Greene
University of Colorado, Anschutz School of Medicine

Introduction

Research labs need a professional and up-to-date website to showcase their work, attract collaborators, and establish an online presence, but developing and maintaining one can be challenging and time consuming. Lab Website Template is an open-source, code-based tool that automates citation generation, repo configuration, and anything else it can, letting labs focus more on research and less on web development and grunt work.

Approach

Before v1.0, we gathered many observations and direct feedback that shaped our approach. Some things we noticed:

Some philosophies we adopted to address these needs:

Technologies

Jekyll Static site generator. Long-lived. Plugin-rich. GitHub Pages for hosting. Actions for automation. Markdown For content. Liquid for templating. Python For auto-cite scripts. Familiar for researchers. Docker Runs template locally. Cross-platform. Single install. Ruby For data filtering. Jekyll plugins, other misc.

Auto-Citations

Who wants to manually manage citations?

Simple input Rich output

orcid.yaml
- orcid: 0000-1111-2222-3333
              

Input your "meta-sources" as simple IDs.

We auto-expand these into full lists of sources from ORCID, Google Scholar, or PubMed (extensible via plugins).

sources.yaml
- id: doi:12345
  image: thumbnail.jpg
  tags: biology, data
              

Input your hand-picked sources as simple IDs (2k+ supported types), and extra rich details.

We auto-generate full citations – title, authors, date, publisher, etc. – with Manubot.

research.md
{%
  include list.html
  data="citations"
  filter="category == 'featured'"
%}
              

Include citations in your site however you want with the list component. Filter with unwieldy Liquid any Ruby expression.

More Automation

Several other automations handle the most confusing and error-prone tasks for you, triggered by events, with little or no manual steps.

  • Click some buttons, wait a few, and your site is live and ready to edit.
First time setup
Init branches
Clean up/rename files
Personalize with @username/URL/etc.
  • Edit your content, wait a few, and your changes are live.
On push to main
Run cite process
Build site
Host at main URL
  • Suggest changes and preview them before publishing. No Netlify needed.
On pull request
Build site preview
Host at /pr-# sub-URL
Post PR comment w/ link
  • Keep your lab's CV up-to-date.
On schedule (weekly by default)
Run cite process
ORCID/etc. may have updates
Open PR if any changes

Other Features

Outcome

We believe our approach and design lead to a valuable piece of software, evidenced by the template's growing adoption on GitHub, positive feedback, and gallery of active labs using it. This work has likely saved researchers and others significant time and money, reflecting a community resource that effectively serves the needs of its users.

Median...
Response Resolution Issue
Discussion

The next evolution could focus on even more convenience, simplicity, robustness, and flexibility. We'd like to use a more modern, type-safe site generator like Astro, make template version upgrades automatic, and make citations even more seamless.