Go to file
Lawrence Gibson dc3df38bb0 update uni logo 2024-03-21 23:00:48 +00:00
.cache Bugfix: run tailwind build, not tailwind watch 2021-09-08 15:50:19 +01:00
css remove outdated or incomplete content 2024-02-13 10:17:03 +00:00
internal update uni logo 2024-03-21 23:00:48 +00:00
old remove outdated or incomplete content 2024-02-13 10:17:03 +00:00
.eleventy.js Revert "Updated directory for pass through" 2021-09-17 15:41:29 +01:00
.gitignore Update .gitignore 2022-09-05 13:56:54 +01:00
README.md Added README 2021-08-20 17:48:17 +01:00
eleventyComputed.js new file: eleventyComputed.js 2021-08-20 01:05:56 +01:00
package.json remove outdated or incomplete content 2024-02-13 10:17:03 +00:00
postcss.config.js Add project files. 2021-08-18 19:56:22 +01:00
tailwind.config.js remove outdated or incomplete content 2024-02-13 10:17:03 +00:00


Freeside Web

This is an Eleventy powered website with TailWind CSS and PostCSS integration built to serve as a replacement for the Freeside website.


The following are the benefits provided by each page. Take note of these and consider them when making changes in the future.

Landing page (index)

  • Provides concise introduction to Freeside with calls to action.
  • Provides links to all social media/communication methods.
  • Provides clear routes to projects, showcases, resources and posts.

About page (about/index)

  • Provides clear information about Freeside
  • Provides links to all social media/communication methods
  • Provides information about getting involved and benefits of getting involved.

History page (history/index)


Blog (blog/index)

  • Replaces index of previous site to create a dedicated blog page
  • Lists blog posts from data/posts

Posts (data/posts)

  • Posts ported from old blog to maintain meta data/seo.
  • Updated metadata to comply with eleventy.
  • Allows Freeside to use eleventy as it's main blog platform, retiring Freeside-Blog


The structure of Freeside Web is separated into internal and public with configuation files existing outside of these directories. Below is an explanation of the struture:

Configuration files

.eleventy.js is the main eleventy configuration file.

eleventyComputed.js controls Computed Data within the website.

tailwind.config.jsis the main Tailwind CSS config file. Advanced configuration/customisation can be done here.

postcss.config.js is the main PostCSS config file. Advanced processing for CSS should be done here.


Contains the structure, data and other resources for the website prior to it being rendered into html.


This page is primarily made up of content with the header and footer snippets being defined using layouts/home.


Contains all of the major resources for the website, including css, img, js,layouts and snippets.

css contains all of the style files. The styling is provided by Tailwind CSS which is primarily running "out of the box". Customisation of Tailwind can be done in tailwind.config.js. Any processing / removal of unused styles / optimisation should be done with postcss.config.js.

img contains images used within the website. note: some images reside only in the public img folder.

js conains all of the js files relevant to functionality of the website.

layouts contains all of the layout files, these are in nunjuck format. There is a home, default, blog and post layout.

snippets contains 'snippets' which aid layouts. For example, nav & footer snippets can be found in each layout to provide a uniform layout. The alumni snippet should be used as the profile for each alumnus profile.


Contains the index.njk which serves the about page.


Contains the index.njk which serves the alumni page.

Also contains individual alumnus profiles. Profiles should be named as per the alumnus tag, e.g. closebracket.njk, sleepyxuras.njk.


Contains the index.njk which serves the blog page. This should display a list of blog posts using eleventyComputed.js and posts from data/posts.


Contains any/all relevant data for the website.


Contains markdown files which are displayed on the blog. The former data structure has been retained aside from the date format which was changed to comply with eleventy's standards. Any further blog posts should be placed in this directory so that they can be displayed on the website.

Each post should start with the following:

layout: layouts/post
title: Your title
date: "2021-08-20"
tags: sometag



Contains the structure, data and other resources for the website after it has been rendered into html.

Getting Started

Once you have the repo cloned and available your system, run the following commands:

  1. Install all the needed dependancies as per package.json.
npm install
  1. Once the dependancies have been installed, you can start the site by running
npm start