/pl.cs.cornell.edu

Website for PL@Cornell

Primary LanguageHTMLMIT LicenseMIT

Cornell PL WWW

Website for the Cornell Programming Languages group.

The website is automatically deployed using Github actions. Contact Oliver Daids (Web Czar) or Adrian if there are issues.

Pre-requisites

The website is generated by the Hugo website generator and uses the Academic theme. The theme is stored as a submodule under themes/academic/.

  1. Recursively clone the repository:

    git clone --recurse-submodules https://github.com/cornell-pl/pl.cs.cornell.edu.git
    
  2. Install Go (ver >= 0.49.2) and Hugo (ver >= 1.11 && ver <= 49.2). Note: The website will not build with newer versions of Hugo.

  3. Run hugo server -w to generate the website locally.

Adding news items

In two easy steps!

  1. Edit the news file using one of the formats.
  2. If you don't have write access, create a pull request and tag @Oddity0x0. If you do, just merge! The website automatically rebuilds and redeploys on each push.

PLDG/Great Works

To create a new PLDG page type:

hugo new pldg/<semester>.md

where <semester> is of the form 2019fa.

Next, edit the file generated in content/pldg/<semester>.md and update the link in config.toml for pldg to point to the latest webpage.

A new great works page can similarly be created using:

hugo new great-works/<semester>.md

Again, in order to make the navbar point to the new page, edit config.toml.

Content Mangement

Most of the content is stored under /content/home.

  • about.md: Content for the about widget.
  • news.md: Latest news about the group. To add a new news item, use the format from the other items. Since the [[news]] list is order, make sure that the item is added to the top.
  • faculty.md, students.md, alumni.md...: Content for various groups of members.

Styling

The styling templates are stored under layouts/. Hugo uses a priority-based override method for determining which template to use. By default, it uses the template from theme/academic/layouts unless there is another template of the same name (and directory structure) in layout/.

For example, if you want to override the styling in theme/academic/layout/foo/bar.html, simply copy it to layout/foo/bar.html and add your changes.

Former Web Czars