<!DOCTYPE html>
<meta charset="utf-8">
<!-- https://html.spec.whatwg.org/multipage/syntax.html#syntax-tag-omission -->
<title>Warszawski Hackerspace</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="/static/site/landing.css"/>
<link rel="stylesheet" href="/static/site/fonts.css"/>
<link rel="stylesheet" href="/static/leaflet/leaflet.css"/>
<style>
</style>
<div id="ledsFloater">
<div id="ledsWrapper">
    <div id="leds">
    </div>
</div>
</div>
<div id="page">
    <header id="top">
        <div id="logo">
            <img src="/static/site/neon-syrenka.svg" />
        </div>
        <div class="type">
            <h1>Warszawski Hackerspace</h1>
        </div>
    </header>
    <nav id="quicklinks">
        <ul>
            <li><a href="https://wiki.hackerspace.pl/">Wiki</a></li>
            <li><a href="https://profile.hackerspace.pl/">Konto</a></li>
            <li><a href="https://wiki.hackerspace.pl/partners">Partnerzy</a></li>
            <li><a href="https://wiki.hackerspace.pl/kontakt">Kontakt</a></li>
            {{ if eq .AtError nil }}
            {{ $count := len .AtStatus.Users }}
            <li>
                <a href="https://at.hackerspace.pl">Osób w spejsie: <b>{{ $count }}</b></a>
            </li>
            {{ end }}
        </ul>
    </nav>
    <div class="bottom">
        <div class="about">
            <h2>Czym jest Warszawski Hackerspace?</h2>
            <p>
              Przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja ogólno pojętym tworzeniem w duchu <a href="https://pl.wikipedia.org/wiki/Spo%C5%82eczno%C5%9B%C4%87_haker%C3%B3w">kultury hackerskiej</a>. Razem utrzymujemy przestrzeń na ul. Wolność 2A, gdzie mamy między innymi:
              <ul>
                  <li><b>Warsztat ciężki</b>, ze sprzętem takim jak ploter laserowy, frezarka kolumnowa CNC, tokarka, spawarki i ramię robotyczne KUKA,</li>
                  <li><b>Warsztat elektroniczny</b>, z oscyloskopami, stacjami lutowniczymi i masą części elektronicznych,</li>
                  <li><b>Przestrzeń socjalną</b>, pełną stołów i kanap do hakowania nad projektami software'owymi,</li>
                  <li><b>Serwerownię</b>, utrzymująca infrastrukturę spejsu i naszego mikro-ISP <a href="https://bgp.wtf">bgp.wtf</a>.</li>
              </ul>
            </p>
            <p>
              <b>Hackerspace nie zna barier.</b> Jeśli masz ciekawy pomysł i szukasz ludzi chętnych do współpracy, lub po prostu potrzebujesz miejsca i sprzętu - <a href="https://wiki.hackerspace.pl/jak-dolaczyc">zapraszamy</a>! Utrzymujemy się w całosci z wolontariatu naszych członków, <a href="https://wiki.hackerspace.pl/finanse">darowizn i składek</a> oraz drobnej aktywności komercyjnej.
            </p>
            <section id="gallery">
                <div class="img-wrapper">
                    <img src="/static/site/space.jpg" />
                </div>
                <ul id="gallery-nav">
                    <li data-name="space" class="active"><a href="#">Spejs</a></li>
                    <li data-name="frezarka"><a href="#">Frezarka</a></li>
                    <li data-name="tokarka"><a href="#">Tokarka</a></li>
                    <li data-name="kuka"><a href="#">KUKA</a></li>
                    <li data-name="serwerownia"><a href="#">Serwerownia</a></li>
                </ul>
            </section>
            <h2>Czy mogę odwiedzić spejs? Jak do was dołączyć?</h2>
            <p>
              Zapraszamy na cotygodniowe otwarte spotkania - w każdy czwartek od 18:00 do późna. <a href="https://wiki.hackerspace.pl/jak-trafic">Tutaj mapka i instrukcje krok po kroku jak zlokalizować właściwą Wolność 2A</a>. Jeśli ten termin Ci nie pasuje, <a href="https://wiki.hackerspace.pl/kontakt">skontaktuj się z nami</a> i coś wymyślimy.
            </p>
            <p>
              Po tym jak nas parę razy odwiedzisz i trochę bliżej poznasz, możesz też <a href="https://wiki.hackerspace.pl/jak-dolaczyc">dołączyć do naszego Stowarzyszenia</a>. Pozwoli Ci to nie tylko razem z nami dalej tworzyć i utrzymywać spejs, ale też przychodzić kiedy tylko zechcesz.
            </p>
            <p>
              Aktualny statut Stowarzyszenia znajdziesz <a href="/static/site/statut_warszawski_hackerspace-v1.3.pdf">tutaj</a>.
            </p>
            <h2>Gdzie jest Hackerspace?</h2>
            <div id="map"></div>
            <p>
                Stowarzyszenie Warszawski Hackerspace, ul. Wolność 2A, 01-018 Warszawa.
            </p>
            <h2>Gdzie was znaleźć w Internecie?</h2>
            <p>
	            Jeśli nalegasz, mamy rzadko aktualizowane konta na <a href="https://social.hackerspace.pl/@hswaw">Fediverse (Mastodon)</a>, <a href="https://twitter.com/hackerspacepl">Twitterze</a> i <a href="https://www.facebook.com/hackerspacepl">Facebooku</a>. Lepiej jednak kontaktować się z nami <a href="https://wiki.hackerspace.pl/kontakt">przez IRC, Matrixa lub mejlowo</a>.
            </p>
        </div>
    </div>
</div>

<script>
window.loadMap = () => {
    let map = L.map('map', {
        center: [52.24158, 20.9848],
        zoom: 13,
        scrollWheelZoom: false,
    });

    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
    }).addTo(map);

    L.marker([52.24158, 20.9848]).addTo(map);
}
document.querySelectorAll('#gallery-nav > li > a').forEach(link => {
    link.onclick = e => {
        e.preventDefault()
        document.querySelector(`#gallery-nav > li.active`).classList.remove('active')
        const li = e.currentTarget.parentNode
        li.classList.add('active')
        const name = li.dataset.name
        document.querySelector('#gallery img').src = `/static/site/${name}.jpg`
    }
})
</script>
<script src="/static/leaflet/leaflet.js" crossorigin="" onload="loadMap()"></script>
<script src="/static/site/led.js" crossorigin="" type="module" ></script>
