Move meetups into blog

This commit is contained in:
Anton Roslund
2025-08-24 19:47:51 +02:00
parent 12b302dea8
commit 9ceb0db75a
16 changed files with 279 additions and 76 deletions

View File

@@ -0,0 +1,7 @@
---
title: Blogg
description: Nyheter och uppdateringar från STHLM-MESH
layout: list
cascade:
weight: 50
---

View File

@@ -0,0 +1,23 @@
---
title: Meetups
layout: list
weight: 60
---
# Kommande meetups
__Just nu finns det inga planerade meetups.__
### Arrangera ett meetup
STHLM-MESH är ett community vem som helst kan arrangera en träff. Så här gör du:
1. Skapa en ny fil i `content/sv/blog/meetups/` (namnge gärna med datum i filnamnet).
2. Utgå från mallen i `content/sv/blog/meetups/template.md` och fyll i plats, datum, tid och en kort beskrivning.
3. Vill du använda vår RSVP-komponent skapa även en json fil under `static/events` utgå från filen `template.json`
4. Skicka en PR på GitHub
Alternativ är det bara skriva till oss på Discord så hjälper vi dig lägga upp ditt event.
### Tidigare meetups
Kolla in vad vi gjort tidigare: [/blog/past-meetups/](/blog/past-meetups/)

View File

@@ -0,0 +1,33 @@
---
title: Meetup 19 Augusti - Telefonplan
date: 2025-08-24
build:
render: never
list: false
publishResources: false
---
Nu är det dags för en Meshtastic AW i Stockholm igen! Denna gång hoppas vi på bra väder och träffas på baren i Svandammsparken. Kom och träffa likasinnade, snacka LoRa och bygg ut nätverket i Stockholm!
Ta gärna med din nod, eller visa upp det senaste bygget.
__📍 Plats:__[Midsommarköket, Svandammsparken (T) Midsommarkransen](https://maps.app.goo.gl/n1XSUWvoUF7yNbzb6)
__📅 Datum:__ Tisdag 19 augusti
__⏰ Tid:__ 17:00 (baren öppnar 15:00)
Om du inte kan komma exakt 17:00 är det helt okej att dyka upp senare. Skriv gärna ett meddelande på meshen eller Discord om du kommer!
<!-- RSVP Tracker Container -->
<div id="rsvp-tracker-2025-08-19-aw-telefonplan" class="mt-4"></div>
<script src="/js/status/shared.js"></script>
<script src="/js/rsvp-tracker.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Initialize RSVP tracker for the August 21 afterwork
initRSVPTracker('2025-08-19-aw-telefonplan');
});
</script>

View File

@@ -0,0 +1,20 @@
---
title: Meetup 15 Maj - Urban Deli
date: 2024-05-04
---
<img src="https://scontent.fbma6-1.fna.fbcdn.net/v/t39.30808-6/517513963_10165535191003368_2344483791759405240_n.jpg?_nc_cat=108&ccb=1-7&_nc_sid=aa7b47&_nc_ohc=1IQDCYFVitsQ7kNvwFCBidv&_nc_oc=Adm11Q6GHS1gZnsrLV7dVr7LAiRaAch5ST5ibHdJp9rSAqM2tvFt_jjmVHregLuIwT4&_nc_zt=23&_nc_ht=scontent.fbma6-1.fna&_nc_gid=6MV6i5qkzcGiTihEtIBCxA&oh=00_AfVKeRaH00x7qjwO2l0Wo68kgBgRJG252rXJU3vz9VBOhw&oe=68B0F073" alt="Meetup photo" style="width: 50%; height: auto;">
Noden med namn BLÅ startade intresset men försvann tyvärr så vi plockar upp fanan.
AW Stockholm blir den 15/5 från 17 och frammåt på Takpark by Urban Deli, Sveavägen 44.
Det ska vara upp till 22 grader på dagen och kvällen blir förhoppningsfullt vacker likväl.
Alla är välkomna, just nu har vi fått in ca 10 intresserade.
Är du intresserad att träffa andra trevliga meshtastic folk över en öl eller en bit mat hojta till.
__📍 Plats:__ Takpark by Urban Deli, Sveavägen 44
__📅 Datum:__ 2024-05-15
__⏰ Tid:__ 17:00

View File

@@ -0,0 +1,18 @@
---
title: Meetup 4 September - Sundbyberg
date: 2024-08-10
---
<img src="https://scontent.fbma6-1.fna.fbcdn.net/v/t39.30808-6/516826012_10162373418114303_5606218656961284323_n.jpg?_nc_cat=110&ccb=1-7&_nc_sid=75d36f&_nc_ohc=UZMnChz73lkQ7kNvwGf2OoL&_nc_oc=AdmsQS-Jmkt7zuhPWCQdQ-HZ1I6J1i8uPxd1GaOcU8m2r6YpQ3zmzZvw1X0pHdmL7lg&_nc_zt=23&_nc_ht=scontent.fbma6-1.fna&_nc_gid=uKFo5CFj1vS86BoYRvlv3g&oh=00_AfXqSc1J5XKsW1FIe-T_wnxoLkTJtsLJzkOQd-zJ2E1DIg&oe=68B0E106" alt="Meetup photo" style="width: 50%; height: auto;">
Nu är det dags för en Meshtastic AW i Stockholm igen! Kom och träffa likasinnade, snacka LoRa och bygg ut nätverket i Stockholm!
Ta gärna med din nod, eller visa upp det senaste bygget.
__📍 Plats:__ The Bishops Arms Sundbyberg, Stockholm
__📅 Datum:__ 2024-09-04
__⏰ Tid:__ 17:00
<a href="https://www.facebook.com/events/1183504712869737/" class="btn btn-primary btn-lg" target="_blank" style="background-color: #1877f2; border-color: #1877f2;"><i class="fab fa-facebook"></i> Facebook Event</a>

View File

@@ -0,0 +1,17 @@
---
title: Meetup 8 April - Sundbyberg
date: 2025-04-08
---
<img src="https://scontent.fbma6-1.fna.fbcdn.net/v/t39.30808-6/482214110_10161861083094303_3609145510463720959_n.jpg?stp=c0.29.1792.936a_dst-jpg_s1080x2048_tt6&_nc_cat=102&ccb=1-7&_nc_sid=75d36f&_nc_ohc=nwlZDBEmVkYQ7kNvwG6eOeV&_nc_oc=Adlpp_-FwSnb3FYSInWyBtG7y-D1uMiU2XYai5iP-_j8hC-GGXzYCKInUKbFeS3V1Wc&_nc_zt=23&_nc_ht=scontent.fbma6-1.fna&_nc_gid=OBFGqeDXTxJnWB3MYMqYMA&oh=00_AfWfl2qFhiHZeuv5PehFTndxNAY8BpRW99RgInjs6dS3EA&oe=68B0EC8A" alt="Meetup photo" style="width: 50%; height: auto;">
Våren närmar sig och det är massvis med trafik i meshen. Det har dessutom tillkommit massvis med nya noder och personer. Vi bjuder därför in till After Work för de som vill träffa likasinnade, snacka LoRa, dela erfarenheter och visa hemmabyggen.
Ta gärna med din nod, eller visa upp det senaste bygget.
__📍 Plats:__ The Bishops Arms Sundbyberg, Stockholm
__📅 Datum:__ 2025-04-08
__⏰ Tid:__ 17:00
<a href="https://www.facebook.com/events/2766664646866905/" class="btn btn-primary btn-lg" target="_blank" style="background-color: #1877f2; border-color: #1877f2;"><i class="fab fa-facebook"></i> Facebook Event</a>

View File

@@ -0,0 +1,32 @@
---
title: Meetup 19 Augusti - Telefonplan
date: 2025-08-14
---
Nu är det dags för en Meshtastic AW i Stockholm igen! Denna gång hoppas vi på bra väder och träffas på baren i Svandammsparken. Midsommarköket som baren heter öppnar redan 15:00 om någon vill komma tidigare. Kom och träffa likasinnade, snacka LoRa och bygg ut nätverket i Stockholm!
Ta gärna med din nod, eller visa upp det senaste bygget.
__📍 Plats:__[Midsommarköket, Svandammsparken (T) Midsommarkransen](https://maps.app.goo.gl/n1XSUWvoUF7yNbzb6)
__📅 Datum:__ Tisdag 19 augusti
__⏰ Tid:__ 17:00 (baren öppnar 15:00)
Om du inte kan komma exakt 17:00 är det helt okej att dyka upp senare. Skriv gärna ett meddelande på meshen eller Discord om du kommer!
## Anmälan
Anmälan sker över LoRa. Skicka ett meddelande över meshen med texten `AW 19/8 - Kommer` så vias din nod i listan nedan. Kan du inte komma eller är osäker kan du skicka `AW 19/8 - Kanske/Kommer inte`
<!-- RSVP Tracker Container -->
<div id="rsvp-tracker-2025-08-19-aw-telefonplan" class="mt-4"></div>
<script src="/js/status/shared.js"></script>
<script src="/js/rsvp-tracker.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Initialize RSVP tracker for the August 21 afterwork
initRSVPTracker('2025-08-19-aw-telefonplan');
});
</script>

View File

@@ -0,0 +1,6 @@
---
title: Tidigare Meetups
description: nej
layout: list
weight: 70
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB

View File

@@ -1,76 +0,0 @@
---
title: Meetups
linkTitle: Meetups
menu: {main: {weight: 40}}
---
{{% blocks/cover title="" image_anchor="top" height="min" %}}
{{% /blocks/cover %}}
{{% blocks/section %}}
## Kommande Meetups
<div class="container mt-5">
<div class="card shadow-lg">
<div class="card-body">
<h1 class="text-center text-primary">🍻 Meshtastic AW i Stockholm! 🍻</h1>
<p class="lead text-center">Träffa likasinnade, snacka LoRa och bygg ut nätverket i Stockholm!</p>
<div class="text-center my-4">
<strong>📍 Plats:</strong> <span>Midsommarköket, Svandammsparken (T) Midsommarkransen</span><br>
<strong>📅 Datum:</strong> <span>Tisdag 19 augusti</span><br>
<strong>⏰ Tid:</strong> <span>17:00 (baren öppnar 15:00)</span>
</div>
<p class="text-center">Nu är det dags för en Meshtastic AW i Stockholm igen! Denna gång hoppas vi på bra väder och träffas på baren i Svandammsparken. Kom och träffa likasinnade, snacka LoRa och bygg ut nätverket i Stockholm!</p>
<p class="text-center"><strong>Ta gärna med din nod, eller visa upp det senaste bygget.</strong></p>
<div class="text-center mt-4">
<a href="https://maps.app.goo.gl/n1XSUWvoUF7yNbzb6" class="btn btn-primary btn-lg" target="_blank"><i class="fas fa-map-marker-alt"></i> Visa på karta</a>
</div>
<!-- RSVP Tracker Container -->
<div id="rsvp-tracker-2025-08-19-aw-telefonplan" class="mt-4"></div>
<br>
<p class="text-center">Om du inte kan komma exakt 17:00 är det helt okej att dyka upp senare. Skriv gärna ett meddelande på meshen eller Discord om du kommer!</p>
</div>
</div>
</div>
{{% /blocks/section %}}
{{% blocks/section color="info" %}}
## Tidigare meetups:
{{< cardpane >}}
{{< card >}}
* **Datum:** 2025-04-08
* **Tid:** 17:00 - 22:00
* **Plats:** The Bishops Arms, Sundbyberg
* **Event:** [Facebook](https://www.facebook.com/events/2766664646866905/)
{{< /card >}}
{{< card >}}
* **Datum:** 2024-09-04
* **Tid:** 17:00 - 22:00
* **Plats:** The Bishops Arms, Sundbyberg
* **Event:** [Facebook](https://www.facebook.com/events/1183504712869737/)
{{< /card >}}
{{< card >}}
* **Datum:** 2024-05-05
* **Tid:** 17:00
* **Plats:** Takpark by Urban Deli, Sveavägen 44
{{< /card >}}
{{< /cardpane >}}
{{% /blocks/section %}}
<script src="/js/status/shared.js"></script>
<script src="/js/rsvp-tracker.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Initialize RSVP tracker for the August 21 afterwork
initRSVPTracker('2025-08-19-aw-telefonplan');
});
</script>

View File

@@ -26,6 +26,7 @@ pygmentsStyle: tango
# Configure how URLs look like per section. # Configure how URLs look like per section.
permalinks: permalinks:
blog: /blog/:year/:slug/
# Image processing configuration. # Image processing configuration.
imaging: imaging:
@@ -58,6 +59,9 @@ menu:
- name: "Map" - name: "Map"
url: "https://map.sthlm-mesh.se/" url: "https://map.sthlm-mesh.se/"
weight: 80 weight: 80
- name: "Blogg"
url: "/blog/"
weight: 20
# Everything below this are Site Params # Everything below this are Site Params
params: params:

28
layouts/blog/baseof.html Normal file
View File

@@ -0,0 +1,28 @@
<!doctype html>
<html itemscope itemtype="http://schema.org/WebPage"
{{- with .Site.Language.LanguageDirection }} dir="{{ . }}" {{- end -}}
{{ with .Site.Language.Lang }} lang="{{ . }}" {{- end }} {{/**/ -}}
class="no-js">
<head>
{{ partial "head.html" . }}
</head>
<body class="td-{{ .Kind }} td-blog {{- with .Page.Params.body_class }} {{ . }}{{ end }}">
<header>
{{ partial "navbar.html" . }}
</header>
<div class="container-fluid td-outer">
<div class="td-main" {{- partialCached "td/scrollspy-attr.txt" . .Section | safeHTMLAttr }}>
<div class="row flex-xl-nowrap">
<aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none">
{{ partial "sidebar.html" . }}
</aside>
<main class="col-12 col-md-9 col-xl-8 ps-md-5 pe-md-4" role="main">
{{ block "main" . }}{{ end }}
</main>
</div>
</div>
{{ partial "footer.html" . }}
</div>
{{ partial "scripts.html" . }}
</body>
</html>

46
layouts/blog/list.html Normal file
View File

@@ -0,0 +1,46 @@
{{ define "main" -}}
{{ with .Content }}{{ . }}{{ end -}}
{{ if (and .Parent .Parent.IsHome) -}}
{{ $.Scratch.Set "blog-pages" (where .Site.RegularPages "Section" .Section) -}}
{{ else -}}
{{$.Scratch.Set "blog-pages" .Pages -}}
{{ end -}}
{{ if .Pages -}}
<div class="td-blog-posts">
{{ $pages := ($.Scratch.Get "blog-pages").ByWeight.ByDate }} <!-- weight → date -->
{{ $pager := .Paginate ($pages.GroupByDate "2006") }}
{{ range $pager.PageGroups }}
<ul class="td-blog-posts-list">
{{ range .Pages }}
<li class="td-blog-posts-list__item">
<div class="td-blog-posts-list__body">
<h1 class="mt-0 mb-1"><a href="{{ .RelPermalink }}" style="color: #30c965;
text-decoration: none;font-weight: 700;">{{ .Title }}</a></h1>
<p class="mb-2 mb-md-3"><small class="text-body-secondary">
{{- .Date.Format ($.Param "time_format_blog") }} {{ T "ui_in"}} {{ .CurrentSection.LinkTitle -}}
</small></p>
<header class="article-meta">
{{- partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{- partial "reading-time.html" . -}}
{{ end -}}
</header>
{{- partial "featured-image.html" (dict "p" . "w" 250 "h" 125 "class" "float-start me-3 pt-1 d-none d-md-block") -}}
<p class="pt-0 mt-0">{{ .Plain | safeHTML | truncate 250 }}</p>
<p class="pt-0"><a href="{{ .RelPermalink }}" aria-label="{{ T "ui_read_more"}} - {{ .LinkTitle }}">{{ T "ui_read_more"}}</a></p>
</div>
</li>
{{ end -}}
</ul>
{{ end -}}
</div>
<div class="td-blog-posts__pagination">
{{ partial "pagination.html" . -}}
</div>
{{- end -}}
{{ end -}}

View File

@@ -0,0 +1,26 @@
{{ $paginator := .Paginator -}}
{{ if and $paginator (gt $paginator.TotalPages 1) -}}
<nav aria-label="Pagination">
<ul class="pagination">
{{ if $paginator.HasPrev -}}
<li class="page-item">
<a class="page-link" href="{{ $paginator.Prev.URL }}" aria-label="Previous">&laquo;</a>
</li>
{{ end -}}
{{ range $i, $p := $paginator.Pagers -}}
<li class="page-item {{ if eq $p $paginator }}active{{ end }}">
<a class="page-link" href="{{ $p.URL }}">{{ add $i 1 }}</a>
</li>
{{ end -}}
{{ if $paginator.HasNext -}}
<li class="page-item">
<a class="page-link" href="{{ $paginator.Next.URL }}" aria-label="Next">&raquo;</a>
</li>
{{ end -}}
</ul>
</nav>
{{ end -}}

View File

@@ -0,0 +1,10 @@
{{ if not (.Param "ui.scrollspy.disable") -}}
{{ replaceRE `\s+` " "
`
data-bs-spy="scroll"
data-bs-target="#TableOfContents"
data-bs-root-margin="0px 0px -40%"
`
| strings.TrimSpace | add " " -}}
{{ end -}}

View File

@@ -0,0 +1,9 @@
{
"messagePattern": "Ett unikt id för anmälan. exempel: AW 19/8",
"description": "En kort beskrivning av meetupet",
"attendees": {
"yes": [],
"maybe": [],
"no": []
}
}