-
Notifications
You must be signed in to change notification settings - Fork 317
Get Started
To set up the basics of your site, follow these one-time instructions.
- Make a GitHub account
- Start your copy of this template in one of two ways:
-
Create a new repo from this template under your account with the button (leave
Include all branches
unchecked), if you want a fresh copy of the template and a clean break - Make a fork of this repo under your account with the button, if you want to more easily update your template version and you're okay with having the the development of this template in your commit history
-
Create a new repo from this template under your account with the button (leave
- Enable GitHub Actions on your repo to allow automatic citations
-
Enable GitHub Pages on your repo with the default settings (
main
and/root
) - Set up your site's url to ensure the template can work properly
- Your site should be live!
There are a few choices you have for where your live site appears.
Type of site | Rename your repo... | Url you get... | Set baseurl to... |
---|---|---|---|
GitHub "project" site | e.g. your-lab-website
|
https://your-lab.github.io/your-lab-website |
/your-lab-website |
GitHub "user/organization" site | Must be your-lab.github.io
|
https://your-lab.github.io/ |
"" |
Custom domain | e.g. your-lab-website
|
e.g. https://your-lab-domain.com/
|
"" |
Where your-lab
is your GitHub user or org name.
Choose which type you like the best, then:
-
Rename your repo accordingly.
To avoid confusion with the template itself, please don't leave your repo name as
lab-website-template
. - Set the
baseurl
field in your site configuration accordingly. Failing to do this properly can cause unexpected problems. - Publish the changes.
Purchasing a custom domain is highly recommended.
It looks professional, it's easier to remember, and it's easy and cheap to set up (.com
s are usually only about $10 per year).
To setup a custom url, follow the instructions here. In summary:
- Purchase a domain name from a reputable service
- Point your domain name provider to GitHub Pages using an
A
record. This is slightly different for each company; they should have their own instructions on how to do it. - Set the
custom domain
field in the settings of your repo (automatically creates aCNAME
file)
When you or someone on your team wants to make changes to your website, you'll likely want a convenient way to 👁️ preview and ✏️ review the changes before publishing them. To set this up, follow these one-time instructions.
- Make a Netlify account
- Hook up Netlify to your website repo
- Set Netlify's
Publish directory
to_site/
(the directory where Jekyll outputs your built site to) - Set Netlify's
Build command
tosed -i 's/baseurl:.*/baseurl: ""/' _config.yaml && jekyll build
. This will automatically setbaseurl
to""
before building on Netlify, because Netlify previews are hosted at root. -
Set the Netlify notifications you want.
A bunch are enabled by default.
We recommend deleting them all, then adding just:
GitHub commit status → Deploy Preview succeeded
GitHub commit status → Deploy Preview failed
GitHub pull request comment → Deploy Preview succeeded
GitHub pull request comment → Deploy Preview failed
Now, when you open or update a pull request on GitHub with any of the workflows below, Netlify will post a comment on it with a link to the preview.
It will also put a check/status on the pull request that shows a big red warning if the changes cause the site to fail to compile for some reason. You can use this to prevent merging/publishing when the changes fail.
First, find the items you need to edit to make the changes you want. Then, choose the workflow that best suits you:
- Edit an item through the GitHub website interface
- Choose "Commit directly to the
main
branch" to publish your changes immediately, OR choose "create a new branch and start a pull request" to preview your changes before merging and publishing them
This workflow is the easiest and requires no installation, but only allows changing 1 file at a time and usually isn't as nice as working in a good text editor that has syntax highlighting, more advanced controls, etc.
- Install Git
- Decide how you'll be making changes:
- Make changes directly to the
main
branch of your website repo (publishes changes immediately) - Make changes to another branch (e.g.
add-sarah-bio
) of your website repo (allows previewing changes before publishing) - Make changes to a fork of your website repo (allows previewing changes before publishing)
- Make changes directly to the
- If working from a fork, enable GitHub actions on the FORK, BEFORE opening the pull request, otherwise automatic citations might not work
- Clone the repo to your computer
- Edit the cloned site on your computer with your favorite text editor
- Commit and push the changes with Git
- If working from a branch or fork, make a pull request to your main website repo, preview the changes, and merge when ready to publish
This approach requires installing and experience with Git, but is usually easier for larger edits.
Here's how to update your site to the latest version of the template.
If your repo says generated from greenelab/lab-website-template
, see this post about pulling upstream changes from a template repository.
Requires manually resolving merge conflicts, because there is no shared commit history between the two repos.
If your repo says forked from greenelab/lab-website-template
, see this article about syncing a fork.
Allows automatic merging, though some items will still need to be resolved manually.
✨ The documentation for v1.0.0
and above are now at https://greene-lab.gitbook.io/lab-website-template-docs.