RITlug's current website.
The website's last major update was Summer 2018, but content dates back to 2015.
github-pages
Gem is used to simplify dependenciesmaster
branch
The site uses an undocumented feature of Jekyll where categories are defined using category/_posts/
instead of _posts/category/
.Please see CONTRIBUTING.md for more info on the technical specifics of the site.
Add a new .md
file to one of the _posts/
folders for a category.
Assets should be stored in a folder within that category, for example, talks/slides/
or projects/assets/
.
Asset file names should have enough info in the file name to know what references it (such as the associated talk date for slides) or be in a subfolder for things with a lot of assets (such as the TigerOS project).
Current categories:
announcements/
)events/
)meetings-meetups/
; see Calendar & Placeholders)projects/
)talks/
)(This is the short version; if you need help using git please ask us, we'll be glad to help)
Jekyll is what builds the site.
It handles rendering of Markdown and templating.
Jekyll requires that all post pages start with a valid date in the syntax YYYY-MM-DD-(title).md
.
Jekyll uses something called Frontmatter to know more information about the page. Frontmatter defines what the page looks like and metadata such as the title, author, and event details (where applicable).
Frontmatter should be at the top of a post and should be encased in triple-dashes (---
).
All times are of the timezone America_New_York
.
Additionally, Jekyll uses the string <!--more-->
to define where the summary of pages end.
This is used when showing post previews on the site.
Optionally, the excerpt
frontmatter can be defined instead to override this (if using an HTML page instead of Markdown in special cases, the except
frontmatter should be used instead of <!--more-->
).
Please use this functionality to keep lists of posts readable.
For example,
---
title: Example thing
layout: post
---
Hello RITlug!
This week...
<!--more-->
Other things happening.
- Signature
If defined, the date-start
and date-end
frontmatter will replace the date specified in the file name in the iCal feed (where applicable).
More detail on frontmatter below...
Announcements are used to spread the word about what's happening.
Posts in this category are added to an RSS Feed (at https://ritlug.com/feeds/latest.xml), which get forwarded to the IRC/Slack and Google Group.
Additionally, if the page layout
is post-event
, the Calendar iCal feed with get the post added to it.
announcements/\_posts/
named with the convention YYYY-MM-DD-wNN-your-title.md
(such as 2019-12-06-w13-final-meeting.md
)Announcing an event (such as the weekly meeting):
---
author: Jeffery Russell (@jrtechs)
title: "Final Meeting"
layout: post-event
date-start: "2019-12-06 16:30"
date-end: "2019-12-06 18:00"
location: "GOL-2620 (Med. DB Lab)"
---
General Announcement:
---
title: title of your announcement
author: your name
layout: post
---
Talks is for slides and notes about what was presented at a meeting. Posts in this category work similarly to announcements, including that they get added to an RSS Feed (at https://ritlug.com/feeds/talks.xml), forwarded to IRC/Slack, and get added to the Calendar iCal (they do not get forwarded to the Google Group though).
talks/\_posts/
named with the convention YYYY-MM-DD-wNN-your-title.md
(such as 2019-03-07-w8-zfs.md
)slides
which automatically provides an embed & link for slidestalks/slides/
2015-fall-contributing-to-github-projects.pdf
)Example frontmatter:
---
title: ZFS
author: Josh Bicking (@jibby0)
layout: post
slides: 2019-spring-w08-zfs.pdf
---
Events are written after the event (to highlight what happened at the event). Events are added to the Calendar iCal, but are not added to an RSS Feed, auto-posted in IRC/Slack, nor forwarded to the Google Group.
events/\_posts/
named with the convention YYYY-MM-DD-wNN-your-title.md
(such as 2018-08-08-tim-flock.md
)Events & Projects pages tend to use image gallery functionality.
This can be done using the images
frontmatter with an array of photos and including the gallery
.
The images
parameter takes relative links to the RITlug site or absolute links for images hosted on other sites.
Example event page:
---
layout: event
title: President Tim Zabel at Fedora Flock 2018
authors:
- Tim Zabel (@Tjzabel)
excerpt: RITlug President Tim Zabel presents on TigerOS & Remixes at Fedora Flock 2018 in Dresden.
images:
- /events/assets/2018/08/tjzabel-flock.jpg
---
RITlug President Tim Zabel presents on TigerOS & Remixes at Fedora Flock 2018 in Dresden.
{% include content-blocks/gallery.html %}
> (talk abstract)
(link to talk page on conference site)
Projects are about the things the club works on. They are not added to an RSS Feed, auto-posted in IRC/Slack, added to the Calendar iCal, nor forwarded to the Google Group.
events/\_posts/
named with the convention YYYY-MM-DD-wNN-your-title.md
(such as 2018-08-08-tim-flock.md
)Like events, projects tend to use the image gallery.
Many projects pages tend to use custom HTML (incline or entirely) to have a better show-off effect.
If using custom HTML, the excerpt
frontmatter should be set.
If doing the page entirely in custom HTML, the layout
should be set to default
, which will include the RITlug navbar & footer, but not add the white page background.
The author
/authors
frontmatter should be defined.
Additionally, the permalink
property is commonly used to give a more special URL.
---
layout: project
title: Name
authors:
- ...
permalink: /projects/name
excerpt: Cool thing we do
images:
- /...
---
(Content)
{% include content-blocks/gallery.html %}
Jekyll generates an iCal calendar feed of event announcements, talks, and events (see also relevant sections above). This feed is generated at https://ritlug.com/feeds/calendar.ics
Here's the logic for common, notable event properties:
title
frontmatter<!--more-->
(or excerpt
frontmatter)date-start
and date-end
will allow manual specification of event date and timelocation
frontmatterNote: Titles get automatically prepended with "RITlug: " because an opinionated developer of the site found it was easier to read in their calendar. This is stripped on the "Calendar" page of the site.
Sometimes you want to add an event to the calendar but the details haven't been decided yet. For example, all the weekly meetings of the semester have a set time and date but the topics and presenters may not be worked out yet. Well, there's a solution for this!
meetings-meetups/_posts/
folder named with the convention YYYY-MM-DD-your-title.md
(such as 2020-04-25-imaginerit.md
)Additionally, calendar placeholders are highly encouraged to use the redirect
layout & frontmatter to specify a link for the event.
For example:
---
layout: redirect
redirect: https://ritlug.com/get-involved
date-start: "2020-04-25 16:30"
date-end: "2020-04-25 18:00"
location: "TBD"
title: "ImagineRIT"
---
Help or visit RITlug at ImagineRIT!
Stay tuned for more info closer to the event.
Placeholders can also take an rrule
frontmatter for recurring events, written to the iCal spec.
Of particular note,
The UNTIL rule part defines a DATE or DATE-TIME value that bounds the recurrence rule in an inclusive manner. If the value specified by UNTIL is synchronized with the specified recurrence, this DATE or DATE-TIME becomes the last instance of the recurrence. The value of the UNTIL rule part MUST have the same value type as the "DTSTART" property.
For example:
---
layout: redirect
redirect: https://fossrit.github.io/
date-start: "2020-01-16 17:00"
date-end: "2020-01-16 19:00"
location: "MSS-3190"
title: "FOSS Hours"
rrule: "FREQ=WEEKLY;UNTIL=20200423T190000"
---
Not a RITlug event, but one we think is worthwhile to share and you'll likely see some of us there
Edit _config.yml
and update the settings "ritlug-time", "ritlug-place", and
"ritlug-day".
These are used (and should be used) everywhere on the website
the meeting time and place are referenced so that they can be updated in
one place.
Please note that this does NOT update events in the iCal feed.