Update hakken dates

pull/3/head
Benjamin Bädorf 2022-08-15 12:27:14 +02:00
parent 0877cf7ec2
commit bc02c210de
No known key found for this signature in database
GPG Key ID: 4406E80E13CD656C
2 changed files with 121 additions and 15 deletions

107
hakken-dates.js Normal file
View File

@ -0,0 +1,107 @@
const skippedMonths = [
{ m: 8, y: 2022 },
{ m: 12, y: 2022 },
];
const i18n = {
en: {
comingDates: 'The following dates are scheduled:',
friday: 'friday',
sunday: 'sunday',
until: 'until',
months: [
'Jan.',
'Feb.',
'Mar.',
'Apr.',
'May',
'Jun.',
'Jul.',
'Aug.',
'Sep.',
'Oct.',
'Nov.',
'Dec.',
],
},
de: {
comingDates: 'Folgende Termine stehen an:',
friday: 'Freitag',
sunday: 'Sonntag',
until: 'bis',
months: [
'Jan.',
'Feb.',
'Mär.',
'Apr.',
'Mai',
'Jun.',
'Jul.',
'Aug.',
'Sep.',
'Okt.',
'Nov.',
'Dez.',
],
},
};
const datesLists = {
en: document.getElementById('dates-list-en'),
de: document.getElementById('dates-list-de'),
};
const day = 24 * 60 * 60 * 1000;
const week = 7 * day;
const endOfWeekend = 2 * day;
const start = new Date();
const hakkens = [];
// We'll be looking about half a year into the future
for (let i = 0; i < 185; i++) {
const dateToTry = new Date(start.valueOf() + (i * day));
if (dateToTry.getDay() !== 5) {
continue;
}
const oneWeekLater = new Date(dateToTry.valueOf() + week);
if (dateToTry.getMonth() === oneWeekLater.getMonth()) {
continue;
}
const m = dateToTry.getMonth() + 1;
const y = dateToTry.getFullYear();
if (skippedMonths.find((s) => s.m === m && s.y === y)) {
continue;
}
hakkens.push(dateToTry);
}
// Helper function to add leading zeros to dates
const d = (num) => ('0' + num).slice(-2);
const writeText = (lang) => {
const p = document.createElement('p');
p.innerHTML = i18n[lang].comingDates;
datesLists[lang].appendChild(p);
}
const writeDateList = (lang) => {
const ul = document.createElement('ul');
hakkens.forEach(hakken => {
hakkend = new Date(hakken.valueOf() + endOfWeekend);
const showFirstMonth = hakken.getMonth() !== hakkend.getMonth();
const li = document.createElement('li');
li.innerHTML = `
${i18n[lang].friday} ${d(hakken.getDate())}. ${showFirstMonth ? i18n[lang].months[hakken.getMonth()] : ''}
${i18n[lang].until}
${d(hakkend.getDate())}. ${i18n[lang].months[hakkend.getMonth()]}
`;
ul.appendChild(li);
});
datesLists[lang].appendChild(ul);
}
writeText('de');
writeText('en');
writeDateList('de');
writeDateList('en');

View File

@ -21,18 +21,19 @@
<p class="mobile-only">English version below</p>
<h1>hakken.irl</h1>
<p>Du bist eingeladen!</p>
<p>Wir treffen uns regelmäßig in Köln zum hakken.irl, ein kleiner 3-Tägiger (Freitag bis Sonntag) Hackathon bei dem es nur darum geht Spaß zu haben und ab zu nerden.</p>
<p>Wir treffen uns monatlich in Köln zum hakken.irl, ein kleiner 3-Tägiger (Freitag bis Sonntag) Hackathon bei dem es nur darum geht Spaß zu haben und ab zu nerden.</p>
<h2>Was machen wir denn so?</h2>
<p>Es gibt kein festes Programm. Tendenziell hakken wir an pub.solar relatierten sachen wie z.B. <a href="https://git.b12f.io/pub-solar/os" title="PubSolarOS git repo">PubSolarOS</a> oder <a href="https://git.b12f.io/pub-solar/infra" title="pub.solar infra repo">unsere Infra</a>.</p>
<p>Es gibt nur einen festen Programmpunkt: bei der Critical Mass mitradeln. Tendenziell hakken wir danach an pub.solar relatierten sachen wie z.B. <a href="https://git.b12f.io/pub-solar/os" title="PubSolarOS git repo">PubSolarOS</a> oder <a href="https://git.b12f.io/pub-solar/infra" title="pub.solar infra repo">unsere Infra</a>.</p>
<p>Was wir bisher so gemacht haben:</p>
<ul>
<li><a href="https://git.b12f.io/pub-solar/infra/commit/c682a97746770121b419a9ad2c8c94688e5fa0f8">Matrix monitoring per Prometheus konfiguriert</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/commit/8e43046dee1233e966cc6fc236ca3ed51849e747">Updaten von PubSolarOS</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/115">das core module in PubSolarOS gerefactored</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/commit/159ae86722bc706ff42d4d3e4b0f49ede2f253de">sway als systemd service starten</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/74">eine "paranoid" Option für PubSolarOS hinzugefügt, bei dem der PC immer in encrypted hibernation locked</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/113">nonfree software aus PubSolarOS entfernt</a>,</li>
<li>Wizard, Karten und Brettspiele gespielt,</li>
<li>bei der Critical Mass mitgefahren,</li>
<li>zusammen gekocht, bestellt, und gegessen,</li>
<li>und über die FDP her gezogen.</li>
</ul>
@ -41,11 +42,9 @@
<p>Es geht schon ziemlich nerdy zu, und du solltest auf jeden Fall deinen Laptop dabei haben. Allerdings ist es uns eigentlich egal, wie du deine Zeit vertreibst. Im besten Falle kannst du dich auch allein an einem eigenen Projekt vergnügen. Wir benutzen den Raum zum gemeinsamen Arbeiten und Austauschen, aber wenn der vibe passt kannst du dich auch dazu setzen und nur Zocken.</p>
<h2>Und wann soll das sein?</h2>
<p>Folgende Termine stehen an:</p>
<p>hakken.irl startet immer am letzten Freitag des Monats.<p>
<ul>
<li>12. bis 14. August 2022</li>
</ul>
<div id="dates-list-de"></div>
<h2>Was kostet das?</h2>
<p>Es kostet nichts, aber wenn wir mal Essen bestellen oder beim Kiosk was holen wärs cool wenn du was rein gibst. Auch ist ne kleine Spende an den Verein immer gerne gesehen.</p>
@ -63,15 +62,16 @@
<p>We regularly meet in Cologne to attend hakken.irl, a small 3-day (Friday till Sunday) Hackathon that's just about having fun and nerding around.</p>
<h2>What will we be doing?</h2>
<p>There is no set schedule. In general, we'll be hakking on pub.solar related stuff like <a href="https://git.b12f.io/pub-solar/os" title="PubSolarOS git repo">PubSolarOS</a> or <a href="https://git.b12f.io/pub-solar/infra" title="pub.solar infra repo">our infra</a>.</p>
<p>There is only one set agenda point: riding with Critical Mass. In general, we'll be hakking on pub.solar related stuff like <a href="https://git.b12f.io/pub-solar/os" title="PubSolarOS git repo">PubSolarOS</a> or <a href="https://git.b12f.io/pub-solar/infra" title="pub.solar infra repo">our infra</a>.</p>
<p>Stuff we've done so far:</p>
<ul>
<li><a href="https://git.b12f.io/pub-solar/infra/commit/c682a97746770121b419a9ad2c8c94688e5fa0f8">configured Matrix monitoring with Prometheus</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/commit/8e43046dee1233e966cc6fc236ca3ed51849e747">updated PubSolarOS</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/115">refactored the core module in PubSolarOS</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/commit/159ae86722bc706ff42d4d3e4b0f49ede2f253de">started sway as a systemd service</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/74">added a "paranoid" option for PubSolarOS, which always locks the PC into an encrypted hibernation mode instead of sleeping</a>,</li>
<li><a href="https://git.b12f.io/pub-solar/os/pulls/113">removed nonfree software from PubSolarOS</a>,</li>
<li>played Wizard, cards and board games,</li>
<li>rode along at critical mass,</li>
<li>cooked, ordered, and ate together,</li>
<li>and made fun of neoliberals.</li>
</ul>
@ -80,11 +80,9 @@
<p>It's pretty nerdy over all, and you should definitely bring your laptop. However we don't really care what you do while you're with us. It's good if you can also entertain yourself with a project. We use the space to work together and connect, but if we vibe you can also just sit with us and play games all day.</p>
<h2>When will this happen?</h2>
<p>The following dates are scheduled:</p>
<p>hakken.irl always starts on the last friday of the month.<p>
<ul>
<li>12. until 14. August 2022</li>
</ul>
<div id="dates-list-en"></div>
<h2>What do I have to pay?</h2>
<p>It's free, but if we order food or get some stuff at a kiosk it'd be cool if you chip in. A small donation to the association is also always welcome.</p>
@ -97,5 +95,6 @@
</section>
</main>
<script src="./background.js"></script>
<script src="./hakken-dates.js"></script>
</body>
</html>