Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions _collections/_merch/plushies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
layout: merch
title: TeX Plushies
slug: plushies
purchase-url: https://www.guildofstudents.com/shop/product/10317460/
options:
- name: Plushie
quantity: 1
price: 13.99
note: Limited to members only
gallery:
- url: /assets/images/tex-plushie/20250426_0008_lowres.jpg
alt: TeX reading a book
- url: /assets/images/tex-plushie/20250426_0055_lowres.jpg
alt: TeX reading about themself
- url: /assets/images/tex-plushie/20250426_0020_lowres.jpg
alt: TeX staring wistfully into the distance
- url: /assets/images/tex-plushie/20250426_0016_lowres.jpg
alt: TeX next to another TeX
- url: /assets/images/tex-plushie/20250426_0027_lowres.jpg
alt: Two TeX's having fun the robots in the CS Atrium
- url: /assets/images/tex-plushie/20250426_0042_lowres.jpg
alt: TeX sitting on a bench outside the CS building
- url: /assets/images/tex-plushie/20250426_0041_lowres.jpg
alt: TeX with Old Joe in the background
- url: /assets/images/tex-plushie/20250426_0044_lowres.jpg
alt: TeX looking down to the lower ground in CS
- url: /assets/images/tex-plushie/20250426_0025_lowres.jpg
alt: Two TeX plushies on the CS Atrium balcony
thumbnail: /assets/images/tex-plushie/20250426_0042_lowres.jpg
---

Adopt a very special hand-made crochet [TeX](/tex) plushie!

![Two TeX plushies together](/assets/images/tex-plushie/20250426_0004_lowres.jpg)

These plushies have been hand crocheted by our very own Fearne. We hope you enjoy them!

Approximate size dimensions: H: 15cm, W: 7.5cm, D: 12.5cm
20 changes: 12 additions & 8 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ social:
- https://twitter.com/CSSBham
- https://github.com/CSSUoB
menu:
- name: News
link: /newsletter
- name: Events
link: /events
children:
- name: Calendar
link: /calendar
- name: Ball
link: /ball
children:
Expand All @@ -27,21 +34,15 @@ menu:
link: /ball/2021
- name: 2020
link: /ball/2020
- name: Events
link: /events
- name: Newsletter
link: /newsletter
- name: Merch
link: /merch
- name: Committee
link: /committee
- name: Calendar
link: /calendar
- name: Sponsor
link: /sponsor
- name: About
link: /about
children:
- name: About Us
link: /about
- name: Membership
link: /membership
- name: Links
Expand All @@ -54,6 +55,9 @@ collections:
news:
output: true
permalink: /newsletter/:title
merch:
output: true
permalink: /merch/:slug
clubs:
events:
sort_by: order
Expand Down
7 changes: 7 additions & 0 deletions _data/links.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
- type: divider
text: TeX Plushies

- text: Get a TeX plushie!
url: /merch/plushies
image: /assets/images/tex-plushie/20250426_0042_lowres_square.jpg

- type: divider
text: Ball

Expand Down
1 change: 1 addition & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
{% if item.children %}
<a onclick="toggleShow({{ forloop.index }})">{{ item.name }}</a>
<div class="dropdown" style="display: none" id="hbdd_{{ forloop.index }}">
<a href="{{ item.link | relative_url }}">- {{ item.name }}</a><br/>
{% for sub in item.children %}
<a href="{{ sub.link | relative_url }}">- {{ sub.name }}</a><br/>
{% endfor %}
Expand Down
62 changes: 62 additions & 0 deletions _layouts/merch.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
<title>UoB Computer Science Society - {{ page.title }}</title>
<link rel="shortcut icon" type="image/png" href="/favicon.ico"/>
<meta name=viewport content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{{ '/css/normalize.css' | relative_url }}">
<link rel="stylesheet" href="{{ '/css/main.css' | relative_url }}">
<link rel="stylesheet" href="{{ '/css/merch.css' | relative_url }}">
<link rel="stylesheet" href="{{ '/css/fadein.css' | relative_url }}">

<script src="{{ '/js/hamburger.js' | relative_url }}" type="module"></script>

{% seo %}
</head>
<body>
{% include header.html %}
<main>
<div class="merch-container fadein-container">
<a class="merch-back fadein" href="/merch"><i class="fas fa-arrow-left-long"></i> See other merch</a>
<div class="merch-description fadein text-container">
<h1>{{ page.title }}</h1>
{{ content }}
</div>
{% if page.gallery %}
<div class="gallery fadein">
<h2>Gallery</h2>
{% for photo in page.gallery %}
<img src="{{ photo.url }}" alt="{{ photo.alt }}" />
{% endfor %}
</div>
{% endif %}
<div class="purchase fadein">
<h2>Purchase options</h2>
{% for option in page.options %}
<div class="purchase-option">
{% if option.quantity %}
<div class="option-label with-quantity">
<span class="quantity">{{option.quantity}}x</span>
{% else %}
<div class="option-label">
{% endif %}
<span class="option">{{ option.name }}</span>
{% if option.note %}
<span class="note">{{ option.note }}</span>
{% endif %}
</div>
<span class="price">£{{ option.price }}</span>
</div>
{% endfor %}
{% if page.purchase-url %}
<a href="{{ page.purchase-url }}" target="_blank" class="button guild-button">Buy on Guild website <i class="fas fa-arrow-right"></i></a>
{% else %}
<a href="#" class="button unavailable-button"><i class="fas fa-ban"></i>Currently unavailable</a>
{% endif %}
</div>
</div>
</main>

{% include footer.html %}
</body>
</html>
3 changes: 3 additions & 0 deletions _redirects
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@
/quack /ducks
/quak /ducks

# Plushies
/plushies /merch/plushies

# Voting
/vote https://vote.cssbham.com
/egm https://vote.cssbham.com
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
93 changes: 93 additions & 0 deletions css/merch-listing.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
---

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");

.merch-container {
max-width: 1000px;
margin: 0 auto;
}

.merch-preview {
display: flex;
border-radius: 10px;
overflow: hidden;
margin-bottom: 20px;
text-decoration: none;
height: 120px;

.merch-thumbnail {
flex: 0 0 auto;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
border: 2px white solid;
box-sizing: border-box;

width: 120px;
height: 120px;
object-fit: cover;
}

.merch-details {
flex: 1 1 auto;
padding-left: 1em;
width: calc(100vw - 150px - 5% - 1em);
background: white;

.merch-title {
color: black;
}

.merch-excerpt {
* {
color: black;
}
}

.merch-price {
font-family: "JetBrains Mono", "Inconsolata", monospace;
font-weight: bold;
font-style: italic;
font-size: smaller;
color: black;
}
}
}

@media only screen and (min-width: 600px) {
.merch-preview {
.merch-details {
.merch-title {
margin-top: 0.5em;
margin-bottom: 0.3em;
}
.merch-date {
margin-top: 0.3em;
margin-bottom: 0.5em;
}
.merch-excerpt p {
margin-top: 0.5em;
}
}
}
}

@media only screen and (max-width: 600px) {
.merch-preview {
.merch-details {
.merch-title {
font-size: min(6vw, 27px);
margin-top: 0.2em;
margin-bottom: 0.2em;
}
.merch-date {
font-size: min(5vw, 27px);
margin-top: 0.2em;
margin-bottom: 0.2em;
}
.merch-excerpt p {
margin-top: 0.5em;
}
}
}
}
Loading
Loading