Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 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 _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ tagline: "An open-source network proxy framework for Apache Kafka®."
logo: "/images/kroxylicious_logo_rgb_vert_default.svg"
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://kroxylicious.io" # the base hostname & protocol for your site, e.g. http://example.com
hostname: kroxylicious.io
Comment thread
tombentley marked this conversation as resolved.
Outdated
github_username: kroxylicious

# Build settings
Expand Down
41 changes: 41 additions & 0 deletions join-us/community-call/community-call.ics
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
BEGIN:VCALENDAR

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ics format lacks support for comments :-(

VERSION:2.0
PRODID:-//Kroxylicious Community Call//Event Feed 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Kroxylicious Community Call
X-WR-TIMEZONE:UTC
BEGIN:VEVENT
UID:morning-series@kroxylicious.io

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm using UK-centric notions of morning and eventing, since those are compatible with the meetings being in UTC.

DTSTAMP:20260326T100000Z
DTSTART:20260326T080000Z
DTEND:20260326T084500Z
RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=TH

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the events in the calendar repeat every 4 weeks. You have to include the BYDAY thing to get the recurrance on the right day of the week (it doesn't just figure it out from working forwards from the DTSTAMP). I realised that the notion of day is problematic because of the timezones we work in. The schedule means that the meets are always on a NZ Thursday, but that means half of them are a UK Wednesday.

EXDATE:20261231T080000Z

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shows how we can exclude some events from the series.

SUMMARY:Kroxylicious Community Call
DESCRIPTION:An opportunity to talk about Kroxylicious with the people working on it.\n
Click to join:
https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588 \n

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Physical lines need to be <72 chars. A logical line can be split over multiple physical lines, and I think WS at the start of a physical line is ignored.

URL:https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588
Comment on lines +20 to +21

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Splitting the URL is a bit 🤮 , but doing so gets rid of a warning from the validator.

LOCATION:https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588
END:VEVENT
BEGIN:VEVENT
UID:evening-series@kroxylicious.io
DTSTAMP:20260311T100000Z
DTSTART:20260311T200000Z
DTEND:20260311T204500Z
RRULE:FREQ=WEEKLY;INTERVAL=4;BYDAY=WE
SUMMARY:Kroxylicious Community Call
DESCRIPTION:An opportunity to talk about Kroxylicious with the people working on it.\n
Click to join:
https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588 \n
URL:https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588
LOCATION:https://meet.jit.si/moderated/87697d32deaa8cbd8b3b96e1
bbb8aef920c240112935c2d4742c3b1b38a34588
END:VEVENT
END:VCALENDAR
61 changes: 61 additions & 0 deletions join-us/community-call/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
layout: default
title: Community call
---
<link href='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.css' rel='stylesheet' />
<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.10/index.global.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/ical.js@1.5.0/build/ical.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/icalendar@6.1.10/index.global.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/list@6.1.10/index.global.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/bootstrap5@6.1.10/index.global.min.js'></script>


<div class="row align-items-start justify-content-center my-5">
<div class="col-lg-3 mb-5" role="complementary" aria-labelledby="page-title">
<div class="card shadow px-2 mx-2">
<div class="card-body">
<h1 id="page-title" class="fs-3">{{ page.title }}</h1>
<p>Sometimes it's just easier to talk face-to-face.
We have a virtual meeting every two weeks that's open to anyone to come along.</p>
<p>The time alternates to try to accomodate people from different parts of the world,
so check the next-but-one if the next meeting is in the middle of your night.</p>
</div>
</div>
</div>
<div class="col-lg-6" role="main">
<div>
<p>We're using <a href="https://meet.jit.si/">Jitsi</a>, a free and open source video conferencing service.
You don't need an account to join.
</p>
<div class="alert alert-warning" role="alert">
<h4 class="alert-heading">Meetings are public (and recorded!)</h4>
<p>Meetings are recorded and shared on <a href="https://www.youtube.com/@kroxylicious-io">our YouTube channel</a>.</p>
</div>
<p>If your browser knows about your calendar app you should be able to subscribe in your calendar app by clicking the button below.</p>
<div><a href="{{ '/join-us/community-call/community-call.ics' | absolute_url | replace: 'http://', 'webcal://' | replace: 'https://', 'webcal://' }}" class="btn btn-primary">Subscribe</a></div>
</div>
<div>
<h2>Upcoming events</h2>
<div>Times are shown in your browser's local timezone, <span id="tz-display"></span>.</div>
<div id="calendar"/>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
document.getElementById('tz-display').textContent = userTimeZone;

var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'listMonth',
// This tells the calendar where to find your "Source of Truth"
events: {
url: 'community-call.ics',
format: 'ics'
},
themeSystem: 'bootstrap5'
});
calendar.render();
});
</script>
25 changes: 15 additions & 10 deletions join-us/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,36 +32,41 @@ title: Join Us!
</div>
<div class="col">
<div class="card shadow mb-2 mx-2 h-100">
<div class="card-header"><h2 class="card-title fs-4">Follow us on Bluesky</h2></div>
<div class="card-header"><h2 class="card-title fs-4">Join our Community Call</h2></div>
<div class="card-body mx-3 my-2">
<p>Follow us on Bluesky, and share your Kroxylicious story.</p>
<p>Sometimes it's just easier to talk face-to-face.
We have a virtual meeting every two weeks that's open to anyone to come along.
</p>
</div>
<div class="card-footer text-center">
<a href="https://bsky.app/profile/kroxylicious.io" class="btn btn-primary">Follow on Bluesky</a>
<a href="community-call/" class="btn btn-primary">More info</a>
</div>
</div>
</div>
<div class="col">
<div class="card shadow mb-2 mx-2 h-100">
<div class="card-header"><h2 class="card-title fs-4">Follow on X</h2></div>
<div class="card-header"><h2 class="card-title fs-4">Follow us on social media</h2></div>
<div class="card-body mx-3 my-2">
<p>Follow us on X, and share your Kroxylicious story.</p>
<p>Follow us on social media, and share your Kroxylicious story.</p>
</div>
<div class="card-footer text-center">
<a href="https://bsky.app/profile/kroxylicious.io" class="btn btn-primary">Follow on Bluesky</a>
<a href="https://x.com/kroxylicious" class="btn btn-primary">Follow on X</a>
</div>
</div>
</div>
<div class="col">
<div class="card shadow mb-2 mx-2 h-100">
<div class="card-header"><h2 class="card-title fs-4">Join our monthly Office Hours</h2></div>
Comment thread
tombentley marked this conversation as resolved.
<div class="card-header"><h2 class="card-title fs-4">Watch on YouTube</h2></div>
<div class="card-body mx-3 my-2">
<p>Sometimes it's just easier to talk face-to-face.
We have a meeting every month that's open to anyone to come along.</p>
<p>The date and time is advertised on the <a href="https://kroxylicious.slack.com/archives/C050RNMQW8G">#general</a> Slack channel.</p>
<p>You can subscribe for demos and highlights of new features in releases.</p>
</div>
<div class="card-footer text-center">
<a href="https://www.youtube.com/@kroxylicious-io" class="btn btn-primary">Our YouTube channel</a>
</div>
</div>
</div>

</div>
</div>
<hr class="section-divider"/>
Expand Down Expand Up @@ -147,4 +152,4 @@ title: Join Us!
</div>
</div>
</div>
</div>
</div>