mirror of
https://codeberg.org/angestoepselt/homepage.git
synced 2025-05-24 14:46:16 +00:00
Add timeline styles and content
This commit is contained in:
parent
a0eb7d3443
commit
9b3d6ea9ae
6 changed files with 167 additions and 16 deletions
15
.eleventy.js
15
.eleventy.js
|
|
@ -94,6 +94,19 @@ ${content}
|
||||||
`;
|
`;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
eleventyConfig.addPairedShortcode('timeline', (content, stamp) => {
|
||||||
|
return `
|
||||||
|
<section class="timeline">
|
||||||
|
<span class="stamp${stamp === undefined ? ' small' : ''}">
|
||||||
|
${stamp ?? ''}
|
||||||
|
</span>
|
||||||
|
<div class="content">
|
||||||
|
${content}
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
`;
|
||||||
|
});
|
||||||
|
|
||||||
eleventyConfig.addPairedAsyncShortcode(
|
eleventyConfig.addPairedAsyncShortcode(
|
||||||
'banner',
|
'banner',
|
||||||
async (content, title, backgroundSource, backgroundAlt) => {
|
async (content, title, backgroundSource, backgroundAlt) => {
|
||||||
|
|
@ -120,7 +133,7 @@ ${content}
|
||||||
<div class="content">
|
<div class="content">
|
||||||
${title ? '<div class="title">' + title + '</div>' : ''}
|
${title ? '<div class="title">' + title + '</div>' : ''}
|
||||||
${
|
${
|
||||||
// The '\n's here are required so that markdwon still gets rendered in the
|
// The '\n's here are required so that markdown still gets rendered in the
|
||||||
// content block:
|
// content block:
|
||||||
content.trim() ? '<div>\n' + content + '\n</div>' : ''
|
content.trim() ? '<div>\n' + content + '\n</div>' : ''
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,21 +3,62 @@ layout: layouts/page.njk
|
||||||
eleventyNavigation:
|
eleventyNavigation:
|
||||||
key: Über uns
|
key: Über uns
|
||||||
order: 100
|
order: 100
|
||||||
|
extraStylesheets: ['timeline']
|
||||||
---
|
---
|
||||||
# Infos zum Verein
|
# Eine kurze Vereinsgeschichte
|
||||||
|
|
||||||
## Vereinsgeschichte
|
{% timeline "2011" %}
|
||||||
|
|
||||||
Angestöpselt e. V. wurde 2011 von Steffen Hock und Christoph Fischer – damals
|
## Vereinsgründung
|
||||||
noch mit dem nicht mehr aktuellen Schriftzug *@ngestöspselt* – nach dem
|
|
||||||
Vorbild der Computerspende Hamburg gegründet. Was klein in Steffens keller mit
|
|
||||||
Computerausgaben aus dem Kofferraum begann, fiel schnell auf fruchtbaren Boden.
|
|
||||||
Bald wurde also auch ein Umzug in eigene Räumlichkeiten notwendig. Als 2015
|
|
||||||
viele Menschen auch in Würzburg Zuflucht suchten, stieg die Nachfrage enorm an
|
|
||||||
und wir hatten alle Hände voll zu tun, möglichst vielen Menschen einen eigenen
|
|
||||||
Computer für die unterschiedlichsten Bedürfnisse (Kommunikation mit der Familie
|
|
||||||
im Ausland, Sprachkurse, Schulbesuch, …) zur Verfügung zu stellen. Die Idee fand
|
|
||||||
ein reges Medienecho und erlangte schon bald über Würzburg hinaus an
|
|
||||||
Bekanntheit.
|
|
||||||
|
|
||||||
## Was wir heute machen
|
Steffen Hock und Christoph Fischer gründen den Verein – damals noch mit dem
|
||||||
|
nicht mehr aktuellen Schriftzug *@ngestöspselt* – nach dem Vorbild der
|
||||||
|
Computerspende Hamburg. Was klein in Steffens keller mit Computerausgaben aus
|
||||||
|
dem Kofferraum begann, fiel schnell auf fruchtbaren Boden.
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
{% timeline "????" %}
|
||||||
|
|
||||||
|
## Umzug
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
{% timeline "2015" %}
|
||||||
|
|
||||||
|
## Hochsaison
|
||||||
|
|
||||||
|
Als 2015 viele Menschen auch in Würzburg Zuflucht fanden, stieg die Nachfrage
|
||||||
|
nach unserem Projekt enorm an und wir hatten alle Hände voll zu tun, möglichst
|
||||||
|
vielen Menschen einen eigenen Computer für die unterschiedlichsten Bedürfnisse
|
||||||
|
zur Verfügung zu stellen. Kommunikation mit der Familie im Ausland, Sprachkurse
|
||||||
|
und Schulbesuche waren einige der Gründe, warum von dem Projekt gebrauch gemacht
|
||||||
|
wurde. Die Idee fand ein reges Medienecho und erlangte schon bald über Würzburg
|
||||||
|
hinaus an Bekanntheit.
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
{% timeline "2017" %}
|
||||||
|
|
||||||
|
## CoderDojo
|
||||||
|
|
||||||
|
Mit dem [CoderDojo](/coderdojo) haben wir unser zweites großes Projekt im Verein
|
||||||
|
aufgenommen. Seitdem haben wir etliche kostenlose Veranstaltungen zusammen mit
|
||||||
|
Ehrenamtlichen angeboten. Dabei können Kinder und Jugendliche sichen vielen
|
||||||
|
Themen bequem und spielerisch nähern, wie zum Beispiel Programmieren,
|
||||||
|
Kryptographie oder Videoproduktion.
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
{% timeline "2019" %}
|
||||||
|
|
||||||
|
## Tinkerfestival
|
||||||
|
|
||||||
|
Das [Tinkerfestival](/tinkerfestival) wurde von Angestöpselt ausgerichtet, um
|
||||||
|
…
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
{% timeline "…" %}
|
||||||
|
|
||||||
|
## Und heute
|
||||||
|
|
||||||
|
|
||||||
|
{% endtimeline %}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
padding: layout.$large-gap;
|
padding: layout.$large-gap;
|
||||||
|
|
||||||
&.inverse {
|
&.inverse {
|
||||||
color: colors.$gray-50;
|
color: colors.$inverse-text;
|
||||||
background-color: colors.$blue-800;
|
background-color: colors.$blue-800;
|
||||||
|
|
||||||
h2:after {
|
h2:after {
|
||||||
|
|
|
||||||
95
src/styles/components/_timeline.scss
Normal file
95
src/styles/components/_timeline.scss
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
@use 'sass:math';
|
||||||
|
@use '../lib/colors';
|
||||||
|
@use '../lib/layout';
|
||||||
|
@use '../lib/motion';
|
||||||
|
|
||||||
|
.timeline {
|
||||||
|
$stampSize: 4rem;
|
||||||
|
$lineWeight: 0.2rem;
|
||||||
|
$itemSpacing: layout.$normal-gap;
|
||||||
|
|
||||||
|
@extend %content-gutter;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
> .stamp {
|
||||||
|
display: inline-block;
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: $stampSize;
|
||||||
|
height: $stampSize;
|
||||||
|
z-index: 10; // To lift it above the line.
|
||||||
|
border: $lineWeight solid colors.$gray-300;
|
||||||
|
border-radius: 100%;
|
||||||
|
line-height: #{$stampSize - 2 * $lineWeight};
|
||||||
|
text-align: center;
|
||||||
|
background-color: colors.$gray-50;
|
||||||
|
transition: border-color motion.$subtle, background-color motion.$subtle, color motion.$subtle;
|
||||||
|
|
||||||
|
&.small {
|
||||||
|
background-color: colors.$gray-300;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> .content {
|
||||||
|
position: relative;
|
||||||
|
flex-grow: 1;
|
||||||
|
margin-left: layout.$normal-gap;
|
||||||
|
margin-bottom: $itemSpacing;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: calc(100% + #{layout.$normal-gap + math.div($stampSize, 2)});
|
||||||
|
bottom: #{-1 * $itemSpacing};
|
||||||
|
width: $lineWeight;
|
||||||
|
background-color: colors.$gray-300;
|
||||||
|
transform: translateX(50%);
|
||||||
|
transition: background-color motion.$subtle;
|
||||||
|
}
|
||||||
|
|
||||||
|
> h2:first-child {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: layout.$large-gap;
|
||||||
|
line-height: $stampSize;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
position: absolute;
|
||||||
|
right: calc(100% + #{layout.$small-gap});
|
||||||
|
top: 50%;
|
||||||
|
width: 4rem;
|
||||||
|
height: $lineWeight;
|
||||||
|
background-color: colors.$gray-300;
|
||||||
|
transform: translateY(-100%);
|
||||||
|
transition: background-color motion.$subtle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
> .stamp {
|
||||||
|
border-color: colors.$blue-800;
|
||||||
|
background-color: colors.$blue-800;
|
||||||
|
color: colors.$inverse-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
> .content {
|
||||||
|
&::before,
|
||||||
|
> h2:first-child::after {
|
||||||
|
background-color: colors.$blue-800;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
> .content {
|
||||||
|
padding-bottom: layout.$normal-gap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ .timeline {
|
||||||
|
margin-top: #{-1 * layout.$normal-gap};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -17,6 +17,7 @@ $yellow-500: #ffff00;
|
||||||
|
|
||||||
$main-text: $gray-800;
|
$main-text: $gray-800;
|
||||||
$main-background: $gray-50;
|
$main-background: $gray-50;
|
||||||
|
$inverse-text: $gray-50;
|
||||||
|
|
||||||
@mixin block-shadow {
|
@mixin block-shadow {
|
||||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
|
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
|
||||||
|
|
|
||||||
1
src/styles/timeline.scss
Normal file
1
src/styles/timeline.scss
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
@use 'components/timeline';
|
||||||
Loading…
Add table
Reference in a new issue