Say we're in year 20XX. To make a new year's offering course webpage for the new year 20XX+1:
- First, archive the current/old year's
index.html
page. Do this by making a new directory called the current year, '20XX', and copying the currentindex.html
file held at the top level of thisbe262
directory into the new directory. (The logic of the whole webpage is that whateverindex.html
is found at the top level is the one served by github pages to visitors to the webpage without a year suffix.)- Note: not essential to get a functional
20XX+1
page up and running, but: to properly archive the old websites so references are intact, you must also copy the contents of_site/20XX/
into the_site/20XX+1
folder.
- Note: not essential to get a functional
- Next, edit the
index.html
file still at the top level ofbe262
to indicate the new year, by changingyear: 20XX
toyear: 20XX+1
. - Now, go to the
_posts
directory. This directory contains the majority of files you would be updating the content of that comprise the website (eg thoseAbout
,People
,Programming
, andReadings
links that populate the left side of the webpage). The webpage framework essentially expects a structure like a blog, so each of the Markdown files in_posts
contains a date. These dates are arbitrary, except for the fact that the current year's posts must all have the current numerical year correctly specified. So, copy the old/current year's posts---namely, eg20XX-01-24-readings.md
,20XX-01-25-code.md
, and so on---into new versions that are renamed with the new year, e.g.20XX+1-01-24-readings.md
, etc. Next, inside each of these year20XX+1
post .md files, edit anything that says the old20XX
year into20XX+1
: e.g. at the minimum thetag:
andyear:
attributes at the top of each of the files. But also, for e.g. the20XX+1-01-24-code.md
file, you'll need to edit a mention insite.data.20XX.speakers
tosite.data.20XX+1.speakers
, etc. - That last edit recommends that under
_data
, there will be expected to be a directory with each year where info is to be found. So, cd into_data
and copy the old year20XX
directory into a new directory named20XX+1
. - Edit these
_data/20XX+1
files accordingly to reflect the new schedule of speakers, the new TA's, any mugshots, etc. Add any new people/speaker mugshots tobe262/images/people/
so you can call them in files found in_data/20XX+1
; remember that it is strongly recommended that all images are square in aspect ratio to prevent formatting weirdness. - Update anything else with new materials! Remember to commit etc.
- To update information, most of the time you'll modify the entries in this year's appropriate
_posts
, or the data files automatically consulted in_data/20XX+1
. Git committing should result in a Github page build that is indicated by a little yellow dot (denotingpending
compilation) that turns to a green checkmark next to your commit status in the main repo page, indicating that the changes have propagated to the live webpage. Jekyll
automatically compiles the contents of_site
, so do not directly edit the.html
files found in this folder (except for perhaps copying into older year directories), because these changes won't reflect in compiling the github page upon every commit. Instead, update the relevant files in_posts
or in the top levelbe262
directory.