Website starter guide for scientists in 2020, and some Jekyll hacks.07 Nov 2020
This page contains some quick notes for those setting up their first webpage. I have now given out this information multiple times, so it is time to formalize it. These notes are strongly biased by what I like and think works well. So if you have alternate methods, I am likely to say “Splendid!” as the character in the Jhumpa Lahiri story does (note), but not argue with you.
For a first website, a good first goal is to have a 1-page website with essential information and a link to your CV. You can add to your website over time and with each addition, it will get easier to do so.
What is essential information? Well it depends why you are creating a webpage. Publications are on your CV, so if you have a link to your CV or Google Scholar, are not critical.
I cringe every time I see someone’s physical address listed on their webpage. Does the internet need to know your home address? No. (I might add, I only observe men doing this.)
A listing of options for webpages:
- Github provides free site hosting. Here’s a tutorial for getting set up, using their free Jekyll theme chooser. You will write in Markdown, the site is generated with the Jekyll static site generator.
- A new way to set up a webpage is fastpages, where the hosting is still on Github.
- You can also choose free Jekyll themes, not from the Jekyll theme chooser on Github. My current favorite is Minimal Mistakes.
- Another static site generator is Hugo, which I have not used, but I have admired many websites built with it.
- I have a Docker image for generating a Jekyll site locally, if installing on your machine has not gone well.
Once you have your base site set up, you can buy a custom domain. I used GoDaddy (for amytabb.com), but it seems many people are using NameCheap these days.
Many people also use WordPress. It has a WYSIWYG-type editor, though they support Markdown now. I manage one WordPress site. I always feel constrained using it, like I want to do certain things, and it will not let me. There are costs for doing basic things. Ok, you get my drift. Given that, it may work well for a lab.
There’s a few options for listing your publications from one file that you update. Among them, Bibbase seems to be the one with the most staying power. I format the publications myself, which is a popular choice as well.
Jekyll efficiency notes and hacks.
When you are picking out a template, pick one that has been updated recently. Ruby and Jekyll go through some changes, and it is only by occasionally responding to warnings and error messages that my current site (from a template in 2018) is generating locally.
Use folders in the site for drafts and your CV.
From Jekyll’s structure page,
Every file or directory beginning with the following characters:
~in the source directory will not be included in the destination folder. Such paths will have to be explicitly specified via the config file in the include directive to make sure they’re copied over:
In other words, folders beginning with
_ will not be public on your site or on Github if you have the site as a private repository. So create a
_drafts folder for in progress pages, and a
_cv folder for your CV (curriculum vitae).
Then, keeping your CV up-to-date is easy.
From the root directory, if your CV file is
cv.tex as mine is,
and ta-da, you have
my-awesome-site.io/cv.pdf in an easy-to-find place. Add to the
*.aux *.log *.out
to prevent pushing of those intermediate files. (Shopping for a CV template? CV page.)
The reference is from the final story, “The Third and Final Continent”, from Jhumpa Lahiri’s short story collection Interpreter of Maladies (1999).