This commit is contained in:
Dennis Reimann
2022-12-10 14:39:05 +01:00
parent 1a39b4c241
commit 4d203fed07
6 changed files with 130 additions and 133 deletions

View File

@@ -3,10 +3,10 @@ include includes/mixins
block vars block vars
- const pageTitle = "Adventskalender" - const pageTitle = "Adventskalender"
- const pageDescription = "🎄 Wir wünschen euch mit unserem Adventskalender bullishe All Time Highnachten! 🎅" - const pageDescription = "🎄 Wir wünschen euch mit unserem Adventskalender bullishe All Time Highnachten! 🎅"
- const pageCard = "/img/adventskalender.png" - const pageCard = "/img/card/adventskalender.png"
<!DOCTYPE html> <!DOCTYPE html>
html(lang="en") html(lang="de")
head head
include includes/_head include includes/_head
link(href=assetPath("/css/adventskalender.css") rel="stylesheet") link(href=assetPath("/css/adventskalender.css") rel="stylesheet")

View File

@@ -4,97 +4,94 @@
3% { transform: scale(.75); } 3% { transform: scale(.75); }
} }
#meetups, #map {
#kurse { @media (--up_to_L) {
& #map { margin-top: var(--space-xl);
@media (--up_to_L) {
margin-top: var(--space-xl);
& img, & img,
& .dot, & .dot,
& .tooltip { & .tooltip {
display: none; display: none;
}
}
@media (--L_and_up) {
position: relative;
margin-top: var(--space-xxl);
& h2 {
display: none;
}
& img {
display: block;
width: 100%;
opacity: .5;
}
& ul {
margin: 0;
list-style: none;
}
& li {
position: absolute;
z-index: 1;
font-size: .65rem;
&.unmapped {
display: none;
}
&.official {
color: var(--color-accent);
}
&:not(.official) {
color: var(--color-secondary);
}
& a {
color: inherit;
display: inline-block;
margin-top: .3rem;
}
& .dot {
content: '';
position: absolute;
top: .375rem;
left: -1rem;
background: radial-gradient(currentColor 0%, rgba(255, 255, 255, 0) 100%);
animation-timing-function: linear;
animation-iteration-count: infinite;
will-change: transform;
transform-origin: 50%;
border-radius: 50%;
width: .8rem;
height: .8rem;
transform: scale(.75);
animation-name: pulse;
}
}
& .tooltip {
position: absolute;
z-index: 2;
min-width: 7rem;
font-size: .65rem;
padding: var(--space-xs) var(--space-m);
background: var(--color-overlay-bg);
border-radius: var(--space-m);
}
} }
} }
& #unmapped { @media (--L_and_up) {
@media (--up_to_L) { position: relative;
margin-top: var(--space-xxl);
& h2 {
display: none; display: none;
} }
@media (--L_and_up) {
margin-top: var(--space-xxl); & img {
display: block;
width: 100%;
opacity: .5;
}
& ul {
margin: 0;
list-style: none;
}
& li {
position: absolute;
z-index: 1;
font-size: .65rem;
&.unmapped {
display: none;
}
&.official {
color: var(--color-accent);
}
&:not(.official) {
color: var(--color-secondary);
}
& a {
color: inherit;
display: inline-block;
margin-top: .3rem;
}
& .dot {
content: '';
position: absolute;
top: .375rem;
left: -1rem;
background: radial-gradient(currentColor 0%, rgba(255, 255, 255, 0) 100%);
animation-timing-function: linear;
animation-iteration-count: infinite;
will-change: transform;
transform-origin: 50%;
border-radius: 50%;
width: .8rem;
height: .8rem;
transform: scale(.75);
animation-name: pulse;
}
}
& .tooltip {
position: absolute;
z-index: 2;
min-width: 7rem;
font-size: .65rem;
padding: var(--space-xs) var(--space-m);
background: var(--color-overlay-bg);
border-radius: var(--space-m);
} }
} }
} }
#unmapped {
@media (--up_to_L) {
display: none;
}
@media (--L_and_up) {
margin-top: var(--space-xxl);
}
}

View File

@@ -32,6 +32,50 @@ mixin member(m)
if m.text if m.text
!=markdown(m.text) !=markdown(m.text)
mixin map(m)
- const filterOfficial = (list, official) => list.filter(meetup => (meetup.name.startsWith('Einundzwanzig') || meetup.name.startsWith('Einezwänzg')) === official)
- const filterUnmapped = (list) => list.filter(meetup => !meetup.top || !meetup.left)
- const style = m => m.top && m.left ? `top:${m.top}%;left:${m.left}%;` : null
- const clss = m => m.top && m.left ? null : 'unmapped'
- let j = 0
#map
h2 Einundzwanzig Meetups
ul.meetups
each m in filterOfficial(meetups, true)
li.official(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
.dot(style=`animation-delay:${((j*2000) + random(3000))}ms;animation-duration:${meetups.length*2}s;`)
= m.name.replace('Einundzwanzig ', '').replace('Einezwänzg ', '')
if m.members
= ' '
small.members= `(${m.members})`
- j++
h2 Weitere Meetups
ul.meetups
each m in filterOfficial(meetups, false)
li(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
.dot(style=`animation-delay:${((j*2000) + random(3000))}ms;animation-duration:${meetups.length*2}s;`)
= m.name.replace('Bitcoin ', '')
if m.members
= ' '
small.members= `(${m.members})`
- j++
img#dach(src=assetPath('/img/dach.svg') alt="DE, AT, CH")
#tooltip.tooltip(hidden)
#unmapped
h2 Weitere Meetups
ul.meetups
each m in filterUnmapped(meetups)
li(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
= m.name
if m.members
= ' '
small.members= `(${m.members})`
mixin spende(d, trunc = false) mixin spende(d, trunc = false)
.spende(id=d.id)&attributes(attributes) .spende(id=d.id)&attributes(attributes)
.inner .inner

View File

@@ -10,7 +10,7 @@ block vars
- const themeColor = site.meta.themeColor - const themeColor = site.meta.themeColor
<!DOCTYPE html> <!DOCTYPE html>
html(lang="en") html(lang="de")
head head
include _head include _head
body body
@@ -46,8 +46,6 @@ html(lang="en")
a(href="/team/" class=(navCurrent === 'team' && 'current')) Team a(href="/team/" class=(navCurrent === 'team' && 'current')) Team
a(href="/verein/" class=(navCurrent === 'verein' && 'current')) Verein a(href="/verein/" class=(navCurrent === 'verein' && 'current')) Verein
a(href="/kontakt/" class=(navCurrent === 'kontakt' && 'current')) Kontakt a(href="/kontakt/" class=(navCurrent === 'kontakt' && 'current')) Kontakt
//- .navItem
//- a(href=site.meta.shopUrl target="_blank") Shop
button(type="button").theme button(type="button").theme
+sprite("theme") +sprite("theme")

View File

@@ -4,11 +4,6 @@ block vars
- const title = 'Bitcoin-Meetups' - const title = 'Bitcoin-Meetups'
- const description = 'Eine Liste von Bitcoin-Meetups und Einundzwanzig-Treffen im D/A/CH/S/LI/LU-Raum.' - const description = 'Eine Liste von Bitcoin-Meetups und Einundzwanzig-Treffen im D/A/CH/S/LI/LU-Raum.'
- const cardImage = '/img/card/meetups.png' - const cardImage = '/img/card/meetups.png'
- const filterOfficial = (list, official) => list.filter(meetup => (meetup.name.startsWith('Einundzwanzig') || meetup.name.startsWith('Einezwänzg')) === official)
- const filterUnmapped = (list) => list.filter(meetup => !meetup.top || !meetup.left)
- const style = m => m.top && m.left ? `top:${m.top}%;left:${m.left}%;` : null
- const clss = m => m.top && m.left ? null : 'unmapped'
- let j = 0
block main block main
#meetups.wrap #meetups.wrap
@@ -27,41 +22,4 @@ block main
Die Vorlage für das Telegram-Gruppenbild findest du im [Media Kit](/media). Die Vorlage für das Telegram-Gruppenbild findest du im [Media Kit](/media).
#map +map(meetups)
h2 Einundzwanzig Meetups
ul.meetups
each m in filterOfficial(meetups, true)
li.official(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
.dot(style=`animation-delay:${((j*2000) + random(3000))}ms;animation-duration:${meetups.length*2}s;`)
= m.name.replace('Einundzwanzig ', '').replace('Einezwänzg ', '')
if m.members
= ' '
small.members= `(${m.members})`
- j++
h2 Weitere Meetups
ul.meetups
each m in filterOfficial(meetups, false)
li(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
.dot(style=`animation-delay:${((j*2000) + random(3000))}ms;animation-duration:${meetups.length*2}s;`)
= m.name.replace('Bitcoin ', '')
if m.members
= ' '
small.members= `(${m.members})`
- j++
img#dach(src=assetPath('/img/dach.svg') alt="DE, AT, CH")
#tooltip.tooltip(hidden)
#unmapped
h2 Weitere Meetups
ul.meetups
each m in filterUnmapped(meetups)
li(class=clss(m) style=style(m))
a(href=m.url target="_blank" rel="nofollow noopener")
= m.name
if m.members
= ' '
small.members= `(${m.members})`

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB