Skip to content
/ skule.ca Public

Website for the University of Toronto's Engineering Society

License

Notifications You must be signed in to change notification settings

skule/skule.ca

Repository files navigation

skule.ca

This repository hosts the Skule™ website.

Please read all of this page before editing the site.

This site is powered by Jekyll, and uses the Bulma CSS theme. We have Markdown (.md) files that make up the contents of the pages, and various .html pieces that generate the rest of the site. The Jekyll system compiles these Markdown files into HTML files before serving them to the user. Various variables and functions are available through the Liquid programming language.

Please note that changes to layouts and includes should go through the Webmaster.

Directory Structure

_includes/
    ├─> head.html       << scripts on all pages except home
    ├─> nav.html        << navbar on all pages except home
    └─> footer.html     << footer on all pages except home
    
_layouts/
    └─> default.html    << layout for all pages except home

about/, academics/, bookings/, ...
    ├─> ... .md         << pages - edit these !
    └─> .../...         << add assets folders for page-specific assets

assets/                 << sitewide assets only!
    ├─> skule.css       << modifications to Bulma for skule.ca
    └─> imgs            << various *sitewide* icons 

_posts.
    └─> YYYY-MM-DD-title-goes-here.md         << posts - edit these !

index.html              << homepage, fully self-contained

CNAME                   << used to point skule.ca to the site - don't touch it!

Every folder without an underscore, such as /about, is a category, and each .md file in one of the folders is a page in that category. This does not include /assets.

The site automatically generates all the navigation elements based on this folder structure. Category names are generated by capitalising and cleaning folder names.

club-resources --> [club, resources] -> Club Resources

How to Write Pages/Posts

Every page has a "front matter", which informs Jekyll of the page title, layout, and order.

---
title: My Page
layout: page
order: 100
---

--> Page Content Begins Here <--

title and layout are mandatory. order allows manual ordering of the pages within their categories. This informs the order of the pages in the dropdowns. If order is not provided, the pages are instead arranged alphabetically. Posts do not have an order, but they do have an author.

The layouts available are:

  • default, which provides only a top-level navbar and footer
  • page, which adds the page title and lower navbar
  • page-with-menu, which adds an in-page menu that links to second-level headings
  • post, which must be used for posts, and cannot be used for anything else

Here are some things to note:

  • Page titles are automatically added, so don't write a title in the content, or you'll have a duplicate.
  • First-level headings are used for page titles only. Start from second-level headings, especially if you are using a page-with-menu.
  • Use second-level headings if you want them to show up on page menus!
  • Avoid using anything except alphanumeric characters when using page menus.

Page content uses Markdown for formatting, and HTML can interlaced within. Here's a Markdown guide.

About

Website for the University of Toronto's Engineering Society

Resources

License

Stars

Watchers

Forks