Skip to content
Open
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
1 change: 1 addition & 0 deletions .eleventy.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ module.exports = function (eleventyConfig) {

// Copy Image Folder to /_site
eleventyConfig.addPassthroughCopy("./src/static/img");
eleventyConfig.addPassthroughCopy("./src/static/sponsorship-prospectus.pdf");

// Copy favicon to route of /_site
eleventyConfig.addPassthroughCopy("./src/favicon.ico");
Expand Down
2 changes: 2 additions & 0 deletions src/_data/navigation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ items:
url: /sponsors/
- text: Join
url: /join/
- text: Contact
url: /contact/
54 changes: 52 additions & 2 deletions src/_includes/layouts/page.njk
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,58 @@ layout: base.njk
{% endif %}

<h1 class="text-3xl md:text-4xl font-bold text-primary mb-4">{{ title }}</h1>

{% set calloutToken = "[[CALLOUT]]" %}
{% if callout %}
{% set callouts = callout %}
{% if callout.length == undefined %}
{% set callouts = [callout] %}
{% endif %}

{% set calloutsHtml %}
{% for item in callouts %}
{% set buttons = item.buttons %}
{% if (buttons == undefined or buttons.length == undefined) and item.ctaText and item.ctaUrl %}
{% set buttons = [{ "text": item.ctaText, "url": item.ctaUrl }] %}
{% endif %}

{% set hasButtons = buttons and buttons.length %}
{% set calloutTextClass = "mb-0" %}
{% if hasButtons %}
{% set calloutTextClass = "mb-4" %}
{% endif %}

<div class="bg-blue-50 border border-blue-100 rounded-lg px-6 py-5 mb-8">
{% if item.title %}
<h2 class="text-xl font-semibold text-primary mb-2 mt-0">{{ item.title }}</h2>
{% endif %}
{% if item.text %}
<p class="text-lg font-semibold text-primary mt-0 {{ calloutTextClass }}">{{ item.text }}</p>
{% endif %}
{% if hasButtons %}
<div class="flex flex-wrap gap-3">
{% for button in buttons %}
<a href="{{ button.url }}" class="inline-block px-5 py-2 bg-primary text-white rounded-lg hover:bg-blue-800 transition">
{{ button.text }}
</a>
{% endfor %}
</div>
{% endif %}
</div>
{% endfor %}
{% endset %}

{% set hasCalloutToken = (content | replace(calloutToken, "")) != content %}
{% if not hasCalloutToken %}
{{ calloutsHtml | safe }}
{% endif %}
{% endif %}

<div class="prose prose-lg max-w-none">
{{ content | safe }}
{% if callout %}
{{ content | replace(calloutToken, calloutsHtml) | safe }}
{% else %}
{{ content | safe }}
{% endif %}
</div>
</div>
</div>
276 changes: 167 additions & 109 deletions src/_includes/layouts/sponsors.njk
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,53 @@ layout: base.njk

<div class="container mx-auto px-6 py-8 md:py-12">
<h1 class="text-3xl md:text-4xl font-bold text-primary mb-8">Our Sponsors</h1>

<div class="prose prose-lg max-w-none mb-8">
{{ content | safe }}
</div>

{% set calloutToken = "[[CALLOUT]]" %}
{% set logosToken = "[[SPONSORS]]" %}
{% if callout %}
{% set callouts = callout %}
{% if callout.length == undefined %}
{% set callouts = [callout] %}
{% endif %}

{% set calloutsHtml %}
{% for item in callouts %}
{% set buttons = item.buttons %}
{% if (buttons == undefined or buttons.length == undefined) and item.ctaText and item.ctaUrl %}
{% set buttons = [{ "text": item.ctaText, "url": item.ctaUrl }] %}
{% endif %}

{% set hasButtons = buttons and buttons.length %}
{% set calloutTextClass = "mb-0" %}
{% if hasButtons %}
{% set calloutTextClass = "mb-4" %}
{% endif %}

<div class="bg-blue-50 border border-blue-100 rounded-lg px-6 py-5 mb-8">
{% if item.title %}
<h2 class="text-xl font-semibold text-primary mb-2 mt-0">{{ item.title }}</h2>
{% endif %}
{% if item.text %}
<p class="text-lg mt-0 {{ calloutTextClass }}">{{ item.text }}</p>
{% endif %}
{% if hasButtons %}
<div class="flex flex-wrap gap-3">
{% for button in buttons %}
<a href="{{ button.url }}" class="inline-block px-5 py-2 bg-primary text-white rounded-lg hover:bg-blue-800 transition">
{{ button.text }}
</a>
{% endfor %}
</div>
{% endif %}
</div>
{% endfor %}
{% endset %}

{% set hasCalloutToken = (content | replace(calloutToken, "")) != content %}
{% if not hasCalloutToken %}
{{ calloutsHtml | safe }}
{% endif %}
{% endif %}

{% set platinumSponsors = [] %}
{% set goldSponsors = [] %}
Expand All @@ -28,117 +71,132 @@ layout: base.njk
{% set supporterSponsors = (supporterSponsors.push(sponsor), supporterSponsors) %}
{% endif %}
{% endfor %}

{% if platinumSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200"> Current Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-6">
{% for sponsor in platinumSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 col-span-full lg:col-span-1 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-48" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-3xl font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-3xl font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}

{% set hasSponsors = platinumSponsors.length or goldSponsors.length or silverSponsors.length or bronzeSponsors.length or supporterSponsors.length %}
{% set logosHtml %}
{% if platinumSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200"> Current Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-6">
{% for sponsor in platinumSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 col-span-full lg:col-span-1 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-48" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-3xl font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-3xl font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}

{% if goldSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Gold Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{% for sponsor in goldSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-36" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-xl font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-xl font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
{% endif %}
{% if goldSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Gold Sponsors</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{% for sponsor in goldSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-36" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-xl font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-xl font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}

{% if silverSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Silver Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in silverSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
{% endif %}
{% if silverSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Silver Sponsors</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in silverSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}

{% if bronzeSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Bronze Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in bronzeSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
{% endif %}
{% if bronzeSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Bronze Sponsors</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in bronzeSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}

{% if supporterSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Supporter Sponsors</h2>

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in supporterSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
{% endif %}
{% if supporterSponsors.length %}
<div class="mb-12">
<h2 class="text-2xl font-bold text-primary mb-6 pb-2 border-b border-gray-200">Supporter Sponsors</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
{% for sponsor in supporterSponsors %}
<div class="bg-white border border-gray-200 rounded-lg shadow-md overflow-hidden p-6 flex flex-col items-center justify-center">
<a href="{{ sponsor.data.link }}" target="_blank" rel="noopener" class="flex w-full h-full flex-col items-center justify-center text-center py-4">
{% if sponsor.data.logo %}
<img src="{{ sponsor.data.logo }}" alt="{{ sponsor.data.name }}" class="max-w-full h-auto mx-auto max-h-24" onerror="this.style.display='none'; this.nextElementSibling.style.display='block';">
<div class="text-lg font-semibold text-primary" style="display: none;">{{ sponsor.data.name }}</div>
{% else %}
<div class="text-lg font-semibold text-primary">{{ sponsor.data.name }}</div>
{% endif %}
</a>
</div>
{% endfor %}
</div>
</div>
</div>
{% endif %}
{% endset %}

{% set hasLogosToken = (content | replace(logosToken, "")) != content %}
{% set renderedContent = content %}
{% if callout %}
{% set renderedContent = renderedContent | replace(calloutToken, calloutsHtml) %}
{% endif %}
{% if hasSponsors %}
{% set renderedContent = renderedContent | replace(logosToken, logosHtml) %}
{% else %}
{% set renderedContent = renderedContent | replace(logosToken, "") %}
{% endif %}

<div class="mt-12 bg-gray-50 rounded-lg p-8 shadow-inner">
<h2 class="text-2xl font-bold text-primary mb-4">New Sponsors</h2>
<p class="text-lg mb-6">We're on the lookout for more fantastic sponsors to get on board and help us continue to fulfill our mission of further creating young engineers. We have a variety of options for sponsorship and are after more assistance. Contributions big or small, or the funding of specific activities are always welcome and appreciated. We can include your logos in media and marketing packages as well as on the robot, and bring student-run presentations to your business or community event with functional robots for demonstrations. Get in touch now to help sponsor our robotics non-profit!</p>
<a href="mailto:enquiries@thedropbears.org.au" class="inline-block px-6 py-3 bg-primary text-white rounded-lg hover:bg-blue-800 transition">
Contact Us
</a>
<div class="prose prose-lg max-w-none mb-8">
{{ renderedContent | safe }}
</div>

{% if hasSponsors and not hasLogosToken %}
{{ logosHtml | safe }}
{% endif %}

</div>
16 changes: 16 additions & 0 deletions src/_pages/contact.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Contact Us
description: How to get in touch with The Drop Bears (FRC Team 4774)
layout: layouts/page.njk
permalink: /contact/
---

If you'd like to get in touch, we would love to hear from you.

- **General enquiries:** [enquiries@thedropbears.org.au](mailto:enquiries@thedropbears.org.au)

You can also find us on:

- [YouTube](https://www.youtube.com/@thedropbears)
- [Instagram](https://www.instagram.com/frc_thedropbears)
- [GitHub](https://www.github.com/thedropbears)
Loading