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.
The website is generated by the Hugo website generator and uses the
Academic theme. The theme is stored as a submodule under
themes/academic/
.
-
Recursively clone the repository:
git clone --recurse-submodules https://github.com/cornell-pl/pl.cs.cornell.edu.git
-
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.
-
Run
hugo server -w
to generate the website locally.
In two easy steps!
- Edit the news file using one of the formats.
- 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.
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
.
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.
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.