Repo structure

A brief explanation of the folders and files in the template

Most of this structure is enforced by Jekyll. See this page of the Jekyll documentation more thorough explanation of some of the items here.

Template vs. user content

The most important distinction to make is between template content ("under-the-hood") and user content (for your specific website).

In general, here's how the files and folders in the template fall into these two categories. We've tried to keep these as separated as possible, within the limitations of Jekyll.

Template repo only content

There are a few files and folders that are needed for the lab-website-template repo itself, but don't belong in your generated/forked repo at all:

  • CHANGELOG.md

  • testbed.md

  • .github/ISSUE_TEMPLATE

  • .github/workflows/versioning.yaml

  • .github/pull_request_template.md (rename user_pull_request_template.md in its place)

Keeping these files in your repo wont break anything per se, but they do increase clutter and confusion. The first time setup process automatically removes and renames these for you, but when updating your template version be sure not to accidentally re-add them to your repo.

Images and other assets

The template comes with a default /images folder to hold all your site's images, but you can organize your images however you'd like. For example, you could put photos of your team in /team/photos/ and just refer to them like team/photos/anna-sun.jpg.

You could also create /videos or any other folders you need for static assets and refer to them in the same way.

The only exception to this is your logo files and fallback image, which the template expects to be in /images.

Data and components

The template comes with a few placeholder data lists and matching components for common needs:

Full accounting

A piece-by-piece breakdown of the folders and files in the template. You don't have to understand the inner workings of all of this, but it helps to know generally what each piece is for.

Last updated