This repo contains a template for creation of course websites. The website structure is driven dynamically from a CSV
file _data/schedule.csv. This allows the content descriptions, pages, and schedule to be easily updated with new
dates, lecture order, etc. The template is designed to build with Github Pages when pushed to Github.
Be sure to configure your GitHub repo to use GitHub Pages and point it to the main branch.
bf500_course_websitegit init . from inside the new directoryThings to do:
_data/schedule.csv using the scheme described below_lectures/ and _assignments/
directories for each of the tags in your schedule CSV_config.yml Set the url and title fields appropriatelyassets/css/style.scss You can configure all the colors of the site using the variables in this file.relative_include tag from index.md so this readme doesn't appear on the main page_data/schedule.csvThe file _data/schedule.csv specifies the details of all course content and is used to populate the site dynamically.
This should be a comma separated value file with the following columns:
Date Any format (e.g. 1/27/2023)Day Day of week (e.g. M, T, W, etc)Lec Lecture number as integers (e.g. 1,2,3,...)Topic Human-readable name of lectureTopic Tag Machine-readable tag for lectureTopic Slide Link Publish URL for google slidesAssignment Human-readable name of assignmentAssignment Tag Machine-readable tag for lectureThe first row of schedule.csv should have the exact column names as above in that order. Each row of the spreadsheet
causes a row in the Schedule table to be created as follows:
Date, Day, and Lec columns are added as-isTopic column is populated dynamically based on the data in the row:Lec has no value, the row is colored white. This is useful for semester dates when class is not held, e.g.
spring break.Lec has a value, the row is colored normally, and the field contains:Topic Tag has a value, a link to the page _lectures/<Topic Tag>.html with the text in TopicTopic Tag does not have a value, the Topic text is placed in the column with no linkAssignment column follows the same logic as the Topic column, except with Assignment and Assignment Tag
values, and links are to _assignments/<Assignment Tag>.htmlnschedule.mdThe Tag column values should have no spaces in them and no special characters other than hyphens -.
The template expects there to be an individual markdown document under _lectures or _assignments for
each Topic Tag or Assignment Tag, respectively. For example, if a Topic Tag is intro-lecture-1, the template
looks for the file _lectures/intro-lecture-1.md. Similarly for Assignment Tag. The contents of the file must include
the standard markdown header at minimum:
---
---
This is additional text for the page that you can write
There are two special features on lecture pages:
Lec value in the spreadsheet. Topic Slide Link has a value, the slides are embedded at the top of the pageThe site is designed specifically to show Google Slides decks that have been published. The link in schedule.csv must
be the link obtained as follows:

This work is licensed under a Creative
Commons Attribution-NonCommercial-NoDerivs 3.0 United States License.