<!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>
            <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</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>
	    <h2>Gdzie mogę znaleźć statut Stowarzyszenia?</h2>
	    <p>
	       Aktualny statut Stowarzyszenia znajduje się <a href="/static/site/statut_warszawski_hackerspace-v1.3.pdf">Tutaj</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>
