2
0
forked from Decentrala/website

Compare commits

...

73 Commits

Author SHA1 Message Date
005fba6010 Merge pull request 'fix wording, fix links, remove obsolete page' () from hugo/website2:fixes3 into master
Reviewed-on: 
2023-08-29 09:59:03 +00:00
b71eb393ce fix wording, fix links, remove obsolete page 2023-08-29 11:54:05 +02:00
bdd7a3e7ef Merge pull request 'change from LibreX to SearXNG for bot protection' () from youshitsune/website:master into master
Reviewed-on: 
2023-08-28 08:20:27 +00:00
703c11a5ce
change from LibreX to SearXNG for bot protection 2023-08-28 08:39:06 +02:00
1db838a44c
add links to events 2023-08-28 01:19:28 +02:00
0fde75bc41
add new events 2023-08-28 01:16:36 +02:00
9fa68a27b6
fix issue with using same name for two different variables 2023-08-26 01:03:33 +02:00
d878e884d4 Merge pull request 'Dodate donacije, prepisao sa hackerspaces wikija' () from svitvojimilioni/website:donacije-3 into master
Reviewed-on: 
2023-08-25 22:39:06 +00:00
f9ff147495 Merge pull request 'pravopis, gramatika, rodna ravnopravnost...' () from stalker/website:pravopis-fixes into master
Reviewed-on: 
2023-08-25 22:38:53 +00:00
Branko Kokanovic
5e90343728 pravopis, gramatika, rodna ravnopravnost... 2023-08-25 21:28:33 +02:00
1a1ee35992
Dodate donacije, prepisao sa hackerspaces wikija 2023-08-25 11:42:45 -04:00
a74fc6cdc1
Merge branch 'master' into v3.0 2023-08-08 17:11:26 +02:00
af65cde58f fix events path 2023-08-07 17:05:30 +02:00
263d313f76 Gitignore 2023-08-07 13:30:11 +02:00
3e7d0c04e3 Reorganize project. Page builder. Support for EN 2023-08-07 13:29:42 +02:00
b8cec7decf Remove poster.html 2023-08-07 11:56:24 +02:00
8202534ef9 Merge pull request 'New logo, 404 page, and many fixes' () from hugo/website2:logo into v3.0
Reviewed-on: 
2023-08-06 14:31:23 +00:00
dfb0078cc9 colorize .links on hover 2023-08-06 16:30:05 +02:00
89f4ddc9ce Update README with progress 2023-08-06 15:50:12 +02:00
40e2875062 update events 2023-08-06 15:43:45 +02:00
6e44770af0 fix: wording and markup 2023-08-06 15:41:25 +02:00
9a0354dd7f implement 404 page 2023-08-06 15:10:13 +02:00
dc05908114 simplify navigation 2023-08-06 12:55:10 +02:00
857d0b4663 add new logo 2023-08-06 12:18:34 +02:00
289c6e93d9 Merge pull request 'More fixes for wording and CSS' () from hugo/website2:fix-wording2 into v3.0
Reviewed-on: 
2023-08-05 15:43:17 +00:00
2fd60b7a58 fix: mesh position 2023-08-05 16:30:42 +02:00
571237f535 fix: layout on small screens 2023-08-05 16:11:21 +02:00
1e87f2be84 fix: issue with button title 2023-08-05 15:41:41 +02:00
b0f84486d8 fix: wording 2023-08-05 15:23:15 +02:00
30cca3a33c fix: mobile CSS and other mistakes 2023-08-05 15:20:35 +02:00
0525100bc6 fix: use proper html tag 2023-08-05 15:20:26 +02:00
cdf3849322 fix: theme switcher 2023-08-05 15:00:50 +02:00
fa65e7c508 Remove copyright 2023-08-05 15:00:47 +02:00
fde9f2341c fix: wording 2023-08-05 15:00:16 +02:00
5b66cade0b Merge pull request 'Fixed css not being applied to logo text.' () from ivdv/website:v3.0-fix-logo-text into v3.0
Reviewed-on: 
2023-08-05 07:35:37 +00:00
9794b53fec
Fixed css not being applied to logo text. 2023-08-04 22:47:15 -07:00
78ca7464b6
add event generation to atom_gen.py 2023-08-04 23:18:01 +02:00
3990f37738
fix gitignore 2023-08-04 22:35:13 +02:00
25e1be465c
add poster.html and dogadjaji.csv to gitignore 2023-08-04 22:26:56 +02:00
d7f46364ae
remove text from theme button 2023-08-04 22:25:33 +02:00
234c0d576a
chage incorrect filenames in prep.py 2023-08-04 19:16:46 +02:00
f3e3abf97b
remove links to blog and projects pages 2023-08-04 18:43:49 +02:00
82decd1616
modify webring link on every page 2023-08-04 18:36:34 +02:00
c31236aae8
merge webring branch 2023-08-04 18:32:37 +02:00
ef0b741fdc
add content for account page 2023-08-04 18:29:09 +02:00
a95ebd860d
add webring page 2023-08-04 18:20:34 +02:00
3788070a55
change gitea link in all pages 2023-08-04 18:15:24 +02:00
246b15ad74
add more services 2023-08-04 18:04:03 +02:00
81f3fb2d0b
change text about email in servisi.html 2023-08-04 17:42:54 +02:00
f089d62e63 Merge pull request 'css' () from hugo/decentrala-website-static-new:css into master
Reviewed-on: 
2023-08-04 14:19:43 +00:00
c62983d977 Removed boilerplate blogs 2023-08-04 16:18:11 +02:00
il
150223ae58 atom feed generator 2023-08-04 02:17:14 +02:00
814a384295 feat: theme button 2023-08-03 20:38:04 +02:00
d4026fd5b3 small fixes 2023-08-03 19:39:10 +02:00
775245c3b4 Fixed poster encoding. 2023-08-03 19:34:30 +02:00
8b55a17040 Merge pull request 'fix: use proper letters' () from hugo/decentrala-website-static-new:letters into master 2023-08-03 17:26:21 +00:00
0a8f3167a6 fix: use proper letters 2023-08-03 19:13:33 +02:00
c53438e2cc Merge pull request 'Implemented poster script' () from hugo/decentrala-website-static-new:poster into master
Reviewed-on: 
2023-08-03 16:54:19 +00:00
Luka Ivanovic
c890e98279 So it begins.. 2023-08-03 18:41:30 +02:00
f05390f16c Implemented poster script 2023-07-22 22:10:38 +02:00
eline
9fb8eac7c7 Some new icons for tests 2023-05-07 02:52:46 +02:00
eline
cfcdf34129 New arrows :) 2023-05-07 02:40:55 +02:00
eline
c6574fb93d Added a menu for smaller screens (still not finished tho). Also, more
fixes.
2023-05-06 23:04:59 +02:00
eline
eaac7bdd73 Prep for responsive version 2023-05-06 19:31:43 +02:00
eline
e1ba576b8b Minor fix with style 2023-05-06 18:42:04 +02:00
eline
dfc99cc981 Minified svg's and made mesh untargetable 2023-05-06 18:39:48 +02:00
eline
bdddddb342 Implemented theme switcher (light/dark) 2023-05-06 18:13:12 +02:00
eline
1e0dbade3b setting things up for themes switcher 2023-05-05 22:16:03 +02:00
eline
a8fb3f0185 fixed broken links and updated readme 2023-05-05 16:57:54 +02:00
eline
6c5a6b5429 added git and mastodon icons and fixed some styling errors 2023-05-05 16:51:05 +02:00
eline
21524b00d5 fixed missing meshes 2023-05-05 15:33:17 +02:00
eline
6cc971d62b added favicon 2023-05-05 15:29:23 +02:00
eline
d614d04520 initial commit 2023-05-05 12:55:05 +02:00
95 changed files with 1808 additions and 754 deletions

8
.gitignore vendored Normal file

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

@ -1,7 +1,39 @@
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.
# Decentrala
Don't push to master, it is reserved for official website at dmz.rs.
Redisign of dmz.rs .
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
- There needs to be a page for donations that is running donationcalc in backend
## Build site
Run
```
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)

73
atom_gen.py Executable file

@ -0,0 +1,73 @@
#! /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 Normal file

@ -0,0 +1,11 @@
# 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))

33
build_pages.py Normal file

@ -0,0 +1,33 @@
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()

@ -1,27 +0,0 @@
<!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>

21
dogadjaji.csv Normal file

@ -0,0 +1,21 @@
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 https://www.openstreetmap.org/node/10594728522, Podesavanje Mail servera
29-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Prevodjenje wiki-a
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 https://www.openstreetmap.org/node/10594728522 Podesavanje Mail servera
21 29-08-2023 19:00 DC Krov https://www.openstreetmap.org/node/10594728522 Prevodjenje wiki-a

@ -1,33 +0,0 @@
<!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>

@ -1,27 +0,0 @@
<!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>

@ -1,29 +0,0 @@
<!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>

@ -1,28 +0,0 @@
<!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>

@ -1,32 +0,0 @@
<!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>

23
nginx.dev.conf Normal file

@ -0,0 +1,23 @@
# 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;
}
}
}

@ -1,44 +0,0 @@
<!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>

7
pages/sr/account.html Normal file

@ -0,0 +1,7 @@
<p>Ako si napravio nalog na dmz.rs možeš koristiti naš XMPP i e-mail server, kao i ostale servise koji podržavaju LDAP login.<p>
<p>Za više o XMPP-u pogledaj <a href="https://wiki.dmz.rs/en/tutorial/conversations">tutorial</a>. <p>
<p>Podešavanja za <a href="https://thunderbird.org">Thundebird</a> mail klijent možeš pogledati na <a href="/img/mailsettings.png">slici</a>.<p>
<p><a href="/account/register/">Registruj se</a><p>
<p><a href="/account/unregister/">Izbriši nalog</a><p>
<p><a href="/account/changepassword/">Promeni lozinku</a><p>

2
pages/sr/blog.html Normal file

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

5
pages/sr/contact.html Normal file

@ -0,0 +1,5 @@
<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 pronađeš <em>bug</em> na sajtu, bili bismo ti jako zahvalni ako nam ga prijaviš.</p>

59
pages/sr/events.html Normal file

@ -0,0 +1,59 @@
<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> Podešvanje Mail servera </td>
</tr>
<tr>
<td> Utorak, 29. Avgust 2023. </td>
<td> 19:00h </td>
<td> DC Krov </td>
<td> Prevođenje wiki-ja </td>
</tr>
</tbody>
</table>

32
pages/sr/index.html Normal file

@ -0,0 +1,32 @@
<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>
<dt>Donacije:</dt>
<dd>
Decentrala prihvata donacije isključivo od fizičkih lica i bez obaveza.
Nezavisni smo i trudimo se da to održimo.
Možeš nam donirati stari hardver (laptopove, telefone, PC komponente), a mi ćemo mu naći upotrebu u Decentrali ili dati ljudima kojima je potreban.
Takođe možeš donirati bitcoin i monero, slanjem na naredne adrese:
<p>Bitcoin: bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</p>
<p>Monero: 8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</p>
</dd>
</dl>
<p>
Ako si i dalje zainteresovan, možeš napraviti <a href="/account">nalog</a> na našem serveru koji će ti
omogućiti korišćenje svih naših <a href="/services">servisa</a>.
Ako želiš prvo da vidiš kako to sve izgleda u realnosti, možeš doći na neki od naših <a
href="/events">događaja</a>, i tu nas upoznati!
</p>

1
pages/sr/projects.html Normal file

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

58
pages/sr/services.html Normal file

@ -0,0 +1,58 @@
<h1>Servisi</h1>
<table>
<tr>
<th>Servis</th>
<th>Opis</th>
</tr>
<tr>
<td><a href="/account">E-mail</a></td>
<td>E-mail nalog koji možeš da koristiš sa bilo kojim email
klijentom generalne namene (na primer <a href="https://www.thunderbird.net/">Thunderbird</a>-om).</td>
</tr>
<tr>
<td><a href="https://forum.dmz.rs/">Forum</a></td>
<td>Forum na kom obično organizujemo naše <a href="/events">događaje</a>.
</td>
</tr>
<tr>
<td>Chat</td>
<td>Održavamo sopstveni XMPP server, na kojem možeš da napraviš nalog.
Ako već poseduješ nalog možeš da nas nađeš 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 kôd kao i ostale resurse za naše
<a href="/projects">projekte</a>, <a href="/events">događaje</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="/projects">projekte</a> kao i ostale <a href="/events">događaje</a>.
</td>
</tr>
<tr>
<td><a href="https://search.dmz.rs/">Search</a></td>
<td><a href="https://github.com/searxng/searxng/">SearXNG</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žeš</em> da se
registuješ na svaki servis posebno, a možeš i da napraviš jedinstveni <a href="/pages/account.html">nalog</a> na našem
serveru i da koristiš sve servise sa istim nalogom.</p>

3
pages/sr/webring.html Normal file

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

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><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 Normal file

@ -0,0 +1,101 @@
#! /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)
newevents = []
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>")
newevents.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(newevents)
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>"])

@ -1,36 +0,0 @@
<!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>Servisi</h2>
<p><a href="https://forum.dmz.rs">FORUM</a><p>
<p><a href="../chat.html">XMPP</a><p>
<p><a href="https://gitea.dmz.rs">GITEA</a><p>
<p><a href="https://wiki.dmz.rs">WIKI</a><p>
<p><a href="../nalog.html">EMAIL</a><p>
<p><a href="ssh://soft.dmz.rs:2222">SOFT SERVE</a><p>
<p><a href="https://search.dmz.rs">LibreX</a><p>
<p><a href="https://git.dmz.rs">CGIT</a><p>
<p><a href="https://pastebin.dmz.rs">PrivateBin</a><p>
<p><a href="https://cryptpad.dmz.rs">CryptPad</a><p>
<div class="back">
<ul class="nav">
<a href="../"><li>Nazad</li></a>
</ul>
</div>
</main>
</div>
</body>
</html>

0
site/.gitignore vendored Normal file

19
site/404.html Normal file

@ -0,0 +1,19 @@
<!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.

11
site/img/cc-dark.svg Normal file

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

After

(image error) Size: 1.9 KiB

11
site/img/cc-light.svg Normal file

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

After

(image error) Size: 1.9 KiB

BIN
site/img/favicon.ico Normal file

Binary file not shown.

After

Width: 128px  |  Height: 128px  |  Size: 66 KiB

3
site/img/git-dark.svg Normal file

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

After

(image error) Size: 1.7 KiB

3
site/img/git-light.svg Normal file

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

After

(image error) Size: 1.7 KiB

17
site/img/logo-dark.svg Normal file

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

After

(image error) Size: 1.9 KiB

17
site/img/logo-light.svg Normal file

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

After

(image error) Size: 1.9 KiB

Before

(image error) Size: 41 KiB

After

(image error) Size: 41 KiB

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

After

(image error) Size: 1.7 KiB

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

After

(image error) Size: 1.7 KiB

23
site/img/mesh-dark.svg Normal file

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

After

(image error) Size: 1.6 KiB

23
site/img/mesh-light.svg Normal file

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

After

(image error) Size: 1.6 KiB

63
site/img/srce-dark.svg Normal file

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

After

(image error) Size: 2.5 KiB

62
site/img/srce-light.svg Normal file

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

After

(image error) Size: 2.5 KiB

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

After

(image error) Size: 1.3 KiB

@ -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="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>

After

(image error) Size: 602 B

@ -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

(image error) Size: 773 B

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

After

(image error) Size: 1.3 KiB

@ -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="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>

After

(image error) Size: 566 B

@ -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

(image error) Size: 799 B

10
site/img/w-dark.svg Normal file

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

After

(image error) Size: 1.4 KiB

10
site/img/w-light.svg Normal file

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

After

(image error) Size: 1.4 KiB

60
site/img/www-dark.svg Normal file

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

After

(image error) Size: 5.0 KiB

59
site/img/www-light.svg Normal file

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

After

(image error) Size: 5.0 KiB

94
site/scripts/main.js Normal file

@ -0,0 +1,94 @@
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();
}
});

12
site/styles/404.css Normal file

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

4
site/styles/account.css Normal file

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

3
site/styles/blog.css Normal file

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

4
site/styles/contact.css Normal file

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

30
site/styles/events.css Normal file

@ -0,0 +1,30 @@
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;
}

16
site/styles/home.css Normal file

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

76
site/styles/poster.css Normal file

@ -0,0 +1,76 @@
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;
}

0
site/styles/projects.css Normal file

149
site/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;
}

27
site/styles/services.css Normal file

@ -0,0 +1,27 @@
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;
}

217
site/styles/style.css Normal file

@ -0,0 +1,217 @@
: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 {
text-decoration: underline;
}
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;
}
}

Binary file not shown.

Before

(image error) 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.

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,124 +0,0 @@
@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;
}

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

37
template/page-en.html Normal file

@ -0,0 +1,37 @@
<!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>

37
template/page-sr.html Normal file

@ -0,0 +1,37 @@
<!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>