Skip to content

Site Architecture

Justin Chadwell edited this page Jul 10, 2020 · 1 revision

The setup for this site is quite straightforward, and if you have any experience with Jekyll-based sites, you'll fit right in.

A few important files and folders that you should be aware of:

  • _config.yml
    • Site-wide configuration
  • favicon.ico
    • Little image displayed in the corner of tabs
  • _data/
    • Contains data accessed by pages to render content
    • Deciding whether data should go here or into frontmatter directly can be a tricky decision, prefer putting it into page frontmatter unless multiple pages need to access the data.
  • _collections/news/
    • Contains markdown files for each newletter post
  • _collections/clubs/
    • Contains markdown files for each club
  • _assets
    • Location for all static assets
  • css
    • CSS and SASS files that make up the stylesheets for the site
  • js
    • Javascript used in the site
    • Use sparingly, we want the site to still work for people who don't enable Javascript
  • fonts
    • Fonts used on the site
  • _layouts
    • Define the general structure of pages
    • Can inherit from each other to form hierarchies (super useful to avoid repetition)
  • _includes
    • Utility "functions" for layouts (and also for individual pages)
  • _scripts
    • Assorted collection of scripts for developers to help them make changes to the site

There are 3 layouts that you might want to use.

  • page
    • The most basic of layouts, a normal page that can contain any content
    • You usually do not want this one, unless you're making a new page entirely from scratch, it's very plain and basic
  • textpage
    • A slight alteration of the page layout to emphasise text and make it look nicer.
  • post
    • The layout used in newsletter posts.
Clone this wiki locally