To buid the website locally, follow the instructions provided on the Jekyll documentation. If you have jekyll pre-installed, you can simply run
bundle install && bundle exec jekyll serveImportant
Please make sure to not commit your Gemfile.lock.
All lecture files at present at _lectures. The lectures are sorted based on topics in folders (take a look). To add a new lecture, follow the steps as given.
- If the lecture belongs to a topic already created, skip to step 4. Else, create a folder with the category name. Make sure the name has only small letters and -. For example, write
quantum-mechanicsinstead ofQuantum Mechanics. - Add an
index.mdin the newly created topic folder. In the front matter (the instructions written between the two triple-dashed lines), write the following. Here,Topic Nameis the name of the topic andtopic-nameis the "slugified" version of the name. The folder names are slugified. Check theindex.mdof other topics to clarify any immediate confusions.
layout: topic-page
permalink: '/lectures/topic-name/'
title: Topic Name Note
An index.md created in a topic folder creates the topic page for that topic. A topic page lists all the lectures under that topic. The code for the rest of the page can be found at _layouts/topic-page.html (the layout field in the front matter references this file).
- Next, in
_config.yml, under thedefaultfield, add a new item (the - does this). Underscopefield, mention thepathof the topic folder as_lectures/topic-name/and the type aslectures. In the value field, mention the topic name. Take a look at the pre-existing defaults to get an idea in case of confusions.
Lines 74 to 79 in 0487c79
- Create a new file under the said topic folder (
_lectures/topic-name) and name it in the following format:yyyy-mm-dd-slugified-lecture-name.md. - In the front matter, type the following. Here,
Lecture Titleis the sentence cased title of the lecture and theAuthor Nameis the name of the author1 (read footnote please) of that lecture. A reference has also been added.
title: Lecture Title
author: Author Name
layout: post-
Add the Lecture contents. Just below the front matter of a page, you can write an excerpt for the lecture. To mark the end of the excerpt, add
<!--more-->in a new line. (Adding a one or two line except is recommended. -
If you need to add any media file, upload it in the repository itself. For an image, convert the required image to WebP format and go to
/assets/img/posts/and create the topic folder if not already there. In the latter folder, create another folder with the same name as the slugified title and upload your image there. Then link your image using a link of the form/assets/img/posts/.... The first forward/is to ensure the link is not relative but absolute - this prevents some headaches in case some files are being moved around (not the image file). -
If the lecture has any poster, upload it in the same folder as mentioned in the previous step. Create a new field in the front matter called
imageand add the "absolute" link to the poster. If the lecture has been recorded and uploaded in any video serving website (for example YouTube), create avideofield in the front matter and add the link. If cloud-stored lecture materials are provided, add a new field calledslidesand add the link.
Note
Only one link is allowed in the image, video, and slides fields. Incase of multiple links for either video or slides, consider linking them in the text itself or putting the videos, other materials in a cloud folder (Google Drive, OneDrive etc) and linking that folder.
- Save the file, check the preview (build with jekyll and check) and if everything's alright, push the changes2. It is advised to push multiple files together to avoid spamming the commit history. If you don't have permission to push to the repository directly, create a pull request.
Adding new events is relatively simpler. Just add a markdown file named yyyy-mm-dd-slugified-title.md in the _events folder. Then follow step 5 onwards from Adding New Lectures.
To make any post in either Lectures or Events as featured, add a "featured" tag in the front matter.
tags: [featured,]Upload your image in /assets/img/gallery/ and name it as YYYY-MM-DD_Your-image-description followed by the extension (.webp recommended).
It has been assumed that the newsletter names will continue as The Canonical and The Geodesic, hence folders of appropriate names have been added to /assets/files/newsletter/ and /assets/img/newsletter. To add new issues of these Newsletters, add the newsletter PDF under appropriate folder in /assets/files/newsletter/. Rename the PDF in the format YYYY-MM-DD_Your-Newsletter-Tagline.pdf where YYYY-MM-DD is the newsletter publication date. Add the image for the cover page under appropriate folder in /assets/img/newsletter/ and rename it as YYYY-MM-DD followed by image extension (.webp recommended) where YYYY-MM-DD is the publication date. If the dates mismatch, the cover page will not be linked to the PDF file.
If you wish to add any other newsletter (say you manage to publish monthly newsletters) add them under assets/files/newsletters/ with appropriate naming (in the format mentioned before) to make them appear under Other Newsletter section on the Newsletter page.
To add a new section for your year's Convenors and other members in the Team page, add a new file named as YYYY.yml under _data/team/. You can copy the format of the such files from the other files in that section. If the other members have a specific team name, you can add a volunteer-team-name field. A good example of such a file is 2025.yml.
I hope this helped. In case you have any doubts, feel free to contact the repository admins.
Footnotes
-
The author here refers to the speaker or the person responsible in conducting the lecture, not the person who actually created the file. ↩
-
If you're unfamiliar with Git and GitHub, it is advisable to read Git Basics - Working with Remotes, and Intro to Version Control - Part 1 and Part 2 ↩