Compare commits
12 Commits
cfcdf34129
...
f089d62e63
Author | SHA1 | Date | |
---|---|---|---|
f089d62e63 | |||
c62983d977 | |||
|
150223ae58 | ||
814a384295 | |||
d4026fd5b3 | |||
775245c3b4 | |||
8b55a17040 | |||
0a8f3167a6 | |||
c53438e2cc | |||
|
c890e98279 | ||
f05390f16c | |||
|
9fb8eac7c7 |
45
atom_gen.py
Executable file
45
atom_gen.py
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#! /usr/bin/python3
|
||||||
|
|
||||||
|
# needs lowdown and feegden installed
|
||||||
|
# feedgen can be installed with pip
|
||||||
|
# also expects that *.md files are in blog/ directory
|
||||||
|
|
||||||
|
from feedgen.feed import FeedGenerator
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
|
||||||
|
blogs_dir = os.fsencode("blog")
|
||||||
|
|
||||||
|
def blogposts_list_gen():
|
||||||
|
output_list = []
|
||||||
|
for file in os.listdir(blogs_dir):
|
||||||
|
filename = os.fsdecode(file)
|
||||||
|
if filename.endswith(".md"):
|
||||||
|
full_path = "blog/" + filename
|
||||||
|
|
||||||
|
author = subprocess.run("lowdown -X author " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
|
||||||
|
title = subprocess.run("lowdown -X title " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
|
||||||
|
time = subprocess.run("lowdown -X time " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
|
||||||
|
content_html = subprocess.run("lowdown " + full_path, capture_output=True, shell=True, text=True).stdout.strip()
|
||||||
|
|
||||||
|
output_list.append([author, title, time, content_html, full_path])
|
||||||
|
return output_list
|
||||||
|
|
||||||
|
def feedgen(blogs):
|
||||||
|
fg = FeedGenerator()
|
||||||
|
fg.id('http://dmz.rs/')
|
||||||
|
fg.title('Decentrala Blog')
|
||||||
|
fg.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
|
||||||
|
fg.link( href='https://dmz.rs/atom.xml', rel='self' )
|
||||||
|
|
||||||
|
for post in blogs:
|
||||||
|
fe = fg.add_entry()
|
||||||
|
fe.id("https://dmz.rs/" + post[4][:-3] + ".html")
|
||||||
|
fe.author({'name': post[0]})
|
||||||
|
fe.title(post[1])
|
||||||
|
fe.updated(post[2])
|
||||||
|
fe.content(content=post[3], type='html')
|
||||||
|
|
||||||
|
fg.atom_file('atom.xml')
|
||||||
|
|
||||||
|
feedgen(blogposts_list_gen())
|
@ -1,43 +0,0 @@
|
|||||||
<h1>Nulla possent lacrimas huius</h1>
|
|
||||||
<h2>Fratres quoque</h2>
|
|
||||||
<p>Lorem markdownum pariter: lata per tuae quo salus rorant septemfluus mecum
|
|
||||||
summisque feres potes Ulixes. Aeacus Tritonida reicere non convocat pariter
|
|
||||||
neque arma refovet quoque stabunt in. Velamina inrita, silvestribus, ut sarcina
|
|
||||||
memori, bellaque dummodo.</p>
|
|
||||||
<p>Factis dixit macies coissent! Nactasque molliter quam in memorant velamine;
|
|
||||||
praemia mundi <em>illo</em> Achille <strong>de</strong>.</p>
|
|
||||||
<h2>Velut Procrin</h2>
|
|
||||||
<p>Vobis <a href="http://www.palmae.net/aquis-inmota.html">grave</a> fessos ita Belides; poena
|
|
||||||
hora oculis celebrandaque audita guttur ad custodia exprobravit. Pacis monuere
|
|
||||||
et crimen loquor <em>contigit quae</em>! Nondum iudex, auro moratur rogaberis manet.
|
|
||||||
Faciem in dolor adusque, sum soror pectoris in reppulit superest caesis, Hebrum
|
|
||||||
e natura sonabunt. Incensaque An monitae, in animoque vulnerat terra cavo
|
|
||||||
torquet qui humili perque, cristis alii fruitur adacto.</p>
|
|
||||||
<ul>
|
|
||||||
<li>Est velavit idem</li>
|
|
||||||
<li>Naupliades tenebant instanti ense iactura ut nutantem</li>
|
|
||||||
<li>Miserarum corpore habet</li>
|
|
||||||
</ul>
|
|
||||||
<h2>Ad utque sic Charybdis iamque sequenti genitore</h2>
|
|
||||||
<p>Hesperien arida. Tibi caelo clavigeram saxoque capillos doleamne faveas testes
|
|
||||||
senex <strong>rudente lacrimis</strong> insula Cnosiacaeque? Dant ablato adulterium gemino,
|
|
||||||
pluvialibus una, dependent iactura illum redit atque dixi pondera. Eumque
|
|
||||||
sanguis errare, formasque parabat volubilibus satis creaverat dextera Iuppiter
|
|
||||||
te sero, est. Opem duceret quam tum pollentibus ramumque tauri; at Saturnia
|
|
||||||
erigitur imitamine ferens adunca delapsaque viminis, terras.</p>
|
|
||||||
<h2>Denique ostendit femina tamen</h2>
|
|
||||||
<p>Telum in ab utque ut et mihi <strong>auras Midan</strong> meo genus membra comites ne. Orbis
|
|
||||||
via necis. Romana deus, sub frangunt furor crepuscula equorum Teleboasque templa
|
|
||||||
virgineumque belua obsita est. Fragorem Somnus; ducebas placido oscula.</p>
|
|
||||||
<blockquote>
|
|
||||||
<p>Inmota manifesta producit, inquit verbisque fluctus iamque, quo fuerat ipse
|
|
||||||
nostra, iussit <strong>nec tenebat</strong>. Pars procul, pietate crinales meus <em>totiens</em>
|
|
||||||
haustus frondes, per sedebat. Domum vincite.</p>
|
|
||||||
</blockquote>
|
|
||||||
<h2>De curaque quoque reddat numina quae veniam</h2>
|
|
||||||
<p>Fessus iacit tantum elimat a medios vinoque finita adspergine liquerat munere
|
|
||||||
vultibus Atridae pecus positoque reluxit. Veniebat videtur laesae quod vacca,
|
|
||||||
lolium neu Perseus fraude nominibus contraria.</p>
|
|
||||||
<p>Parat <strong>ferus</strong> in actis terebrata animaeque <strong>quoque</strong>, deos et morte agitantem
|
|
||||||
ore. Proelia casus Gryneus. Quis mihi <em>ille cur</em> Assyrius per siquis, ille
|
|
||||||
Hecabe Arethusa, erigite perfectis.</p>
|
|
@ -1,53 +0,0 @@
|
|||||||
# Nulla possent lacrimas huius
|
|
||||||
|
|
||||||
## Fratres quoque
|
|
||||||
|
|
||||||
Lorem markdownum pariter: lata per tuae quo salus rorant septemfluus mecum
|
|
||||||
summisque feres potes Ulixes. Aeacus Tritonida reicere non convocat pariter
|
|
||||||
neque arma refovet quoque stabunt in. Velamina inrita, silvestribus, ut sarcina
|
|
||||||
memori, bellaque dummodo.
|
|
||||||
|
|
||||||
Factis dixit macies coissent! Nactasque molliter quam in memorant velamine;
|
|
||||||
praemia mundi *illo* Achille **de**.
|
|
||||||
|
|
||||||
## Velut Procrin
|
|
||||||
|
|
||||||
Vobis [grave](http://www.palmae.net/aquis-inmota.html) fessos ita Belides; poena
|
|
||||||
hora oculis celebrandaque audita guttur ad custodia exprobravit. Pacis monuere
|
|
||||||
et crimen loquor *contigit quae*! Nondum iudex, auro moratur rogaberis manet.
|
|
||||||
Faciem in dolor adusque, sum soror pectoris in reppulit superest caesis, Hebrum
|
|
||||||
e natura sonabunt. Incensaque An monitae, in animoque vulnerat terra cavo
|
|
||||||
torquet qui humili perque, cristis alii fruitur adacto.
|
|
||||||
|
|
||||||
- Est velavit idem
|
|
||||||
- Naupliades tenebant instanti ense iactura ut nutantem
|
|
||||||
- Miserarum corpore habet
|
|
||||||
|
|
||||||
## Ad utque sic Charybdis iamque sequenti genitore
|
|
||||||
|
|
||||||
Hesperien arida. Tibi caelo clavigeram saxoque capillos doleamne faveas testes
|
|
||||||
senex **rudente lacrimis** insula Cnosiacaeque? Dant ablato adulterium gemino,
|
|
||||||
pluvialibus una, dependent iactura illum redit atque dixi pondera. Eumque
|
|
||||||
sanguis errare, formasque parabat volubilibus satis creaverat dextera Iuppiter
|
|
||||||
te sero, est. Opem duceret quam tum pollentibus ramumque tauri; at Saturnia
|
|
||||||
erigitur imitamine ferens adunca delapsaque viminis, terras.
|
|
||||||
|
|
||||||
## Denique ostendit femina tamen
|
|
||||||
|
|
||||||
Telum in ab utque ut et mihi **auras Midan** meo genus membra comites ne. Orbis
|
|
||||||
via necis. Romana deus, sub frangunt furor crepuscula equorum Teleboasque templa
|
|
||||||
virgineumque belua obsita est. Fragorem Somnus; ducebas placido oscula.
|
|
||||||
|
|
||||||
> Inmota manifesta producit, inquit verbisque fluctus iamque, quo fuerat ipse
|
|
||||||
> nostra, iussit **nec tenebat**. Pars procul, pietate crinales meus *totiens*
|
|
||||||
> haustus frondes, per sedebat. Domum vincite.
|
|
||||||
|
|
||||||
## De curaque quoque reddat numina quae veniam
|
|
||||||
|
|
||||||
Fessus iacit tantum elimat a medios vinoque finita adspergine liquerat munere
|
|
||||||
vultibus Atridae pecus positoque reluxit. Veniebat videtur laesae quod vacca,
|
|
||||||
lolium neu Perseus fraude nominibus contraria.
|
|
||||||
|
|
||||||
Parat **ferus** in actis terebrata animaeque **quoque**, deos et morte agitantem
|
|
||||||
ore. Proelia casus Gryneus. Quis mihi *ille cur* Assyrius per siquis, ille
|
|
||||||
Hecabe Arethusa, erigite perfectis.
|
|
@ -10,3 +10,11 @@ datum, vreme, lokacija, tema
|
|||||||
08-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day
|
08-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day
|
||||||
09-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cryptoparty - Uvod u privatnost
|
09-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cryptoparty - Uvod u privatnost
|
||||||
11-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
|
11-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
|
||||||
|
01-08-2023, 19:00, DC Krov, Tehno veče
|
||||||
|
07-08-2023, 19:00, DC Krov, Linux ricing
|
||||||
|
08-08-2023, 19:00, DC Krov, Lambda račun
|
||||||
|
14-08-2023, 19:00, DC Krov, Linux distro diskusija
|
||||||
|
15-08-2023, 19:00, DC Krov, Pirati 777 mora
|
||||||
|
21-08-2023, 19:00, DC Krov, Python vežbe
|
||||||
|
22-08-2023, 19:00, DC Krov, Autentifikacija na internetu
|
||||||
|
28-08-2023, 19:00, DC Krov, Kviz
|
|
BIN
font/Facade-Sud.woff
Normal file
BIN
font/Facade-Sud.woff
Normal file
Binary file not shown.
BIN
font/JetBrainsMono-Regular.ttf
Normal file
BIN
font/JetBrainsMono-Regular.ttf
Normal file
Binary file not shown.
21
img/strelica-closed.svg
Normal file
21
img/strelica-closed.svg
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="40"
|
||||||
|
height="40"
|
||||||
|
viewBox="0 0 10 10"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<g
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="path1336"
|
||||||
|
style="fill:#181715;stroke-width:0.504542;fill-opacity:1"
|
||||||
|
d="M 10 0 L 8.8911133 0.57714844 L 8.8862305 0.58544922 L 0.96435547 4.2792969 A 10 10 0 0 0 1.574707 5.3740234 L 7.6362305 2.5473633 L 4.1142578 8.0756836 A 10 10 0 0 0 5.1674805 8.7485352 L 8.6904297 3.21875 L 8.6904297 9.9086914 A 10 10 0 0 0 9.9404297 9.9975586 L 9.9404297 1.2568359 L 9.9453125 1.2490234 L 10 0 z " />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 773 B |
21
img/strelica-opened.svg
Normal file
21
img/strelica-opened.svg
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="40"
|
||||||
|
height="40"
|
||||||
|
viewBox="0 0 10 10"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<g
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="path1336"
|
||||||
|
style="fill:#181715;fill-opacity:1;stroke-width:0.504542"
|
||||||
|
d="M 5 0.0029296875 L 4.375 1.0859375 L 4.375 1.0952148 L 0.35400391 7.4072266 A 8.75 8.75 0 0 0 1.4614258 7.9956055 L 4.375 3.4213867 L 4.375 8.7265625 A 8.75 8.75 0 0 0 5 8.75 A 8.75 8.75 0 0 0 5.625 8.7265625 L 5.625 3.4213867 L 8.5390625 7.9956055 A 8.75 8.75 0 0 0 9.6464844 7.4072266 L 5.625 1.0952148 L 5.625 1.0859375 L 5 0.0029296875 z " />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 799 B |
34
index.html
34
index.html
@ -4,6 +4,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link rel="stylesheet" href="/styles/reset.css">
|
||||||
<link rel="stylesheet" href="/styles/style.css">
|
<link rel="stylesheet" href="/styles/style.css">
|
||||||
<link rel="stylesheet" href="/styles/home.css">
|
<link rel="stylesheet" href="/styles/home.css">
|
||||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
|
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
|
||||||
@ -13,43 +14,36 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a class="logo" href="/index.html">Decentrala</a>
|
<a id="logo" href="/index.html">Decentrala</a>
|
||||||
<span>
|
<span>
|
||||||
<button id="theme-switcher">turn the lights off</button>
|
<button id="theme-switcher">turn the lights off</button>
|
||||||
<a class="account" href="/pages/account.html">Nalog</a>
|
<a class="account" href="/pages/account.html">Nalog</a>
|
||||||
</span>
|
</span>
|
||||||
</header>
|
</header>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<h1>Dobrodosli!</h1>
|
<h1>Dobrodošao!</h1>
|
||||||
<p>
|
<p>
|
||||||
Mi smo <em>Decentrala</em> - grupa entuzijasta okupljena oko ideja decentralizacije i slobodnog sirenja znanja.
|
Mi smo <em>Decentrala</em> - grupa entuzijasta okupljena oko ideja decentralizacije i slobodnog širenja znanja.
|
||||||
Zvuci interesantno? Evo jos nekih stvari o nama:
|
Zvuči interesantno? Evo još nekih stvari o nama:
|
||||||
</p>
|
</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>Znanje:</dt>
|
<dt>Znanje:</dt>
|
||||||
<dd>Sve nase radionice su besplatne i otvorene za sve zainteresovane, a ako imate nesto sto zelite da
|
<dd>Sve naše radionice su besplatne i otvorene za sve zainteresovane.
|
||||||
podelite, najavite se na nasem <a href="https://forum.dmz.rs">Forumu</a> i odrzite radionicu kod nas!</dd>
|
Ako želiš nešto da podeliš najavi se na našem <a href="https://forum.dmz.rs">Forumu</a> i održi radionicu kod nas!</dd>
|
||||||
<dt>Akcije:</dt>
|
<dt>Akcije:</dt>
|
||||||
<dd>Povremeno organizujemo razlicite akcije, hakatone, crypto-partije, izlozbe i slicne dogadjaje otvorene za sve
|
<dd>Povremeno organizujemo različite akcije, hakatone, crypto-partije, izložbe i slične događaje otvorene za sve zainteresovane. </dd>
|
||||||
zainteresovane. </dd>
|
|
||||||
<dt>Servisi:</dt>
|
<dt>Servisi:</dt>
|
||||||
<dd>Na nasim serverima pokrecemo neke servise (email, git, wiki i druge) koji su otvoreni za sve i koje mozes
|
<dd>Na našim serverima pokrećemo razne servise (email, git, wiki i druge) koji su otvoreni za sve i koji se mogu koristiti sa ili bez našeg naloga.</dd>
|
||||||
koristiti sa ili bez naseg naloga.</dd>
|
|
||||||
<dt>Ljudi:</dt>
|
|
||||||
<dd>Lorem ipsum dolor sit amet.</dd>
|
|
||||||
</dl>
|
</dl>
|
||||||
<p>
|
<p>
|
||||||
Ako si procitao sve i i dalje si zainteresovan, mozes da napravis <a href="/pages/account.html">nalog</a> na nasem
|
Ako si i dalje zainteresovan, možeš napraviti <a href="/pages/account.html">nalog</a> na našem serveru koji će ti omogućiti korišćenje svih naših <a href="/pages/services.html">servisa</a>.
|
||||||
serveru koji ce
|
Ako želiš prvo da vidiš kako to sve izgleda u realnosti, možeš doći na neki od naših <a href="/pages/events.html">događaja</a>, i tu nas upoznati!
|
||||||
ti omoguciti da koristis sve nase <a href="/pages/services.html">servise</a>, a ako prvo hoces da vidis kako to
|
|
||||||
sve izgleda u realnosti, mozes da dodjes na neki od nasih <a href="/pages/events.html">dogadjaja</a>, i tamo nas
|
|
||||||
upoznas!
|
|
||||||
</p>
|
</p>
|
||||||
<img id="mesh" src="/img/mesh-light.svg">
|
<img id="mesh" src="/img/mesh-light.svg">
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -57,19 +51,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
<a href="/pages/contact.html">Kontakt</a>
|
<a href="/pages/contact.html">Kontakt</a>
|
||||||
</span>
|
</span>
|
||||||
<span class="copyleft">
|
<span class="copyleft">
|
||||||
|
<span class="links">
|
||||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg"
|
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg"
|
||||||
alt="CreativeCommons"></a>
|
alt="CreativeCommons"></a>
|
||||||
<a href=""><img src="/img/w-light.svg" alt="Webring"></a>
|
<a href=""><img src="/img/w-light.svg" alt="Webring"></a>
|
||||||
<a href="https://gitea.dmz.rs/eline/decentrala-website-static-new"><img src="/img/git-light.svg"
|
<a href="https://gitea.dmz.rs/eline/decentrala-website-static-new"><img src="/img/git-light.svg"
|
||||||
alt="SourceCode"></a>
|
alt="SourceCode"></a>
|
||||||
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
|
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
|
||||||
|
</span>
|
||||||
<span>Decentrala © 2023</span>
|
<span>Decentrala © 2023</span>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
|
@ -21,16 +21,16 @@
|
|||||||
</header>
|
</header>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<h1>Kontakt</h1>
|
<h1>Kontakt</h1>
|
||||||
<p>Mozes nam poslati mail na <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> ili se mozes pridruziti nasem <a
|
<p>Možeš nam poslati mail na <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> ili se mozes pridružiti našem <a
|
||||||
href="https://forum.dmz.rs">Forumu</a>.</p>
|
href="https://forum.dmz.rs">Forumu</a>.</p>
|
||||||
<p>Takodje smo i na <a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a></p>
|
<p>Takođe smo i na <a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a></p>
|
||||||
<p style="position: relative; top: 5rem;">U slucaju da nadjete <em>bug</em> na sajtu, bili bismo jako zahvalni
|
<p style="position: relative; top: 5rem;">U slucaju da nadjete <em>bug</em> na sajtu, bili bismo jako zahvalni
|
||||||
ako bi mogli da nam ga prijavite (npr. putem emaila).</p>
|
ako bi mogli da nam ga prijavite (npr. putem emaila).</p>
|
||||||
<img id="mesh" src="/img/mesh-light.svg">
|
<img id="mesh" src="/img/mesh-light.svg">
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div id="sections-menu">
|
<div id="sections-menu">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
@ -74,7 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
||||||
<span class="sections">
|
<span class="sections">
|
||||||
<a href="/pages/events.html">Dogadjaji</a>
|
<a href="/pages/events.html">Događaji</a>
|
||||||
<a href="/pages/projects.html">Projekti</a>
|
<a href="/pages/projects.html">Projekti</a>
|
||||||
<a href="/pages/blog.html">Blog</a>
|
<a href="/pages/blog.html">Blog</a>
|
||||||
<a href="/pages/services.html">Servisi</a>
|
<a href="/pages/services.html">Servisi</a>
|
||||||
|
9
poster.html
Normal file
9
poster.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<html><head><link rel="stylesheet" href="styles/poster.css"><head><body><main><h1>DECENTRALA</h1><h2>Plan za Avgust</h2><table><tr><td>UTO</td><td>1.</td><td> Tehno veče</td></tr>
|
||||||
|
<tr><td>PON</td><td>7.</td><td> Linux ricing</td></tr>
|
||||||
|
<tr><td>UTO</td><td>8.</td><td> Lambda račun</td></tr>
|
||||||
|
<tr><td>PON</td><td>14.</td><td> Linux distro diskusija</td></tr>
|
||||||
|
<tr><td>UTO</td><td>15.</td><td> Pirati 777 mora</td></tr>
|
||||||
|
<tr><td>PON</td><td>21.</td><td> Python vežbe</td></tr>
|
||||||
|
<tr><td>UTO</td><td>22.</td><td> Autentifikacija na internetu</td></tr>
|
||||||
|
<tr><td>PON</td><td>28.</td><td> Kviz</td></tr>
|
||||||
|
</table><p>Radionice počinju u <strong>19h</strong> u Društvenom centru Krov u <strong>Kraljice Marije 47</strong>.</p><p>Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah pored menjačnice. DC Krov je na poslednjem spratu.</p><div id=link>dmz.rs</div></main></body></html>
|
61
poster.py
Normal file
61
poster.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import csv
|
||||||
|
import datetime as dt
|
||||||
|
from dateutil import relativedelta
|
||||||
|
|
||||||
|
EVENTS_CSV_PATH = "dogadjaji.csv"
|
||||||
|
CURRENT_TIME = dt.date.today()
|
||||||
|
NEXT_MONTH = CURRENT_TIME + relativedelta.relativedelta(months=1, day=1)
|
||||||
|
DAYS_OF_WEEK_SR = ("PON", "UTO", "SRE", "ČET", "PET", "SUB", "NED")
|
||||||
|
MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust",\
|
||||||
|
"Septembar", "Oktobar", "Novembar", "Decembar")
|
||||||
|
|
||||||
|
def load_events(csv_path:str) -> list[dict]:
|
||||||
|
events = []
|
||||||
|
with open(csv_path) as csv_file:
|
||||||
|
csv_reader = csv.reader(csv_file)
|
||||||
|
next(csv_reader, None)
|
||||||
|
for event in csv_reader:
|
||||||
|
event_date = event[0]
|
||||||
|
event_date_parsed = dt.datetime.strptime(event_date, "%d-%m-%Y").date()
|
||||||
|
event_time = event[1]
|
||||||
|
event_title = event[3]
|
||||||
|
current_event = {"date":event_date_parsed,
|
||||||
|
"time":event_time,
|
||||||
|
"title":event_title.strip()}
|
||||||
|
if event_date_parsed >= NEXT_MONTH:
|
||||||
|
events.append(current_event)
|
||||||
|
return events
|
||||||
|
|
||||||
|
def render_table(events:list[dict])-> str:
|
||||||
|
html = ""
|
||||||
|
for event in events:
|
||||||
|
date = DAYS_OF_WEEK_SR[event["date"].weekday()]
|
||||||
|
day = event["date"].day
|
||||||
|
title = event["title"]
|
||||||
|
html += f"\t\t\t<tr> <td>{date}</td> <td>{day}.</td> <td>{title}</td> </tr>\n"
|
||||||
|
return html
|
||||||
|
|
||||||
|
def render_page(table: str) -> str:
|
||||||
|
head = "<head>\n\t<meta charset=\"UTF-8\">\n\t<link rel=\"stylesheet\"\
|
||||||
|
href=\"styles/poster.css\">\n<head>"
|
||||||
|
header = "<h1>DECENTRALA</h1>"
|
||||||
|
subheader = f"<h2>Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}</h2>"
|
||||||
|
link = "<div id=link>dmz.rs</div>"
|
||||||
|
p1 = "<p>Radionice počinju u <strong>19h</strong> u Društvenom centru Krov\
|
||||||
|
u <strong>Kraljice Marije 47</strong>.</p>"
|
||||||
|
p2 = "<p>Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah\
|
||||||
|
pored menjačnice. DC Krov je na poslednjem spratu.</p>"
|
||||||
|
return f"<html>\n{head}\n<body>\n\t<main>\n\t\t{header}\n\t\t{subheader}\
|
||||||
|
\n\t\t<table>\n{table}\t\t</table>\n\t\t{p1}\n\t\t{p2}\n\t\t{link}\n\t</main>\
|
||||||
|
\n</body>\n</html>"
|
||||||
|
|
||||||
|
def main():
|
||||||
|
events = load_events(EVENTS_CSV_PATH)
|
||||||
|
table = render_table(events)
|
||||||
|
page = render_page(table)
|
||||||
|
f = open("poster.html", "w")
|
||||||
|
f.write(page)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -22,7 +22,7 @@ if (theme !== null) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
theme_switcher.addEventListener("click", () => {
|
theme_switcher.addEventListener("click", () => {
|
||||||
if (theme_switcher.textContent.indexOf("off") !== -1) {
|
if (theme_switcher.getAttribute("title").indexOf("off") !== -1) {
|
||||||
changeToDarkTheme();
|
changeToDarkTheme();
|
||||||
} else {
|
} else {
|
||||||
changeToLightTheme();
|
changeToLightTheme();
|
||||||
@ -30,7 +30,7 @@ theme_switcher.addEventListener("click", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function changeToDarkTheme() {
|
function changeToDarkTheme() {
|
||||||
theme_switcher.textContent = "turn the light on";
|
theme_switcher.setAttribute("title", "turn the light on");
|
||||||
document.documentElement.style.setProperty("--border", "var(--dark-border)");
|
document.documentElement.style.setProperty("--border", "var(--dark-border)");
|
||||||
document.documentElement.style.setProperty("--text", "var(--dark-text)");
|
document.documentElement.style.setProperty("--text", "var(--dark-text)");
|
||||||
document.documentElement.style.setProperty("--bg", "var(--dark-bg)");
|
document.documentElement.style.setProperty("--bg", "var(--dark-bg)");
|
||||||
@ -41,7 +41,7 @@ function changeToDarkTheme() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function changeToLightTheme() {
|
function changeToLightTheme() {
|
||||||
theme_switcher.textContent = "turn the light off";
|
theme_switcher.setAttribute("title", "turn the light off");
|
||||||
document.documentElement.style.setProperty("--border", "var(--light-border)");
|
document.documentElement.style.setProperty("--border", "var(--light-border)");
|
||||||
document.documentElement.style.setProperty("--text", "var(--light-text)");
|
document.documentElement.style.setProperty("--text", "var(--light-text)");
|
||||||
document.documentElement.style.setProperty("--bg", "var(--light-bg)");
|
document.documentElement.style.setProperty("--bg", "var(--light-bg)");
|
||||||
@ -84,12 +84,10 @@ window.addEventListener("resize", () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
main.addEventListener("click", (event) => {
|
main.addEventListener("click", () => {
|
||||||
if (sections_button.getAttribute("opened") === "true") {
|
if (sections_button.getAttribute("opened") === "true") {
|
||||||
closeMenu();
|
closeMenu();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
DEBUG;
|
|
||||||
console.log(window.innerWidth);
|
|
||||||
console.log(window.innerHeight);
|
|
||||||
|
68
styles/poster.css
Normal file
68
styles/poster.css
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
|
||||||
|
html {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Facade;
|
||||||
|
src: url(../font/Facade-Sud.woff);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: jetbrains-mono;
|
||||||
|
src: url(../font/JetBrainsMono-Regular.ttf);
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: auto;
|
||||||
|
font-family: 'jetbrains-mono';
|
||||||
|
padding: 2.3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-family: 'Facade';
|
||||||
|
text-align: center;
|
||||||
|
font-size: 5rem;
|
||||||
|
margin: 0rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 0.0rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 4rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
td:first-child {
|
||||||
|
width: 3.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
td:nth-child(2) {
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#link {
|
||||||
|
margin-top: 8rem;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
149
styles/reset.css
Normal file
149
styles/reset.css
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
/* Copyright (c) 2023 Luka Ivanovic */
|
||||||
|
/* https://github.com/luka-hash/css-reset */
|
||||||
|
/* This code is licensed under MIT licence */
|
||||||
|
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
article,
|
||||||
|
audio,
|
||||||
|
blockquote,
|
||||||
|
body,
|
||||||
|
canvas,
|
||||||
|
caption,
|
||||||
|
code,
|
||||||
|
dd,
|
||||||
|
del,
|
||||||
|
details,
|
||||||
|
div,
|
||||||
|
dl,
|
||||||
|
dt,
|
||||||
|
em,
|
||||||
|
fieldset,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
form,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
html,
|
||||||
|
iframe,
|
||||||
|
img,
|
||||||
|
ins,
|
||||||
|
kbd,
|
||||||
|
label,
|
||||||
|
legend,
|
||||||
|
li,
|
||||||
|
mark,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
ol,
|
||||||
|
output,
|
||||||
|
p,
|
||||||
|
pre,
|
||||||
|
s,
|
||||||
|
section,
|
||||||
|
small,
|
||||||
|
span,
|
||||||
|
strong,
|
||||||
|
sub,
|
||||||
|
summary,
|
||||||
|
sup,
|
||||||
|
table,
|
||||||
|
tbody,
|
||||||
|
td,
|
||||||
|
tfoot,
|
||||||
|
th,
|
||||||
|
thead,
|
||||||
|
time,
|
||||||
|
tr,
|
||||||
|
ul,
|
||||||
|
video {
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
article,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1.5;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote::before,
|
||||||
|
blockquote::after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
img,
|
||||||
|
picture,
|
||||||
|
video,
|
||||||
|
canvas,
|
||||||
|
svg {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
input,
|
||||||
|
button,
|
||||||
|
textarea,
|
||||||
|
select {
|
||||||
|
font: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
hyphens: auto;
|
||||||
|
}
|
@ -5,9 +5,7 @@
|
|||||||
--dark-text: #ffffff;
|
--dark-text: #ffffff;
|
||||||
--dark-bg: #181715;
|
--dark-bg: #181715;
|
||||||
--dark-border: #ffffff;
|
--dark-border: #ffffff;
|
||||||
|
|
||||||
--hightlight: #72dec2;
|
--hightlight: #72dec2;
|
||||||
|
|
||||||
--border: var(--light-border);
|
--border: var(--light-border);
|
||||||
--text: var(--light-text);
|
--text: var(--light-text);
|
||||||
--bg: var(--light-bg);
|
--bg: var(--light-bg);
|
||||||
@ -34,10 +32,12 @@ body {
|
|||||||
|
|
||||||
body {
|
body {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr;
|
grid-template:
|
||||||
grid-template-rows: 5rem 1fr 5rem;
|
"header" 10vh
|
||||||
grid-column-gap: 0px;
|
"main" 1fr
|
||||||
grid-row-gap: 0px;
|
"footer" 10vh
|
||||||
|
/ 1fr;
|
||||||
|
gap: 0;
|
||||||
font-family: 'Iosevka';
|
font-family: 'Iosevka';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,17 +50,17 @@ footer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
grid-area: 1 / 1 / 2 / 2;
|
grid-area: "header";
|
||||||
border-bottom: 2px solid var(--border);
|
border-bottom: 2px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
grid-area: 3 / 1 / 4 / 2;
|
grid-area: "footer";
|
||||||
border-top: 2px solid var(--border);
|
border-top: 2px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
#main {
|
#main {
|
||||||
grid-area: 2 / 1 / 3 / 2;
|
grid-area: "main";
|
||||||
padding: 3rem 3rem 3rem 3rem;
|
padding: 3rem 3rem 3rem 3rem;
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
line-height: 2rem;
|
line-height: 2rem;
|
||||||
@ -85,11 +85,25 @@ a:focus {
|
|||||||
text-decoration: line-through var(--text);
|
text-decoration: line-through var(--text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo {
|
#logo {
|
||||||
font-size: 3rem;
|
font-size: 2.5rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
font-variant: small-caps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#theme-switcher {
|
||||||
|
border: 3px solid var(--border);
|
||||||
|
width: 1.5rem;
|
||||||
|
height: 1.5rem;
|
||||||
|
border-radius: 3rem;
|
||||||
|
margin-left: auto;
|
||||||
|
background: linear-gradient(90deg, var(--border) 0%, var(--border) 50%, var(--bg) 51%, var(--bg) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
#theme-switcher:hover {
|
||||||
|
border-color: var(--hightlight);
|
||||||
|
background: linear-gradient(90deg, var(--hightlight) 0%, var(--hightlight) 50%, var(--bg) 51%, var(--bg) 100%);
|
||||||
|
}
|
||||||
.account,
|
.account,
|
||||||
.sections,
|
.sections,
|
||||||
#sections-menu {
|
#sections-menu {
|
||||||
@ -98,27 +112,14 @@ a:focus {
|
|||||||
|
|
||||||
#mesh {
|
#mesh {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5rem;
|
bottom: 10vh;
|
||||||
right: 0;
|
right: 0;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-height: 860px),
|
.links {
|
||||||
screen and (max-width: 1500px) {
|
display: flex;
|
||||||
#mesh {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 1160px) {
|
|
||||||
.sections {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sections-button {
|
|
||||||
display: block !important;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#sections-button {
|
#sections-button {
|
||||||
@ -133,15 +134,13 @@ screen and (max-width: 1500px) {
|
|||||||
border: 2px solid var(--border);
|
border: 2px solid var(--border);
|
||||||
background-color: var(--bg);
|
background-color: var(--bg);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: calc(5rem - 2px);
|
bottom: calc(10vh - 2px);
|
||||||
left: 0;
|
left: calc(0px - 2px);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 2rem 3rem;
|
padding: 2rem 3rem;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.copyleft a,
|
.copyleft a,
|
||||||
.sections a {
|
.sections a {
|
||||||
margin: 0 1rem 0 0;
|
margin: 0 1rem 0 0;
|
||||||
@ -165,4 +164,37 @@ button {
|
|||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
margin: 0 2rem 0 0;
|
margin: 0 2rem 0 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-height: 860px),
|
||||||
|
screen and (max-width: 1500px) {
|
||||||
|
#mesh {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1160px) {
|
||||||
|
.sections {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sections-button {
|
||||||
|
display: block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 540px) {
|
||||||
|
#logo {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
header,
|
||||||
|
footer {
|
||||||
|
padding: 0 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user