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.
_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
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 footerpage
, which adds the page title and lower navbarpage-with-menu
, which adds an in-page menu that links to second-level headingspost
, 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.