Compare commits

..

No commits in common. "a74fc6cdc172729d5e16fb8234dc5899e38deb69" and "cb947baeef31e415f61fdd7807828a6733c8dcc9" have entirely different histories.

94 changed files with 718 additions and 1801 deletions

8
.gitignore vendored
View File

@ -1,8 +0,0 @@
venv/
site/*.html
site/atom_blog.xml
site/atom_events.xml
poster.html
poster.pdf
http.access.log
http.error.log

View File

@ -1,39 +1,7 @@
# Decentrala If you want to make a new design for the website please create another branch, since we have many different versions of the website design.
Redisign of dmz.rs . Don't push to master, it is reserved for official website at dmz.rs.
## Build site Requirements for a website:
- Conents of every page need to be generated from a single markdown file, except events page that need to be generated from a directory where each event is generated from a single markdown file
Run - There needs to be a page for donations that is running donationcalc in backend
```
python atom_gen.py
python prep.py
python build_pages.py
```
Complete website will be contained in `site/`. You can copy this to server.
## Development server
To start a development server, first build site, then run (possibly with `sudo`)
```
nginx -p . -c nginx.dev.conf
```
To stop it:
```
nginx -p . -s stop
```
## TODO:
- [x] create page builder
- [ ] create blogging system
- [ ] create xmpp bot that connects to events section.
- [ ] webring system
- [x] make page
- [ ] populate page
- [ ] make english version (localisation)

View File

@ -1,73 +0,0 @@
#! /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 datetime
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 events_list_gen():
output_list = []
events_file = open("dogadjaji.csv", "r")
for line in events_file.readlines():
date, time, location, title = line.split(", ")
author = "Decentrala"
content_html = f"Event is taking place at {location} on {date} at {time}. For more information see the forum at https://forum.dmz.rs"
output_list.append([author, title, content_html])
events_file.close()
return output_list
def feedgen(blogs, events):
fg_blog = FeedGenerator()
fg_blog.id('http://dmz.rs/')
fg_blog.title('Decentrala Blog')
fg_blog.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
fg_blog.link( href='https://dmz.rs/atom_blog.xml', rel='self' )
fg_events = FeedGenerator()
fg_events.id('http://dmz.rs/')
fg_events.title('Decentrala Blog')
fg_events.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
fg_events.link( href='https://dmz.rs/atom_events.xml', rel='self' )
for post in blogs:
fe_blogs = fg_blog.add_entry()
fe_blogs.id("https://dmz.rs/" + post[4][:-3] + ".html")
fe_blogs.author({'name': post[0]})
fe_blogs.title(post[1])
fe_blogs.updated(post[2])
fe_blogs.content(content=post[3], type='html')
for event in events:
fe_events = fg_events.add_entry()
fe_events.id("https://dmz.rs/pages/events.html")
fe_events.author({'name': event[0]})
fe_events.title(event[1])
fe_events.updated(datetime.datetime.now(datetime.timezone.utc))
fe_events.content(content=event[2], type='html')
fg_blog.atom_file('site/atom_blog.xml')
fg_events.atom_file('site/atom_events.xml')
feedgen(blogposts_list_gen(), events_list_gen())

11
blog.py
View File

@ -1,11 +0,0 @@
# just testing markdown library for now
from markdown import markdown as to_markdown
blog = ""
with open('blogs/Lorem Ipsum.md','rt') as file:
blog = file.read()
with open('blogs/Lorem Ipsum.html', 'wt') as file:
file.write(to_markdown(blog))

View File

@ -1,33 +0,0 @@
import os
PAGES = [
{'name': 'index', 'titleSR': 'Početna', 'titleEN': 'Home', 'style': 'home'},
{'name': 'account', 'titleSR': 'Nalog', 'titleEN': 'Account', 'style': 'account'},
{'name': 'contact', 'titleSR': 'Kontakt', 'titleEN': 'Contact', 'style': 'contact'},
{'name': 'events', 'titleSR': 'Događaji', 'titleEN': 'Events', 'style': 'events'},
{'name': 'services', 'titleSR': 'Servisi', 'titleEN': 'Services', 'style': 'services'},
{'name': 'webring', 'titleSR': 'Webring', 'titleEN': 'Webring', 'style': ''},
]
def buildPage(pageTitle: str, pageHtml: str, pageStyle: str, template: str) -> str:
template = template.replace('<!--TITLE-->', pageTitle)
style = '' if not pageStyle else f'<link rel=\"stylesheet\" href=\"/styles/{pageStyle}.css\">'
template = template.replace('<!--ADDITIONAL_STYLE-->', style)
template = template.replace('<!--MAIN-->', pageHtml)
return template
def main():
os.makedirs('site/en/', exist_ok=True)
with open('template/page-en.html') as fTempEN, open('template/page-sr.html') as fTempSR:
templateSR = fTempSR.read()
templateEN = fTempEN.read()
for page in PAGES:
with open(f'pages/sr/{page["name"]}.html') as f:
pageHtml = f.read()
html = buildPage(page['titleSR'], pageHtml, page['style'], templateSR)
f = open(f'site/{page["name"]}.html', 'w')
f.write(html)
f.close()
if __name__ == '__main__':
main()

27
chat.html Normal file
View File

@ -0,0 +1,27 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Chat</h2>
<p> Za koriscenje XMPP (Jabber) mozete koristiti <a target="blank" href="https://gajim.org/download/">Gajim</a> na racunaru , <a target="blank" href="https://conversations.im/">Conversations</a> na Andoroid-u (ne pravite nalog na conversations.im serveru, mozete na dmz.rs ili nekom drugom) i <a target="blank" href="https://monal-im.org/">Monal</a> na Apple proizvodima. <p>
<p> Mozete nas naci u XMPP grupi <a href="xmpp:decentrala@conference.dmz.rs?join"> decentrala@conference.dmz.rs </a> <p>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

View File

@ -1,20 +0,0 @@
datum, vreme, lokacija, tema
03-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, Otvaranje izlozbe (Q&A)
03-05-2023, 18:00, KC Grad https://www.openstreetmap.org/node/4118716889, Linux install fest
04-05-2023, 17:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
04-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
04-05-2023, 21:00, n/a, Online sastanak sa Zajednicom za slobodnu tehnologiju iz Kikinde
05-05-2023, 15:30, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
06-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
07-05-2023, 16:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (diskusija)
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
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
1 datum vreme lokacija tema
2 03-05-2023 12:00 Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543 Otvaranje izlozbe (Q&A)
3 03-05-2023 18:00 KC Grad https://www.openstreetmap.org/node/4118716889 Linux install fest
4 04-05-2023 17:00 Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543 ULUS izlozba (Q&A)
5 04-05-2023 18:00 Polyhedra https://www.openstreetmap.org/node/4856556781 Uvod u racunarske mreze
6 04-05-2023 21:00 n/a Online sastanak sa Zajednicom za slobodnu tehnologiju iz Kikinde
7 05-05-2023 15:30 Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543 ULUS izlozba (Q&A)
8 06-05-2023 12:00 Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543 ULUS izlozba (Q&A)
9 07-05-2023 16:00 Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543 ULUS izlozba (diskusija)
10 08-05-2023 19:00 DC Krov https://www.openstreetmap.org/node/10594728522 Linux install day
11 09-05-2023 19:00 DC Krov https://www.openstreetmap.org/node/10594728522 Cryptoparty - Uvod u privatnost
12 11-05-2023 18:00 Polyhedra https://www.openstreetmap.org/node/4856556781 Uvod u racunarske mreze
13 01-08-2023 19:00 DC Krov Tehno veče
14 07-08-2023 19:00 DC Krov Linux ricing
15 08-08-2023 19:00 DC Krov Lambda račun
16 14-08-2023 19:00 DC Krov Linux distro diskusija
17 15-08-2023 19:00 DC Krov Pirati 777 mora
18 21-08-2023 19:00 DC Krov Python vežbe
19 22-08-2023 19:00 DC Krov Autentifikacija na internetu
20 28-08-2023 19:00 DC Krov Kviz

33
dogadjaji.html Normal file
View File

@ -0,0 +1,33 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Dogadjaji</h2>
<p> > Ponedeljak (5. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Sifre (predavanje) <p>
<p> > Utorak (6. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Genersianje random podataka (predavanje) <p>
<p> > Ponedeljak (12. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Uvod u Blender, 3D modelovanje (radionica) <p>
<p> > Utorak (13. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Cybersecurity odbrana (predavanje) <p>
<p> > Ponedeljak (19. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, BASH skripte (predavanje) <p>
<p> > Utorak (20. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Cybersecurity odbrana (predavanje) <p>
<p> > Ponedeljak (26. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Python vezbe (radionica) <p>
<p> > Utorak (27. Jun) u 19h u <a href="https://www.openstreetmap.org/node/2937736453">DC Krovu</a>, Cybersecurity odbrana (predavanje) <p>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

27
forum.html Normal file
View File

@ -0,0 +1,27 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Forum</h2>
<p> Forum je na <a href="https://forum.dmz.rs">forum.dmz.rs</a> <p>
<p> Nalog na forumu nije povezan sa nalogom na xmpp i mail serveru <p>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

29
index.html Normal file
View File

@ -0,0 +1,29 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<p id="about"> Decentrala je zajednica okupljena oko decentralizacije tehnologija i sirenja znanja. <p>
<ul class="nav">
<a href="/dogadjaji.html"><li>DOGAĐAJI</li></a>
<a href="/forum.html"><li>FORUM</li></a>
<a href="/chat.html"><li>CHAT</li></a>
<a href="/nalog.html"><li>NALOG</li></a>
<a href="/onama.html"><li>O NAMA</li></a>
<a href="/servisi.html"><li>SERVISI</li></a>
<a href="/kontakt.html"><li>KONTAKT</li></a>
</ul>
</main>
</div>
</body>
</html>

28
kontakt.html Normal file
View File

@ -0,0 +1,28 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Kontakt</h2>
<p> Mozete nam poslati email na dmz@dmz.rs <p>
<p> Ili nas kontaktiraje na <a href="/forum.html">forumu</a> ili <a href="/chat.html">chat kanalu</a> <p>
<p> Takodje mozete i doci na neku od dogadjaja i upoznati nas uzivo <p>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

32
nalog.html Normal file
View File

@ -0,0 +1,32 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Nalog</h2>
<p> Ako ste napravili nalog na dmz.rs mozete koristi nas xmpp i email server. <p>
<p> Za vise o XMPP pogledajte <a href="/chat.html">Chat</a> stranicu. <p>
<p> Za primer podesavanja na <a href="https://www.thunderbird.net/">Thundebird</a> mail klijentu mozete pogledati <a href="/static/img/mailsettings.png">sliku</a>. <p>
<ul class="nav">
<a href="/account/register/"><li>Registruj se</li></a>
<a href="/account/unregister/"><li>Izbrisi nalog</li></a>
<a href="/account/changepassword/"><li>Promeni lozinku</li></a>
</ul>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</body>
</html>

View File

@ -1,23 +0,0 @@
# Start nginx in this directory with `nginx -p . -c nginx.conf`
# Stop nginx with `nginx -p . -s stop`
events {}
http {
# edit this for your system
include /etc/nginx/mime.types;
server {
listen 9001;
access_log http.access.log;
error_log http.error.log;
root site/;
error_page 404 /404.html;
location / {
autoindex off;
default_type "text/html";
try_files $uri $uri.html /$uri/index.html /index.html;
}
}
}

44
onama.html Normal file
View File

@ -0,0 +1,44 @@
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
<link rel="icon" type="image/x-icon" href="/static/d.png">
<link rel="stylesheet" href="./static/reset.css">
<link rel="stylesheet" href="./static/main.css">
<title>Decentrala</title>
</head>
<body>
<div class="container">
<div class="header">
<h1 class="logo">DECENTRALA</h1>
</div>
<main>
<h2>Sta je Decentrala</h2>
<p> Decentrala je zajednica okupljena oko decentralizacije tehnologija i sirenja znanja. <p>
<div id="onama">
<div class="box">
<h3> Znanje </h3>
<p> Svako moze drzati predavanje na bilo koju temu, samo se najavite na forumu. <p>
<p> Decentrala veruje da svako treba da ima pristup znanju, zbog cega su predavanja uvek besplatna i bez promocija. <p>
<p> Ako zelite nesto da podelite sa drugima sto ste naucili, prijavite se da drzite jedno ili vise predavanja! <p>
</div>
<div class="box">
<h3> Akcija </h3>
<p> Organizovanje dogadjaja programiranja ili instalacije servisa koje pomazu u decentralizaciji Interneta. <p>
<p> Organizujemo hackathone kao posebne dogadjaje na kojima se okupljamo da radimo na zajednickom cilju. <p>
</div>
<div class="box">
<h3> Druzenje </h3>
<p> Drustvene dogadjaje u cilju socijalizacije. <p>
<p> Ako zelite da se druzite sa ljudima zainteresovanim za ravnopravnost koriscenja tehnologija, slobodnog softvera, privatnost i bezbednost, posetite neku od okupljanja Decentrale. <p>
</div>
</div>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

View File

@ -1,7 +0,0 @@
<p> Ako ste napravili nalog na dmz.rs mozete koristi nas xmpp i email server i ostale servise koji podrzavaju LDAP login. <p>
<p> Za vise o XMPP pogledajte <a href="https://wiki.dmz.rs/en/tutorial/conversations">tutorial</a>. <p>
<p> Za primer podesavanja na <a href="https://thunderbird.org">Thundebird</a> mail klijentu mozete pogledati <a href="/img/mailsettings.png">sliku</a>. <p>
<p><a href="/account/register/">Registruj se</a><p>
<p><a href="/account/unregister/">Izbrisi nalog</a><p>
<p><a href="/account/changepassword/">Promeni lozinku</a><p>

View File

@ -1,2 +0,0 @@
Ova stranica je trenutno u izradi...

View File

@ -1,5 +0,0 @@
<h1>Kontakt</h1>
<p>Možeš nam poslati mejl na adresu <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> ili se možeš pridružiti našem <a href="https://forum.dmz.rs">Forumu</a>.</p>
<p>Takođe smo dostupni i na <a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a></p>
<br>
<p>U slučaju da si pronašao <em>bug</em> na sajtu, bili bismo ti jako zahvalni ako bi nam ga prijavio/prijalvila.</p>

View File

@ -1,59 +0,0 @@
<h1>Događaji</h1>
<table>
<tbody>
<tr>
<th>Datum</th>
<th>Vreme</th>
<th>Mesto</th>
<th>Tema</th>
</tr>
<tr>
<td> Ponedeljak, 7. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Linux ricing </td>
</tr>
<tr>
<td> Utorak, 8. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Lambda račun </td>
</tr>
<tr>
<td> Ponedeljak, 14. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Linux distro diskusija </td>
</tr>
<tr>
<td> Utorak, 15. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Pirati 777 mora </td>
</tr>
<tr>
<td> Ponedeljak, 21. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Python vežbe </td>
</tr>
<tr>
<td> Utorak, 22. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Autentifikacija na internetu </td>
</tr>
<tr>
<td> Ponedeljak, 28. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Podesavanje Mail servera </td>
</tr>
<tr>
<td> Utorak, 29. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Prevodjenje wiki-a </td>
</tr>
</tbody>
</table>

View File

@ -1,23 +0,0 @@
<h1>Dobrodošao!</h1>
<p>
Mi smo <em>Decentrala</em> - grupa entuzijasta okupljena oko ideja decentralizacije i slobodnog širenja znanja.
Zvuči interesantno? Evo još nekih stvari o nama:
</p>
<dl>
<dt>Znanje:</dt>
<dd>Sve naše radionice su besplatne i otvorene za sve zainteresovane.
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>
<dd>Povremeno organizujemo različite akcije, hakatone, crypto-partije, izložbe i slične događaje otvorene za sve
zainteresovane. </dd>
<dt>Servisi:</dt>
<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>
</dl>
<p>
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>.
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!
</p>

View File

@ -1 +0,0 @@
Ova stranica je trenutno u izradi...

View File

@ -1,60 +0,0 @@
<h1>Servisi</h1>
<table>
<tr>
<th>Servis</th>
<th>Opis</th>
</tr>
<tr>
<td><a href="/account.html">Email</a></td>
<td>Email nalog koji možeš koristiti sa bilo kojim email
klijentom generalne namene (na primer <a href="https://www.thunderbird.net/">Thunderbird-u</a>).</td>
</tr>
<tr>
<td><a href="https://forum.dmz.rs/">Forum</a></td>
<td>Forum na kom obično organizujemo naše <a href="/pages/events.html">događaje</a>.
</td>
</tr>
<tr>
<td>Chat</td>
<td>Održavamo sopstveni XMPP server, na kojem možeš napraviti nalog.
Ako već poseduješ nalog možeš nas naći u grupi <a
href="decentrala@conference.dmz.rs">decentrala@conference.dmz.rs</a>.
</td>
</tr>
<tr>
<td><a href="https://gitea.dmz.rs/">Git</a></td>
<td><a href="https://gitea.io/en-us/">Gitea</a> instanca na kojoj držimo kod kao i ostale resurse za naše
<a href="/pages/projects.html">projekte</a>, <a href="/pages/events.html">dogadjaje</a>, kao i projekte naših
prijatelja.
Ovo može biti dom tvog sledećeg projekta. Bolji od Github-a.
</td>
</tr>
<tr>
<td><a href="https://wiki.dmz.rs/">Wiki</a></td>
<td><a href="https://js.wiki/">Wiki.js</a> instanca koju koristimo da dokumentujemo naše
<a href="/pages/projects.html">projekte</a> kao i
ostale <a href="/pages/events.html">događaje</a>.
</td>
</tr>
<tr>
<td><a href="https://search.dmz.rs/">Search</a></td>
<td><a href="https://github.com/hnhx/librex/">LibreX</a> instanca koju koristimo za pretraživanje Interneta.
Bolji od Google-a.
</td>
</tr>
<tr>
<td><a href="https://pastebin.dmz.rs/">Pastebin</a></td>
<td><a href="https://privatebin.info/">PrivateBin</a> instanca koju koristimo za brzo deljenje tekstualnih fajlova
</td>
</tr>
<tr>
<td><a href="ssh://soft.dmz.rs:2222/">Soft Serve</a></td>
<td><a href="https://github.com/charmbracelet/soft-serve">Soft Serve</a> instanca koju koristimo kao zamenu za Gitea
servis.
Soft Serve radi potpuno iz terminala
</td>
</tr>
</table>
<p>Ovo su neki od servisa koje trenutno održavamo na našim serverima. Da bi koristio ove servise, <em>možes</em> se
registovati na svaki servis posebno, a možeš i napraviti jedinstveni <a href="/pages/account.html">nalog</a> na nasem
serveru i koristiti sve servise sa istim nalogom.</p>

View File

@ -1,3 +0,0 @@
<ul>
<li><a href="https://tilde.zone/explore">Tilde Zone</a></li>
</ul>

View File

@ -1,61 +0,0 @@
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><meta charset=\"UTF-8\"><link rel=\"stylesheet\"\
href=\"styles/poster.css\"><head>"
header = "<h1>DECENTRALA</h1>"
subheader = f"<h2>Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}</h2>"
link = "<div id=link><img src=\"/img/logo-light.svg\"> 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>"
footer = f"{p1}{p2}{link}"
return f"<html>{head}<body><main>{header}{subheader}\
<table>{table}</table>{footer}</main></body></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()

101
prep.py
View File

@ -1,101 +0,0 @@
#! /usr/bin/env python
from datetime import datetime
from functools import cmp_to_key
days = [
"Ponedeljak",
"Utorak",
"Sreda",
"Četvrtak",
"Petak",
"Subota",
"Nedelja",
]
months = [
"Januar",
"Februar",
"Mart",
"April",
"Maj",
"Jun",
"Jul",
"Avgust",
"Septembar",
"Oktobar",
"Novembar",
"Decembar",
]
today = datetime.today().date()
def parse_date(date):
return datetime.strptime(date,"%d-%m-%Y").date()
def compare_events(one, two):
one = parse_date(one.split(", ")[0])
two = parse_date(two.split(", ")[0])
if one>two:
return 1
elif one==two:
return 0
else:
return -1
def is_past_event(event):
return event < today
def load_events():
events = []
with open("dogadjaji.csv", "rt") as file:
file.readline()
for event in file.readlines():
event = event.strip()
if event != "":
events.append(event)
return events
def write_events(events):
with open("dogadjaji.csv", "wt") as file:
file.write("datum, vreme, lokacija, tema\n")
for event in events:
file.write(event+"\n")
def sort_events(events):
return sorted(events, key = cmp_to_key(compare_events))
events = load_events()
events = sort_events(events)
write_events(events)
events = []
for event in events:
date, time, location, title = event.split(", ")
date = parse_date(date)
if is_past_event(date):
continue
date = days[date.weekday()]+", "+str(date.day)+". "+months[date.month-1]+" "+str(date.year)+"."
time = time+"h"
future_event = []
future_event.append("<td> "+date+" </td>")
future_event.append("<td> "+time+" </td>")
if "https://" in location:
place,link = location.split("https://")
future_event.append("<td> <a href=\"https://"+link+"\""+"> "+place.strip()+" </a> </td>")
else:
future_event.append("<td> "+location.strip()+" </td>")
future_event.append("<td> "+title+" </td>")
events.append("<tr>\n"+"\n".join(future_event)+"\n</tr>")
with open("pages/sr/events.html","wt") as file:
file.writelines(["<h1>Događaji</h1>\n", "<table>\n", "<tr><th>Datum</th><th>Vreme</th><th>Mesto</th><th>Tema</th></tr>\n"])
file.writelines(events)
file.writelines(["</table>"])
#with open("pages/en/events.html","wt") as file:
# file.writelines(["<h1>Events</h1>", "<table>", "<tr>\n<th>Date</th>\n<th>Time</th>\n<th>Place</th>\n<th>Theme</th>\n</tr>"])
# file.writelines(events)
# file.writelines(["</table>"])

0
site/.gitignore vendored
View File

View File

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/styles/style.css">
<link rel="stylesheet" href="/styles/404.css">
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<script src="/scripts/main.js" defer></script>
<title>404</title>
</head>
<body>
<main>
<img src="/img/logo-light.svg" alt="Logo">
<p>Requested resource was not found</p>
<p><a href="/">Go back to Homepage</a></p>
</main>
</body>
</html>

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
<g id="layer1" fill="#fff">
<path id="path140" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".3554"/>
<g id="text2158" stroke-width=".35534" aria-label="cc">
<path id="path290" d="m3.175 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
<path id="path292" d="m7.4083 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
<g id="layer1" fill="#181715">
<path id="path140" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".3554"/>
<g id="text2158" stroke-width=".35534" aria-label="cc">
<path id="path290" d="m3.175 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
<path id="path292" d="m7.4083 7.3025q-0.35983 0-0.64911-0.10583-0.28222-0.10583-0.48683-0.30339-0.19756-0.19756-0.31044-0.47978-0.10583-0.28222-0.10583-0.62794v-0.98778q0-0.34572 0.10583-0.62794 0.11289-0.28222 0.31044-0.47978 0.20461-0.19756 0.48683-0.30339 0.28928-0.10583 0.64911-0.10583 0.64206 0 1.0513 0.35278 0.41628 0.34572 0.50094 0.9525h-0.635q-0.049389-0.33867-0.30339-0.53622-0.24694-0.20461-0.61383-0.20461-0.42333 0-0.67028 0.254-0.24694 0.254-0.24694 0.6985v0.98778q0 0.4445 0.23989 0.6985 0.24694 0.254 0.67733 0.254 0.36689 0 0.61383-0.19756 0.254-0.20461 0.30339-0.54328h0.635q-0.091722 0.61383-0.508 0.95956-0.40922 0.34572-1.0442 0.34572z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

View File

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#fff"><path id="path234" d="m5.2917 0c-2.9225 0-5.2917 2.3692-5.2917 5.2917s2.3692 5.2917 5.2917 5.2917 5.2917-2.3692 5.2917-5.2917-2.3692-5.2917-5.2917-5.2917zm0 0.66146c2.5572 1e-7 4.6302 2.073 4.6302 4.6302 1e-7 2.5572-2.073 4.6302-4.6302 4.6302-2.5572 1e-7 -4.6302-2.073-4.6302-4.6302-3e-8 -0.62533 0.12396-1.2217 0.34865-1.7659 0.69415-1.6812 2.3497-2.8643 4.2816-2.8643z" stroke-width=".43932"/><path id="rect1196" d="m5.2725 1.2965c-0.19651 0.0047-0.39147 0.082448-0.54208 0.23306l-0.58704 0.58756 0.012403 0.012919 0.13642 0.13591 0.8139 0.81442a0.62532 0.62532 0 0 1 0.20412-0.03514 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.03514 0.20412l0.88315 0.88315a0.62532 0.62532 0 0 1 0.21084-0.037207 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.024288-0.17002l-0.82631-0.82631v2.1063a0.62532 0.62532 0 0 1 0.36845 0.56999 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.36845-0.56947v-2.2164a0.62532 0.62532 0 0 1-0.36845-0.56947 0.62532 0.62532 0 0 1 0.025838-0.17725l-0.95911-0.95911 0.001033-5.168e-4 -0.013435-0.013436-2.2097 2.2102c-0.31094 0.31094-0.31094 0.81147 0 1.1224l3.2008 3.2008c0.31094 0.31094 0.81147 0.31094 1.1224 0l3.2008-3.2008c0.31094-0.31094 0.31094-0.81147 0-1.1224l-3.2008-3.2008c-0.15547-0.15547-0.35831-0.23306-0.56121-0.23306-0.00634 0-0.012782-1.515e-4 -0.019121 0z" stroke-width=".37293"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg5" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#181715"><path id="path234" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".43932"/><path id="rect1196" d="m5.2725 1.2965c-0.19651 0.0047-0.39147 0.082448-0.54208 0.23306l-0.58704 0.58756 0.012403 0.012919 0.13642 0.13591 0.8139 0.81442a0.62532 0.62532 0 0 1 0.20412-0.03514 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.03514 0.20412l0.88315 0.88315a0.62532 0.62532 0 0 1 0.21084-0.037207 0.62532 0.62532 0 0 1 0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.024288-0.17002l-0.82631-0.82631v2.1063a0.62532 0.62532 0 0 1 0.36845 0.56999 0.62532 0.62532 0 0 1-0.62528 0.62528 0.62532 0.62532 0 0 1-0.62528-0.62528 0.62532 0.62532 0 0 1 0.36845-0.56947v-2.2164a0.62532 0.62532 0 0 1-0.36845-0.56947 0.62532 0.62532 0 0 1 0.025838-0.17725l-0.95911-0.95911 0.001033-5.168e-4 -0.013435-0.013436-2.2097 2.2102c-0.31094 0.31094-0.31094 0.81147 0 1.1224l3.2008 3.2008c0.31094 0.31094 0.81147 0.31094 1.1224 0l3.2008-3.2008c0.31094-0.31094 0.31094-0.81147 0-1.1224l-3.2008-3.2008c-0.15547-0.15547-0.35831-0.23306-0.56121-0.23306-0.00634 0-0.012782-1.515e-4 -0.019121 0z" stroke-width=".37293"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="20"
height="20"
viewBox="0 0 5.2916667 5.2916666"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1" /><g
id="layer1"><path
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.352999;stroke-linejoin:round"
d="M 2.6434889,0.17372798 A 0.49603044,0.49603044 0 0 0 2.1474722,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,1.1657897 0.49603044,0.49603044 0 0 0 2.9134465,1.0850992 L 4.2150262,2.3807419 A 0.49603044,0.49603044 0 0 0 4.1463813,2.5645005 H 3.1320271 A 0.49603044,0.49603044 0 0 0 2.6434889,2.1505729 0.49603044,0.49603044 0 0 0 2.1604593,2.5645005 H 1.1507581 A 0.49603044,0.49603044 0 0 0 0.66221981,2.1505729 0.49603044,0.49603044 0 0 0 0.16620324,2.646618 0.49603044,0.49603044 0 0 0 0.66221981,3.1426345 0.49603044,0.49603044 0 0 0 1.145021,2.7301914 h 1.0156952 a 0.49603044,0.49603044 0 0 0 0.3724833,0.3949749 l -0.00122,1.0183782 A 0.49603044,0.49603044 0 0 0 2.1474801,4.6219219 0.49603044,0.49603044 0 0 0 2.6434968,5.1179387 0.49603044,0.49603044 0 0 0 3.1395417,4.6219219 0.49603044,0.49603044 0 0 0 3.036274,4.3197964 L 4.326465,3.0364841 A 0.49603044,0.49603044 0 0 0 4.6294466,3.1426345 0.49603044,0.49603044 0 0 0 5.1254634,2.646618 0.49603044,0.49603044 0 0 0 4.6294466,2.1505729 0.49603044,0.49603044 0 0 0 4.3258658,2.257323 L 3.0354385,0.97286893 A 0.49603044,0.49603044 0 0 0 3.1395339,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,0.17372798 Z M 3.1262902,2.7301914 h 1.0203475 a 0.49603044,0.49603044 0 0 0 0.068759,0.1830162 L 2.9144742,4.2072235 A 0.49603044,0.49603044 0 0 0 2.6976917,4.1289593 l 0.0012,-0.9950873 A 0.49603044,0.49603044 0 0 0 3.1262902,2.7301914 Z" /></g></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="20"
height="20"
viewBox="0 0 5.2916667 5.2916666"
version="1.1"
id="svg1"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs1" /><g
id="layer1"><path
id="path2"
style="fill:#000000;fill-opacity:1;stroke-width:0.352999;stroke-linejoin:round"
d="M 2.6434889,0.17372798 A 0.49603044,0.49603044 0 0 0 2.1474722,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,1.1657897 0.49603044,0.49603044 0 0 0 2.9134465,1.0850992 L 4.2150262,2.3807419 A 0.49603044,0.49603044 0 0 0 4.1463813,2.5645005 H 3.1320271 A 0.49603044,0.49603044 0 0 0 2.6434889,2.1505729 0.49603044,0.49603044 0 0 0 2.1604593,2.5645005 H 1.1507581 A 0.49603044,0.49603044 0 0 0 0.66221981,2.1505729 0.49603044,0.49603044 0 0 0 0.16620324,2.646618 0.49603044,0.49603044 0 0 0 0.66221981,3.1426345 0.49603044,0.49603044 0 0 0 1.145021,2.7301914 h 1.0156952 a 0.49603044,0.49603044 0 0 0 0.3724833,0.3949749 l -0.00122,1.0183782 A 0.49603044,0.49603044 0 0 0 2.1474801,4.6219219 0.49603044,0.49603044 0 0 0 2.6434968,5.1179387 0.49603044,0.49603044 0 0 0 3.1395417,4.6219219 0.49603044,0.49603044 0 0 0 3.036274,4.3197964 L 4.326465,3.0364841 A 0.49603044,0.49603044 0 0 0 4.6294466,3.1426345 0.49603044,0.49603044 0 0 0 5.1254634,2.646618 0.49603044,0.49603044 0 0 0 4.6294466,2.1505729 0.49603044,0.49603044 0 0 0 4.3258658,2.257323 L 3.0354385,0.97286893 A 0.49603044,0.49603044 0 0 0 3.1395339,0.66974458 0.49603044,0.49603044 0 0 0 2.6434889,0.17372798 Z M 3.1262902,2.7301914 h 1.0203475 a 0.49603044,0.49603044 0 0 0 0.068759,0.1830162 L 2.9144742,4.2072235 A 0.49603044,0.49603044 0 0 0 2.6976917,4.1289593 l 0.0012,-0.9950873 A 0.49603044,0.49603044 0 0 0 3.1262902,2.7301914 Z" /></g></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg1332" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#fff"><path id="rect1756" d="m4.3183 1.9766c-1.1726 0-2.1167 0.82603-2.1167 1.8521v1.4382c0 0.13426 0.015785 0.26518 0.046509 0.39119-0.036015 0.37794 0.017995 0.87014 0.23719 1.5084 0.78289 2.2797 4.0194 1.1705 4.0194 1.1705s-0.021792-0.0096-0.045475-0.55449c-2.1752 0.49248-2.4572-0.32707-2.481-0.68678 0.11059 0.01549 0.2243 0.02326 0.34003 0.02326h1.9467c1.1726 0 2.1167-0.82603 2.1167-1.8521v-1.4382c0-1.0261-0.94404-1.8521-2.1167-1.8521zm0.03359 1.0878a1.0208 1.0208 0 0 1 0.96118 0.67644 1.0208 1.0208 0 0 1 0.96015-0.67644 1.0208 1.0208 0 0 1 1.0211 1.0206 1.0208 1.0208 0 0 1-5.168e-4 0.00672h5.168e-4v1.9053h-0.6873v-0.65216h0.00413v-1.0997h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46664 0.47585 0.47463 0 0 0-0.47594 0.47439 0.47585 0.47463 0 0 0 0.00672 0.076481v1.002h-0.68523v-0.4377a1.0208 1.0208 0 0 1-0.00258 0.00207v-0.678h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46716 0.47585 0.47463 0 0 0-0.47542 0.47491 0.47585 0.47463 0 0 0 0.0062 0.075964v0.74827a1.0208 1.0208 0 0 1-0.00103-5.168e-4v0.9555h-0.6873v-1.8702h0.00155a1.0208 1.0208 0 0 1-0.00155-0.049609 1.0208 1.0208 0 0 1 1.0206-1.0206z" stroke-width=".35534"/><path id="path2228" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".38059"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg1332" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" fill="#181715"><path id="rect1756" d="m4.3183 1.9766c-1.1726 0-2.1167 0.82603-2.1167 1.8521v1.4382c0 0.13426 0.015785 0.26518 0.046509 0.39119-0.036015 0.37794 0.017995 0.87014 0.23719 1.5084 0.78289 2.2797 4.0194 1.1705 4.0194 1.1705s-0.021792-0.0096-0.045475-0.55449c-2.1752 0.49248-2.4572-0.32707-2.481-0.68678 0.11059 0.01549 0.2243 0.02326 0.34003 0.02326h1.9467c1.1726 0 2.1167-0.82603 2.1167-1.8521v-1.4382c0-1.0261-0.94404-1.8521-2.1167-1.8521zm0.03359 1.0878a1.0208 1.0208 0 0 1 0.96118 0.67644 1.0208 1.0208 0 0 1 0.96015-0.67644 1.0208 1.0208 0 0 1 1.0211 1.0206 1.0208 1.0208 0 0 1-5.168e-4 0.00672h5.168e-4v1.9053h-0.6873v-0.65216h0.00413v-1.0997h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46664 0.47585 0.47463 0 0 0-0.47594 0.47439 0.47585 0.47463 0 0 0 0.00672 0.076481v1.002h-0.68523v-0.4377a1.0208 1.0208 0 0 1-0.00258 0.00207v-0.678h-0.00672a0.47585 0.47463 0 0 0-0.47594-0.46716 0.47585 0.47463 0 0 0-0.47542 0.47491 0.47585 0.47463 0 0 0 0.0062 0.075964v0.74827a1.0208 1.0208 0 0 1-0.00103-5.168e-4v0.9555h-0.6873v-1.8702h0.00155a1.0208 1.0208 0 0 1-0.00155-0.049609 1.0208 1.0208 0 0 1 1.0206-1.0206z" stroke-width=".35534"/><path id="path2228" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".38059"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,23 +0,0 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="500" height="700"
background-color="rgba(0,0,0,0)">
<line x1="500" x2="475" y1="0" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="450" y1="35" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="425" y1="70" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="400" y1="105" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="375" y1="140" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="350" y1="175" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="325" y1="210" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="300" y1="245" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="275" y1="280" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="250" y1="315" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="225" y1="350" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="200" y1="385" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="175" y1="420" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="150" y1="455" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="125" y1="490" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="100" y1="525" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="75" y1="560" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="50" y1="595" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="25" y1="630" y2="700" stroke="rgba(255,255,255,1)" />
<line x1="500" x2="0" y1="665" y2="700" stroke="rgba(255,255,255,1)" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,23 +0,0 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="500" height="700"
background-color="rgba(0,0,0,0)">
<line x1="500" x2="475" y1="0" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="450" y1="35" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="425" y1="70" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="400" y1="105" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="375" y1="140" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="350" y1="175" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="325" y1="210" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="300" y1="245" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="275" y1="280" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="250" y1="315" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="225" y1="350" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="200" y1="385" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="175" y1="420" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="150" y1="455" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="125" y1="490" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="100" y1="525" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="75" y1="560" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="50" y1="595" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="25" y1="630" y2="700" stroke="rgba(24, 23, 21, 1)" />
<line x1="500" x2="0" y1="665" y2="700" stroke="rgba(24, 23, 21, 1)" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,63 +0,0 @@
<?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.583333 10.583333"
version="1.1"
id="svg2421"
sodipodi:docname="srce-dark.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2423"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="7.967789"
inkscape:cx="4.2044286"
inkscape:cy="19.892595"
inkscape:window-width="1920"
inkscape:window-height="1048"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:pageshadow="0" />
<defs
id="defs2418" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2477"
style="fill:#ffffff;stroke-width:0.355037"
d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;fill-opacity:1;stroke-width:0.355335"
x="-2.7021213"
y="4.7616987"
id="text3068"><tspan
sodipodi:role="line"
id="tspan3066"
style="fill:#181715;fill-opacity:1;stroke-width:0.355335"
x="-2.7021213"
y="4.7616987" /></text>
<path
id="path3659"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.384877"
d="m 2.4853365,3.1439096 a 1.984375,1.984375 0 0 0 0,2.80633 l 2.806331,2.8063301 2.8063299,-2.8063301 a 1.984375,1.984375 0 0 0 0,-2.80633 1.984375,1.984375 0 0 0 -2.8063299,0 1.984375,1.984375 0 0 0 -2.806331,0 z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,62 +0,0 @@
<?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.583333 10.583333"
version="1.1"
id="svg2421"
sodipodi:docname="srce.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2423"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="7.967789"
inkscape:cx="4.2044286"
inkscape:cy="19.892595"
inkscape:window-width="1362"
inkscape:window-height="764"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2418" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2477"
style="fill:#181715;stroke-width:0.355037"
d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
<text
xml:space="preserve"
style="font-size:7.05556px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;fill-opacity:1;stroke-width:0.355335"
x="-2.7021213"
y="4.7616987"
id="text3068"><tspan
sodipodi:role="line"
id="tspan3066"
style="fill:#181715;fill-opacity:1;stroke-width:0.355335"
x="-2.7021213"
y="4.7616987" /></text>
<path
id="path3659"
style="fill:#181715;fill-opacity:1;stroke-width:0.384877"
d="m 2.4853365,3.1439096 a 1.984375,1.984375 0 0 0 0,2.80633 l 2.806331,2.8063301 2.8063299,-2.8063301 a 1.984375,1.984375 0 0 0 0,-2.80633 1.984375,1.984375 0 0 0 -2.8063299,0 1.984375,1.984375 0 0 0 -2.806331,0 z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,43 +0,0 @@
<?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"
sodipodi:docname="strelica-closed-dark.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
inkscape:zoom="20.975"
inkscape:cx="20"
inkscape:cy="20"
inkscape:window-width="1920"
inkscape:window-height="1048"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
id="layer1">
<path
id="rect288"
style="fill:#ffffff;stroke-width:0.345614"
d="M 0 0 L 0 1.25 L 8.1494141 1.25 L 2.5751953 10 L 4.0571289 10 L 8.75 2.6333008 L 8.75 10 L 10 10 L 10 1.25 L 10 0.67138672 L 10 0 L 8.9458008 0 L 8.75 0 L 0 0 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,21 +0,0 @@
<?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="rect288"
style="fill:#181715;stroke-width:0.345614"
d="M 0 0 L 0 1.25 L 8.1494141 1.25 L 2.5751953 10 L 4.0571289 10 L 8.75 2.6333008 L 8.75 10 L 10 10 L 10 1.25 L 10 0.67138672 L 10 0 L 8.9458008 0 L 8.75 0 L 0 0 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 602 B

View File

@ -1,21 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 773 B

View File

@ -1,43 +0,0 @@
<?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"
sodipodi:docname="strelica-opened-dark.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
showgrid="false"
inkscape:zoom="20.975"
inkscape:cx="20"
inkscape:cy="20"
inkscape:window-width="1920"
inkscape:window-height="1048"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
id="layer1">
<path
id="rect288"
style="fill:#ffffff;stroke-width:0.345614"
d="M 0 0 L 0 1.25 L 2.8071289 1.25 L 2.8071289 10 L 4.0571289 10 L 4.0571289 1.25 L 8.75 1.25 L 10 1.25 L 10 0 L 8.75 0 L 0 0 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,21 +0,0 @@
<?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="rect288"
style="fill:#181715;stroke-width:0.345614"
d="M 0 0 L 0 1.25 L 2.8071289 1.25 L 2.8071289 10 L 4.0571289 10 L 4.0571289 1.25 L 8.75 1.25 L 10 1.25 L 10 0 L 8.75 0 L 0 0 z " />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 566 B

View File

@ -1,21 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 799 B

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg2421" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
<g id="layer1">
<path id="path2477" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" fill="#fff" stroke-width=".35504"/>
<g id="text3068" fill="#181715" stroke-width=".35534" aria-label="w">
<path id="path698" d="m2.4342 2.3813h0.84666l0.51858 3.9899q0.021167 0.1905 0.042333 0.42333 0.021167 0.23283 0.042333 0.43392 0.021167 0.23283 0.042333 0.46567h0.11642q0.021167-0.23283 0.052916-0.46567 0.021167-0.20108 0.052917-0.43392t0.0635-0.42333l0.61383-3.9899h0.91016l0.61383 3.9899q0.03175 0.20108 0.0635 0.43392t0.052917 0.43392q0.03175 0.23283 0.052917 0.45508h0.127q0.021167-0.23283 0.042333-0.46567 0.021167-0.20108 0.052916-0.42333 0.03175-0.23283 0.052917-0.43392l0.52916-3.9899h0.8255l-0.8255 5.8208h-1.3017l-0.60325-4.1169q-0.021167-0.17992-0.042333-0.37042-0.010583-0.20108-0.021167-0.37042 0-0.1905 0-0.381h-0.13758q0 0.1905-0.010583 0.381-0.010583 0.16933-0.021167 0.37042-0.010583 0.1905-0.042333 0.37042l-0.62441 4.1169h-1.27z" fill="#fff"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg2421" width="40" height="40" version="1.1" viewBox="0 0 10.583 10.583" xmlns="http://www.w3.org/2000/svg">
<g id="layer1" fill="#181715">
<path id="path2477" d="m5.2917 0a5.2917 5.2917 0 0 0-5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917 5.2917 5.2917 5.2917 0 0 0 5.2917-5.2917 5.2917 5.2917 0 0 0-5.2917-5.2917zm0 0.66146a4.6302 4.6302 0 0 1 4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302 4.6302 4.6302 4.6302 0 0 1-4.6302-4.6302 4.6302 4.6302 0 0 1 4.6302-4.6302z" stroke-width=".35504"/>
<g id="text3068" stroke-width=".35534" aria-label="w">
<path id="path698" d="m2.4342 2.3813h0.84666l0.51858 3.9899q0.021167 0.1905 0.042333 0.42333 0.021167 0.23283 0.042333 0.43392 0.021167 0.23283 0.042333 0.46567h0.11642q0.021167-0.23283 0.052916-0.46567 0.021167-0.20108 0.052917-0.43392t0.0635-0.42333l0.61383-3.9899h0.91016l0.61383 3.9899q0.03175 0.20108 0.0635 0.43392t0.052917 0.43392q0.03175 0.23283 0.052917 0.45508h0.127q0.021167-0.23283 0.042333-0.46567 0.021167-0.20108 0.052916-0.42333 0.03175-0.23283 0.052917-0.43392l0.52916-3.9899h0.8255l-0.8255 5.8208h-1.3017l-0.60325-4.1169q-0.021167-0.17992-0.042333-0.37042-0.010583-0.20108-0.021167-0.37042 0-0.1905 0-0.381h-0.13758q0 0.1905-0.010583 0.381-0.010583 0.16933-0.021167 0.37042-0.010583 0.1905-0.042333 0.37042l-0.62441 4.1169h-1.27z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,60 +0,0 @@
<?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.583333 10.583333"
version="1.1"
id="svg2421"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="www-dark.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2423"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="11.268155"
inkscape:cx="19.39093"
inkscape:cy="17.793507"
inkscape:window-width="1920"
inkscape:window-height="1048"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:pageshadow="0" />
<defs
id="defs2418" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2477"
style="fill:#ffffff;stroke-width:0.355037"
d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
<path
d="M 1.6086655,4.1275011 H 1.9473319 L 2.154765,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 2.565398,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 3.5644639,4.1275011 H 3.8946636 L 3.5644639,6.4558325 H 3.0437643 L 2.8024645,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 2.4426315,6.4558325 H 1.9346319 Z"
id="path503"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
<path
d="m 4.148665,4.1275011 h 0.3386664 l 0.2074331,1.5959653 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 5.1053975,4.1275011 H 5.4694639 L 5.714997,5.7234664 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 Q 5.842001,6.1594997 5.850464,6.0663661 5.858934,5.9859331 5.871631,5.897033 5.884331,5.8039 5.892798,5.7234664 L 6.1044633,4.1275011 H 6.4346631 L 6.1044633,6.4558325 H 5.5837638 L 5.342464,4.8090672 Q 5.333994,4.7371002 5.325531,4.6609007 5.321301,4.5804677 5.317061,4.5127341 q 0,-0.0762 0,-0.1523999 H 5.262028 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 4.982631,6.4558325 H 4.4746314 Z"
id="path505"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
<path
d="M 6.6886645,4.1275011 H 7.0273309 L 7.234764,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 H 7.33213 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 7.645397,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 8.6444628,4.1275011 H 8.9746626 L 8.6444628,6.4558325 H 8.1237633 L 7.8824635,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 7.5226304,6.4558325 H 7.0146309 Z"
id="path507"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#ffffff;stroke-width:0.355335" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,59 +0,0 @@
<?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.583333 10.583333"
version="1.1"
id="svg2421"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="www.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2423"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="11.268155"
inkscape:cx="19.435302"
inkscape:cy="17.793507"
inkscape:window-width="1362"
inkscape:window-height="764"
inkscape:window-x="112"
inkscape:window-y="3"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2418" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2477"
style="fill:#181715;stroke-width:0.355037"
d="M 5.2916667 0 A 5.2916665 5.2916665 0 0 0 0 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 10.583333 A 5.2916665 5.2916665 0 0 0 10.583333 5.2916667 A 5.2916665 5.2916665 0 0 0 5.2916667 0 z M 5.2916667 0.66145833 A 4.6302085 4.6302085 0 0 1 9.921875 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 9.921875 A 4.6302085 4.6302085 0 0 1 0.66145833 5.2916667 A 4.6302085 4.6302085 0 0 1 5.2916667 0.66145833 z " />
<path
d="M 1.6086655,4.1275011 H 1.9473319 L 2.154765,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 2.565398,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 3.5644639,4.1275011 H 3.8946636 L 3.5644639,6.4558325 H 3.0437643 L 2.8024645,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 2.4426315,6.4558325 H 1.9346319 Z"
id="path503"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
<path
d="m 4.148665,4.1275011 h 0.3386664 l 0.2074331,1.5959653 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 h 0.046567 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 5.1053975,4.1275011 H 5.4694639 L 5.714997,5.7234664 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 Q 5.842001,6.1594997 5.850464,6.0663661 5.858934,5.9859331 5.871631,5.897033 5.884331,5.8039 5.892798,5.7234664 L 6.1044633,4.1275011 H 6.4346631 L 6.1044633,6.4558325 H 5.5837638 L 5.342464,4.8090672 Q 5.333994,4.7371002 5.325531,4.6609007 5.321301,4.5804677 5.317061,4.5127341 q 0,-0.0762 0,-0.1523999 H 5.262028 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 4.982631,6.4558325 H 4.4746314 Z"
id="path505"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
<path
d="M 6.6886645,4.1275011 H 7.0273309 L 7.234764,5.7234664 q 0.00847,0.0762 0.016933,0.1693332 0.00847,0.093133 0.016933,0.1735665 0.00847,0.093133 0.016933,0.1862666 H 7.33213 q 0.00847,-0.093133 0.021167,-0.1862666 0.00847,-0.080433 0.021167,-0.1735665 0.0127,-0.093133 0.0254,-0.1693332 L 7.645397,4.1275011 h 0.3640664 l 0.2455331,1.5959653 q 0.0127,0.080433 0.0254,0.1735666 0.0127,0.093133 0.021167,0.1735665 0.0127,0.093133 0.021167,0.1820332 h 0.0508 q 0.00847,-0.093133 0.016933,-0.1862666 0.00847,-0.080433 0.021167,-0.1693331 0.0127,-0.093133 0.021167,-0.1735666 L 8.6444628,4.1275011 H 8.9746626 L 8.6444628,6.4558325 H 8.1237633 L 7.8824635,4.8090672 q -0.00847,-0.071967 -0.016933,-0.1481665 -0.00423,-0.080433 -0.00847,-0.1481666 0,-0.0762 0,-0.1523999 h -0.055033 q 0,0.0762 -0.00423,0.1523999 -0.00423,0.067733 -0.00847,0.1481666 -0.00423,0.0762 -0.016933,0.1481665 L 7.5226304,6.4558325 H 7.0146309 Z"
id="path507"
style="font-size:4.23333px;font-family:'JetBrains Mono';-inkscape-font-specification:'JetBrains Mono, Normal';fill:#181715;stroke-width:0.355335" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,94 +0,0 @@
const theme_switcher = document.getElementById("theme-switcher");
const imgs = document.getElementsByTagName("img");
const sections_button = document.getElementById("sections-button");
const sections_menu = document.getElementsByTagName("nav")[0];
const main = document.getElementsByTagName("main")[0];
let theme = window.localStorage.getItem("theme");
if (theme !== null) {
if (theme === "light") {
changeToLightTheme();
} else {
changeToDarkTheme();
}
} else {
if (
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches
) {
changeToDarkTheme();
}
}
theme_switcher.addEventListener("click", () => {
const attribute = theme_switcher.getAttribute("title") ?? "off"
if (attribute.indexOf("off") !== -1) {
changeToDarkTheme();
} else {
changeToLightTheme();
}
});
function changeToDarkTheme() {
theme_switcher?.setAttribute("title", "turn the light on");
document.documentElement.style.setProperty("--border", "var(--dark-border)");
document.documentElement.style.setProperty("--text", "var(--dark-text)");
document.documentElement.style.setProperty("--bg", "var(--dark-bg)");
window.localStorage.setItem("theme", "dark");
for (let i = 0; i < imgs.length; i += 1) {
imgs[i].src = imgs[i].src.replace("-light", "-dark");
}
}
function changeToLightTheme() {
theme_switcher?.setAttribute("title", "turn the light off");
document.documentElement.style.setProperty("--border", "var(--light-border)");
document.documentElement.style.setProperty("--text", "var(--light-text)");
document.documentElement.style.setProperty("--bg", "var(--light-bg)");
window.localStorage.setItem("theme", "light");
for (let i = 0; i < imgs.length; i += 1) {
imgs[i].src = imgs[i].src.replace("-dark", "-light");
}
}
function closeMenu() {
sections_button.setAttribute("opened", "false");
sections_button.children[0].src = sections_button.children[0].src.replace(
"opened",
"closed",
);
sections_menu.style.display = "none";
}
function openMenu() {
sections_button.setAttribute("opened", "true");
sections_button.children[0].src = sections_button.children[0].src.replace(
"closed",
"opened",
);
sections_menu.style.display = "flex";
sections_menu.style.flexDirection = "column";
}
sections_button.addEventListener("click", () => {
if (sections_button.getAttribute("opened") === "false") {
openMenu();
} else {
closeMenu();
}
});
window.addEventListener("resize", () => {
if (sections_button.getAttribute("opened") === "true") {
closeMenu();
}
});
main.addEventListener("click", () => {
if (sections_button.getAttribute("opened") === "true") {
closeMenu();
}
});

View File

@ -1,12 +0,0 @@
main {
max-width: fit-content;
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
margin: 0 auto;
}
main img {
width: min(70vw, 15rem);
}

View File

@ -1,4 +0,0 @@
h1 {
margin-bottom: 2rem;
font-weight: normal;
}

View File

@ -1,3 +0,0 @@
#mesh {
display: none;
}

View File

@ -1,4 +0,0 @@
h1 {
margin-bottom: 2rem;
font-weight: normal;
}

View File

@ -1,30 +0,0 @@
table {
table-layout: fixed;
border-spacing: 0;
}
th,
td {
padding: 0 1rem 0 1rem;
text-align: left;
border-left: 2px solid var(--border);
}
th {
padding: 1rem 1rem 0 1rem;
border-bottom: 2px solid var(--border);
}
td:nth-child(odd) {
white-space: nowrap;
}
td {
padding: 0 1rem 1rem 1rem;
vertical-align: top;
}
h1 {
margin-bottom: 2rem;
font-weight: normal;
}

View File

@ -1,16 +0,0 @@
h1 {
margin-bottom: 2rem;
font-weight: normal;
}
dl {
padding: 1rem 0;
}
dt {
font-weight: bold;
}
dd {
margin: 0 0 1rem 1rem;
}

View File

@ -1,76 +0,0 @@
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: 4rem;
font-size: 3rem;
width: fit-content;
float: right;
display: flex;
flex-direction: column;
align-items: center;
}
#link img {
width: 4rem;
}

View File

@ -1,149 +0,0 @@
/* 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;
}

View File

@ -1,27 +0,0 @@
table {
table-layout: fixed;
border-spacing: 0;
margin-bottom: 3rem;
}
th,
td {
padding: 0 1rem 0 1rem;
text-align: left;
border-left: 2px solid var(--border);
}
th {
padding: 1rem 1rem 0 1rem;
border-bottom: 2px solid var(--border);
}
td {
padding: 0 1rem 1rem 1rem;
vertical-align: top;
}
h1 {
margin-bottom: 2rem;
font-weight: normal;
}

View File

@ -1,218 +0,0 @@
:root {
--light-text: #181715;
--light-bg: #ffffff;
--light-border: #181715;
--dark-text: #ffffff;
--dark-bg: #181715;
--dark-border: #ffffff;
--hightlight: #72dec2;
--border: var(--light-border);
--text: var(--light-text);
--bg: var(--light-bg);
}
@font-face {
font-family: "Iosevka";
src: url('/font/iosevka-regular.woff') format('woff');
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
color: var(--text);
background: var(--bg);
}
body {
display: grid;
grid-template:
"header" 4rem
"main" 1fr
"footer" 4rem
/ 1fr;
gap: 0;
font-family: 'Iosevka';
}
header,
footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 3rem;
}
header {
grid-area: header;
border-bottom: 2px solid var(--border);
}
footer {
grid-area: footer;
border-top: 2px solid var(--border);
}
main {
grid-area: main;
padding: 3rem;
font-size: 1.3rem;
line-height: 2rem;
max-width: 120ch;
overflow: auto;
}
a,
a:visited {
text-decoration: none;
color: var(--text);
}
main a {
position: relative;
top: 0.2rem;
}
a:hover,
a:focus {
background-color: var(--hightlight);
text-decoration: line-through var(--text);
}
#logo {
display: flex;
flex-direction: row;
gap: 0.5rem;
font-size: 2.5rem;
font-weight: bold;
font-variant: small-caps;
}
#logo img {
width: 3rem;
}
#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 {
font-size: 2rem;
}
#mesh {
position: absolute;
bottom: 4rem;
right: 0;
user-select: none;
pointer-events: none;
}
.links {
display: flex;
gap: 2rem;
}
.links > a {
border-radius: 100%;
}
.links > a > img {
display: block;
}
#sections-button {
display: none;
}
nav {
font-variant: small-caps;
display: flex;
flex-direction: row;
gap: 2rem;
font-size: 2rem;
}
button {
font-style: italic;
font-weight: lighter;
border: none;
background: var(--bg);
color: var(--text);
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) {
nav {
flex-direction: column;
border: 2px solid var(--border);
border-bottom: 0;
border-left: 0;
background-color: var(--bg);
position: absolute;
bottom: calc(4rem);
left: 0;
align-items: center;
padding: 2rem 3rem;
display: none;
}
#sections-button {
display: block !important;
}
}
@media screen and (max-width: 540px) {
#logo {
font-size: 2.2rem;
}
main {
padding: 1rem;
}
.links {
gap: 1.2rem;
}
.links a {
width: 1.5rem;
}
header,
footer {
padding: 0 1rem;
}
#theme-switcher {
margin-right: 1rem;
}
.account {
font-size: 1rem;
}
}

BIN
static/d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
2f069ecf-a1fc-4aaf-924c-de17efcde7a8

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

124
static/main.css Normal file
View File

@ -0,0 +1,124 @@
@font-face {
font-family: Facade;
src: url(fonts/facade/Facade-Sud.woff);
}
@font-face {
font-family: sligoil;
src: url(fonts/sligoil/Sligoil-Micro.woff);
}
@font-face {
font-family: jetbrains-mono;
src: url(fonts/jetbrains-mono/JetBrainsMono-Regular.ttf);
}
body {
background-color: rgb(0, 0, 0);
font-family: jetbrains-mono;
font-size: 3vw;
}
.container {
margin: 2rem auto;
margin-left: 2vw;
margin-right: 1vw;
}
.header {
display: flex;
justify-content: center;
margin: 0 auto;
font-family: facade;
font-size: 12vw;
color: #24ea26;
}
#d {
float: right;
margin-right: 6vw;
margin-left: 1vw;
margin-bottom: 2vw;
background-color: #24ea26;
}
main {
color: #24ea26;
}
main h2 {
font-family: sligoil;
font-size: 5vw;
}
main h3 {
font-family: sligoil;
font-size: 4vw;
margin: 2rem auto;
margin-left: 2vw;
margin-right: 1vw;
}
#about {
margin-bottom: 2rem;
}
a {
font-family: sligoil;
text-decoration: underline;
color: #24ea26;
}
a:visited {
text-decoration: none;
}
a:active {
text-decoration: none;
}
a:hover {
text-decoration: none;
}
main ul li {
font-size: 3vw;
}
main ul li:hover {
background-color: #008000;
}
main ul li:hover a {
color: #000000;
}
main ul li:before {
content: ">";
padding-right: 5px;
color: #24ea26;
}
.back ul li {
text-align: right;
clear: both;
}
.back ul li:before {
content: "<";
padding-right: 5px;
color: #24ea26;
}
#onama p {
font-size: 2vw;
}
.box {
float: left;
width: 25vw;
text-align: center;
padding: 1vw;
}

368
static/reset.css Normal file
View File

@ -0,0 +1,368 @@
/* http://meyerweb.com/eric/tools/css/reset/
* v2.0-modified | 20110126
* License: none (public domain)
* */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* make sure to set some focus styles for accessibility */
:focus {
outline: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
-webkit-appearance: none;
-moz-appearance: none;
}
input[type=search] {
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
textarea {
overflow: auto;
vertical-align: top;
resize: vertical;
}
/**
* * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
* */
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
max-width: 100%;
}
/**
* * Prevent modern browsers from displaying `audio` without controls.
* * Remove excess height in iOS 5 devices.
* */
audio:not([controls]) {
display: none;
height: 0;
}
/**
* * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
* * Known issue: no IE 6 support.
* */
[hidden] {
display: none;
}
/**
* * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
* * `em` units.
* * 2. Prevent iOS text size adjust after orientation change, without disabling
* * user zoom.
* */
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/**
* * Address `outline` inconsistency between Chrome and other browsers.
* */
a:focus {
outline: thin dotted;
}
/**
* * Improve readability when focused and also mouse hovered in all browsers.
* */
a:active,
a:hover {
outline: 0;
}
/**
* * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* * 2. Improve image quality when scaled in IE 7.
* */
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/**
* * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
* */
figure {
margin: 0;
}
/**
* * Correct margin displayed oddly in IE 6/7.
* */
form {
margin: 0;
}
/**
* * Define consistent border, margin, and padding.
* */
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* * 1. Correct color not being inherited in IE 6/7/8/9.
* * 2. Correct text not wrapping in Firefox 3.
* * 3. Correct alignment displayed oddly in IE 6/7.
* */
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/**
* * 1. Correct font size not being inherited in all browsers.
* * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
* * and Chrome.
* * 3. Improve appearance and consistency in all browsers.
* */
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/**
* * Address Firefox 3+ setting `line-height` on `input` using `!important` in
* * the UA stylesheet.
* */
button,
input {
line-height: normal;
}
/**
* * Address inconsistent `text-transform` inheritance for `button` and `select`.
* * All other form control elements do not inherit `text-transform` values.
* * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
* * Correct `select` style inheritance in Firefox 4+ and Opera.
* */
button,
select {
text-transform: none;
}
/**
* * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* * and `video` controls.
* * 2. Correct inability to style clickable `input` types in iOS.
* * 3. Improve usability and consistency of cursor style between image-type
* * `input` and others.
* * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
* * Known issue: inner spacing remains in IE 6.
* */
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
*overflow: visible; /* 4 */
}
/**
* * Re-set default cursor for disabled elements.
* */
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* * 1. Address box sizing set to content-box in IE 8/9.
* * 2. Remove excess padding in IE 8/9.
* * 3. Remove excess padding in IE 7.
* * Known issue: excess padding remains in IE 6.
* */
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/**
* * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* * (include `-moz` to future-proof).
* */
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* * Remove inner padding and search cancel button in Safari 5 and Chrome
* * on OS X.
* */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* * Remove inner padding and border in Firefox 3+.
* */
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* * 1. Remove default vertical scrollbar in IE 6/7/8/9.
* * 2. Improve readability and alignment in all browsers.
* */
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/**
* * Remove most spacing between table cells.
* */
table {
border-collapse: collapse;
border-spacing: 0;
}
html,
button,
input,
select,
textarea {
color: #222;
}
::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}
::selection {
background: #b3d4fc;
text-shadow: none;
}
img {
vertical-align: middle;
}
fieldset {
border: 0;
margin: 0;
padding: 0;
}
textarea {
resize: vertical;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<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">
<!--ADDITIONAL_STYLE-->
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<script src="/scripts/main.js" defer></script>
<title><!--TITLE--> Decentrala</title>
</head>
<body>
<header>
<a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
<button id="theme-switcher"></button>
<a class="account" href="/en/account">Account</a>
</header>
<main>
<!--MAIN-->
</main>
<footer>
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
<nav>
<a href="/en/events">Događaji</a>
<a href="/en/services">Servisi</a>
<a href="/en/contact">Kontakt</a>
</nav>
<span class="links">
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
<a href="/en/webring"><img src="/img/w-light.svg" alt="Webring"></a>
<a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
</span>
</footer>
</body>
</html>

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang="sr">
<head>
<meta charset="UTF-8">
<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">
<!--ADDITIONAL_STYLE-->
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<script src="/scripts/main.js" defer></script>
<title><!--TITLE--> Decentrala</title>
</head>
<body>
<header>
<a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
<button id="theme-switcher"></button>
<a class="account" href="/account">Nalog</a>
</header>
<main>
<!--MAIN-->
</main>
<footer>
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
<nav>
<a href="/events">Događaji</a>
<a href="/services">Servisi</a>
<a href="/contact">Kontakt</a>
</nav>
<span class="links">
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
<a href="/webring"><img src="/img/w-light.svg" alt="Webring"></a>
<a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
</span>
</footer>
</body>
</html>