Compare commits
340 Commits
v3.0
...
framework/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
732640cf90 | ||
|
|
a3193cb498 | ||
|
|
1c0be34ecf | ||
|
|
629c5b02bf | ||
|
|
b1f8b7a378 | ||
|
|
599d143c78 | ||
|
|
0724816c88 | ||
|
|
9eca59f80f | ||
|
|
c3ae746d83 | ||
|
|
a66da9b2d5 | ||
|
|
e9147b34cb | ||
|
|
02c2dcc9fc | ||
|
|
749574c8dc | ||
|
|
c40f101540 | ||
|
|
5958bbc24f | ||
|
|
d9c93d1182 | ||
|
|
d001d6b287 | ||
|
|
910f375c94 | ||
|
|
69b0e5b63a | ||
|
|
ec64147c6b | ||
|
|
b6cfef830a | ||
|
|
e3330ad1bd | ||
|
|
6d31b3915b | ||
|
|
e18bf1899e | ||
|
|
9fc58a992e | ||
|
|
6013ff7cc8 | ||
|
|
d1051be74b | ||
|
|
9ff6c99615 | ||
|
|
bbf1ffa445 | ||
|
|
507472f6ff | ||
|
|
5c2936edbc | ||
|
|
c61f61fdd0 | ||
|
|
dfa2ebbdd9 | ||
|
|
2a83167bae | ||
|
|
899f9fe871 | ||
|
|
328bad7f23 | ||
|
|
840c2a6ca6 | ||
|
|
6bb4b2cd2b | ||
|
|
5c0883b148 | ||
| f3f8c9b89c | |||
| 150d5b0bd7 | |||
| c66268d4b5 | |||
| 5f870f77a5 | |||
| 886b4aae1a | |||
|
|
c2e4e64ece | ||
| 3d88f5cdb9 | |||
| 601baeb29c | |||
| 535c546752 | |||
| 8cd969acac | |||
| 24fae3548f | |||
|
|
4875ec6472 | ||
| ac9b2f1918 | |||
|
2945ce7790
|
|||
| 61ca0e076f | |||
| 3cc1789fff | |||
| 3834ad4ae4 | |||
| 995b8bf96c | |||
| be8631969b | |||
| 4763fd60a1 | |||
| a1bdcc5359 | |||
| 09cfa72d36 | |||
| 2a2e036955 | |||
| afa8181eef | |||
| 70834365a8 | |||
| 9aa5ecdfa8 | |||
| 4d77f42f4d | |||
| 1e14349d87 | |||
|
a8ae503e89
|
|||
| 5fd521efe6 | |||
| dda015450b | |||
| c5561e8723 | |||
| 9b5efe2bde | |||
| 3bd96e559f | |||
| 5c8a6dca66 | |||
| f87f0f3365 | |||
| 28c9a78b07 | |||
| e5a7c6e5f0 | |||
| 66cd4d207c | |||
| f88aaab222 | |||
| 82a8322ff8 | |||
| ded3cc856b | |||
| 67cde4c4ae | |||
| dea94db721 | |||
| c9a2cd1afc | |||
| c5c886a774 | |||
| ef1d6bd7cf | |||
| b40c9d83b6 | |||
| cde9c83a25 | |||
| e482c694a5 | |||
| 981a1c6785 | |||
| 26baa4f333 | |||
| c9c0e9e8ab | |||
| eb894cae4a | |||
| efbc442116 | |||
| a06ed4abab | |||
|
52079e5740
|
|||
| 333e14f2f7 | |||
|
1e30cb3078
|
|||
|
df080d255a
|
|||
|
|
6100e6a6f8 | ||
|
|
0e2346fb13 | ||
|
|
28c741931e | ||
|
|
02e532a9f5 | ||
| 9d94787183 | |||
| 5ac2d0248b | |||
| 2abacdc60e | |||
|
c251d29945
|
|||
|
41f57f0c12
|
|||
|
dbc243276e
|
|||
|
45d3e9de14
|
|||
|
c3101c91b0
|
|||
| 027f184c27 | |||
| 37883bf420 | |||
|
521e2ec13c
|
|||
| d7d0e09bb4 | |||
|
|
7575622112 | ||
|
|
05c4a14ce3 | ||
|
|
9044c265d5 | ||
|
|
52fe66343f | ||
| a27ca527f8 | |||
| 954d8a3aca | |||
|
59ced0bfca
|
|||
| 1d34e7b168 | |||
|
ced573e2ae
|
|||
|
|
ad9bada585 | ||
|
d25c1be5ca
|
|||
|
3d59322497
|
|||
|
6873f3c6de
|
|||
|
85cc1908c4
|
|||
| 79ceee6e97 | |||
|
548f4cc373
|
|||
|
e782d4156a
|
|||
| 88f4f547e5 | |||
|
|
9e4017c9bb | ||
|
|
34130b78e4 | ||
|
|
07933d7aa8 | ||
| 86741f4246 | |||
| 042e81c66b | |||
| 39ee4f76d9 | |||
| 112f0ec161 | |||
|
|
8bfaba3ed1 | ||
| 4d201ea8f4 | |||
| 3c5c896f8e | |||
|
|
313041fe72 | ||
|
cc7765ef2f
|
|||
|
3fa69eb169
|
|||
| f236b15b5e | |||
| 934aaff7dd | |||
| 0ae832b559 | |||
| a025d3d3f1 | |||
| 36cdce10bd | |||
| 3169944d93 | |||
| 53994e72dc | |||
|
48362210c2
|
|||
| a04c8fdb05 | |||
|
4cbdf84c98
|
|||
| be3bd58b49 | |||
| 547516075f | |||
| 3191a95ca8 | |||
| 32d5c28ba1 | |||
|
863ca6423f
|
|||
|
666ce43fa4
|
|||
| 4a616e0f77 | |||
|
d16113b5a7
|
|||
|
c7b3dc77ac
|
|||
|
a755c69152
|
|||
|
ea8e234d01
|
|||
|
6e08e62624
|
|||
|
87d75b4aa0
|
|||
|
5ce96c23ae
|
|||
|
979864f956
|
|||
|
c76699662e
|
|||
|
3787594e17
|
|||
|
be7ac68ab6
|
|||
|
55641f1f01
|
|||
|
b242de196a
|
|||
|
e1cfef6fb2
|
|||
| 7be72d9b17 | |||
| 84de7e69b1 | |||
|
de6b56c2ed
|
|||
|
1a1f46ef4b
|
|||
|
02a6c9a41e
|
|||
|
bdc4bdc97e
|
|||
|
9063f5d854
|
|||
|
e13b0bdc99
|
|||
|
98e53954a4
|
|||
|
7d3c19f40b
|
|||
| 995e423f94 | |||
| 04f905c2db | |||
| 51629baf34 | |||
| a96c53162a | |||
| 7418832919 | |||
| e283df32a1 | |||
| d0756b6d2d | |||
| e118b49e8e | |||
| 8ae1c229c2 | |||
|
|
4d843a1254 | ||
|
a60280756a
|
|||
| ce0aecea04 | |||
|
7887c7bb17
|
|||
| e17f94e214 | |||
| 60b3d6a345 | |||
| 96fa0361fa | |||
| aeb0ed405b | |||
| 129a2ac74a | |||
| 33c81b39d8 | |||
| 7e179c704c | |||
| 037ddb0af6 | |||
|
b7cdc83cff
|
|||
|
54013ac9a9
|
|||
|
7c134225ed
|
|||
|
56149858bf
|
|||
|
f3eebcdfa3
|
|||
|
e8b4495c58
|
|||
|
d4a8d92615
|
|||
|
a8736b7805
|
|||
|
468cb2c59e
|
|||
|
31d8bf8236
|
|||
|
0722444a3c
|
|||
|
f6d5004ae4
|
|||
|
182dcec506
|
|||
|
08d5f5d75b
|
|||
| 47c4260b5e | |||
| 5f00b87c9d | |||
|
6b990d2a14
|
|||
|
ac6f4fae9a
|
|||
|
a2ac99b959
|
|||
|
931d6c6cdc
|
|||
|
670ab75750
|
|||
|
4944923f77
|
|||
|
2a02dfe9b4
|
|||
|
5113f8820b
|
|||
|
|
07a6a0834d | ||
|
|
def454358d | ||
|
|
c891f9edad | ||
|
de7d7bfbbd
|
|||
| 2790292f3b | |||
|
99a78157a4
|
|||
| 4896f7c5fa | |||
| 29b29d37b1 | |||
| 9f5d011ad5 | |||
|
|
56917d46a3 | ||
|
|
7cb83e0a0a | ||
|
|
cf3b989150 | ||
|
d76ddeabdf
|
|||
| 0557807a7e | |||
| 2c522eebc5 | |||
| 5977040b1a | |||
|
0357513776
|
|||
|
405fce696c
|
|||
|
611cd84ad6
|
|||
|
771dad3b38
|
|||
|
71f32835f0
|
|||
| e61a1adc67 | |||
|
2f77647279
|
|||
|
a479558be1
|
|||
| 0b49fec686 | |||
| e76d57f07d | |||
|
0e99f5f8c8
|
|||
|
b99250308e
|
|||
|
dc6e5ce2d3
|
|||
|
b288706b80
|
|||
|
b7a18b2b0e
|
|||
|
8b81831ba3
|
|||
|
cfa94f3bea
|
|||
| 61db7770db | |||
|
5b7738c728
|
|||
|
ffea059296
|
|||
|
61d1a949f7
|
|||
|
b2479a045e
|
|||
|
bd496eac3c
|
|||
|
4959a91b08
|
|||
|
45eb5e6b21
|
|||
|
4d4fd6d4d3
|
|||
|
35198a33d2
|
|||
|
2c42a80a33
|
|||
|
3845e7b870
|
|||
|
95f02eb0c9
|
|||
|
17a8e7fc95
|
|||
|
1a0d147564
|
|||
|
f38fcc7dcf
|
|||
|
c53d73cc1b
|
|||
|
dfa84076b7
|
|||
|
b6a198ed5f
|
|||
|
40d22dd42f
|
|||
|
6b26791c2e
|
|||
|
38b6b18a40
|
|||
|
3577486210
|
|||
| a39f257b94 | |||
| 828be8cd8f | |||
| 1d20360c46 | |||
|
03fb78892c
|
|||
| 658f47a1ae | |||
| df32ef6116 | |||
|
c3da6e392d
|
|||
|
81f136b7cb
|
|||
|
5edf754421
|
|||
| ac0d32559c | |||
|
7df04ecf71
|
|||
|
25662d7bda
|
|||
|
12235ab51e
|
|||
|
62da74bf99
|
|||
|
a321ebe765
|
|||
|
a70fd1369e
|
|||
|
768f1c66e6
|
|||
|
fb50c076fe
|
|||
|
b31a1b5ebf
|
|||
|
ab15c97e5e
|
|||
|
702ab07e03
|
|||
| 3232cdcf09 | |||
| aec8f74ed2 | |||
| 62778e2679 | |||
| 4eae5c08b8 | |||
| 4b700f6652 | |||
| de3d5142f6 | |||
| 1bfa147cb4 | |||
| 8d942cf2f3 | |||
| 39b65d0547 | |||
| efe1ea873b | |||
| 44910c183b | |||
| be37b42273 | |||
| 29c1b7ad55 | |||
| 4233fe7f44 | |||
| 4bcd13a713 | |||
| 05c11219d2 | |||
| 6671fb1547 | |||
| 221dff13dd | |||
| 1f5e541922 | |||
| d31e4e10c8 | |||
| 005fba6010 | |||
| b71eb393ce | |||
| bdd7a3e7ef | |||
|
703c11a5ce
|
|||
|
1db838a44c
|
|||
|
0fde75bc41
|
|||
|
9fa68a27b6
|
|||
| d878e884d4 | |||
| f9ff147495 | |||
|
|
5e90343728 | ||
|
1a1ee35992
|
14
.gitignore
vendored
@@ -1,8 +1,22 @@
|
||||
venv/
|
||||
site/*.html
|
||||
site/en/*.html
|
||||
site/atom_blog.xml
|
||||
site/atom_events.xml
|
||||
poster.html
|
||||
poster.pdf
|
||||
poster_light.png
|
||||
poster_dark.png
|
||||
poster_light_en.png
|
||||
poster_dark_en.png
|
||||
poster.txt
|
||||
poster_en.txt
|
||||
http.access.log
|
||||
http.error.log
|
||||
events.ical
|
||||
.vscode/
|
||||
events.html
|
||||
events_archive.html
|
||||
|
||||
|
||||
!site/lif*
|
||||
|
||||
31
Makefile
Normal file
@@ -0,0 +1,31 @@
|
||||
.PHONY: build events dev stop help prep
|
||||
|
||||
help:
|
||||
@echo "Available commands:"
|
||||
@echo " make prep - Create venv and install requirements"
|
||||
@echo " make events - Update site from CSV (build pages + images)"
|
||||
@echo " make dev - Start development server"
|
||||
@echo " make stop - Stop development server"
|
||||
@echo " make build - Full website build sequence"
|
||||
@echo " make help - Show this help message"
|
||||
|
||||
prep:
|
||||
python3 -m venv .venv
|
||||
./.venv/bin/pip install --upgrade pip
|
||||
./.venv/bin/pip install -r requirements.txt
|
||||
|
||||
build:
|
||||
./.venv/bin/python atom_gen.py
|
||||
./.venv/bin/python prep.py
|
||||
./.venv/bin/python build_pages.py
|
||||
|
||||
events:
|
||||
./.venv/bin/python build_pages.py
|
||||
./.venv/bin/python image_poster.py
|
||||
|
||||
dev:
|
||||
nginx -p . -c nginx.dev.conf
|
||||
|
||||
stop:
|
||||
nginx -p . -s stop
|
||||
|
||||
49
README.md
@@ -1,39 +1,62 @@
|
||||
# Decentrala
|
||||
|
||||
Redisign of dmz.rs .
|
||||
[dmz.rs](https://dmz.rs/) / [decentrala.org](https://decentrala.org) website
|
||||
|
||||
## Setup
|
||||
|
||||
First, prepare the virtual environment and install dependencies:
|
||||
|
||||
```sh
|
||||
make prep
|
||||
```
|
||||
|
||||
## Build site
|
||||
|
||||
Run
|
||||
To build the complete website:
|
||||
|
||||
```
|
||||
python atom_gen.py
|
||||
python prep.py
|
||||
python build_pages.py
|
||||
```sh
|
||||
make build
|
||||
```
|
||||
|
||||
Complete website will be contained in `site/`. You can copy this to server.
|
||||
The complete website will be contained in `site/`. You can copy this to your server.
|
||||
|
||||
## Development server
|
||||
|
||||
To start a development server, first build site, then run (possibly with `sudo`)
|
||||
To start a development server, first build the site, then run (possibly with `sudo`):
|
||||
|
||||
```
|
||||
nginx -p . -c nginx.dev.conf
|
||||
```sh
|
||||
make dev
|
||||
```
|
||||
|
||||
To stop it:
|
||||
|
||||
```sh
|
||||
make stop
|
||||
```
|
||||
nginx -p . -s stop
|
||||
|
||||
## Events
|
||||
|
||||
To update events, update `dogadjaji.csv` then run:
|
||||
|
||||
```sh
|
||||
make events
|
||||
```
|
||||
|
||||
For checking the csv data, suggestion is the [tennis pkg](https://github.com/gurgeous/tennis), with example command:
|
||||
```sh
|
||||
tennis -nt --zebra --color on --theme dark --tail 20 dogadjaji.csv
|
||||
```
|
||||
|
||||
|
||||
## TODO:
|
||||
|
||||
- [x] create page builder
|
||||
- [x] rename `prep.py` to more informative name (`build_events.py`)
|
||||
- [x] create xmpp bot that connects to events section.
|
||||
- [ ] create blogging system
|
||||
- [ ] create xmpp bot that connects to events section.
|
||||
- [ ] webring system
|
||||
- [x] make page
|
||||
- [ ] populate page
|
||||
- [ ] make english version (localisation)
|
||||
- [x] make english version
|
||||
- double check spelling and wording
|
||||
- [x] add account and donations page and style them with the site style
|
||||
|
||||
32
atom_gen.py
@@ -1,4 +1,4 @@
|
||||
#! /usr/bin/python3
|
||||
#! /usr/bin/env python3
|
||||
|
||||
# needs lowdown and feegden installed
|
||||
# feedgen can be installed with pip
|
||||
@@ -11,20 +11,20 @@ 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 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 = []
|
||||
@@ -69,5 +69,3 @@ def feedgen(blogs, events):
|
||||
|
||||
fg_blog.atom_file('site/atom_blog.xml')
|
||||
fg_events.atom_file('site/atom_events.xml')
|
||||
|
||||
feedgen(blogposts_list_gen(), events_list_gen())
|
||||
|
||||
1
blog.py
Normal file → Executable file
@@ -1,3 +1,4 @@
|
||||
#! /usr/bin/env python3
|
||||
# just testing markdown library for now
|
||||
|
||||
from markdown import markdown as to_markdown
|
||||
|
||||
63
build_pages.py
Normal file → Executable file
@@ -1,33 +1,60 @@
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
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': 'about', 'titleSR': 'O nama', 'titleEN': 'About us', 'style': 'about'},
|
||||
{'name': 'statute', 'titleSR': 'Statut', 'titleEN': 'Statute', 'style': 'statute'},
|
||||
{'name': 'events', 'titleSR': 'Događaji', 'titleEN': 'Events', 'style': 'events'},
|
||||
{'name': 'events_archive', 'titleSR': 'Arhiva događaja', 'titleEN': 'Events archive', 'style': 'events'},
|
||||
{'name': 'services', 'titleSR': 'Servisi', 'titleEN': 'Services', 'style': 'services'},
|
||||
{'name': 'webring', 'titleSR': 'Webring', 'titleEN': 'Webring', 'style': ''},
|
||||
{'name': 'support', 'titleSR': 'Podrška', 'titleEN': 'Support', 'style': 'support'},
|
||||
{'name': 'deconference', 'titleSR': 'Dekonferencija', 'titleEN': 'Deconference', 'style': 'deconference'},
|
||||
]
|
||||
|
||||
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
|
||||
env = Environment(loader=FileSystemLoader('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()
|
||||
for page in PAGES:
|
||||
# Build SR Page
|
||||
with open(f'pages/sr/{page["name"]}.html') as f:
|
||||
page_content = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div>"
|
||||
page_content += f.read()
|
||||
|
||||
sr_html = env.get_template('page-sr.html').render(
|
||||
title=page['titleSR'],
|
||||
content=page_content,
|
||||
extra_styles=f'<link rel="stylesheet" href="/styles/{page["style"]}.css">' if page['style'] else '',
|
||||
lang="sr",
|
||||
sr_link=f"/en/{page['name']}",
|
||||
current_path=f"/{page['name']}" if page['name'] != 'index' else "/"
|
||||
)
|
||||
|
||||
sr_filename = "index.html" if page['name'] == 'index' else f"{page['name']}.html"
|
||||
with open(f'site/{sr_filename}', 'w') as f:
|
||||
f.write(sr_html)
|
||||
|
||||
# Build EN Page
|
||||
with open(f'pages/en/{page["name"]}.html') as f:
|
||||
page_content = "<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Students found the bug' /></div>"
|
||||
page_content += f.read()
|
||||
|
||||
en_html = env.get_template('page-en.html').render(
|
||||
title=page['titleEN'],
|
||||
content=page_content,
|
||||
extra_styles=f'<link rel="stylesheet" href="/styles/{page["style"]}.css">' if page['style'] else '',
|
||||
lang="en",
|
||||
sr_link=f"/{page['name']}",
|
||||
current_path=f"/en/{page['name']}" if page['name'] != 'index' else "/en/"
|
||||
)
|
||||
|
||||
en_filename = "index.html" if page['name'] == 'index' else f"{page['name']}.html"
|
||||
with open(f'site/en/{en_filename}', 'w') as f:
|
||||
f.write(en_html)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
main()
|
||||
|
||||
|
||||
387
dogadjaji.csv
@@ -1,20 +1,367 @@
|
||||
datum, vreme, lokacija, tema
|
||||
03-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, Otvaranje izlozbe (Q&A)
|
||||
03-05-2023, 18:00, KC Grad https://www.openstreetmap.org/node/4118716889, Linux install fest
|
||||
04-05-2023, 17:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
|
||||
04-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
|
||||
04-05-2023, 21:00, n/a, Online sastanak sa Zajednicom za slobodnu tehnologiju iz Kikinde
|
||||
05-05-2023, 15:30, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
|
||||
06-05-2023, 12:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (Q&A)
|
||||
07-05-2023, 16:00, Cvijeta Zuzoric https://www.openstreetmap.org/node/256367543, ULUS izlozba (diskusija)
|
||||
08-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day
|
||||
09-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cryptoparty - Uvod u privatnost
|
||||
11-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u racunarske mreze
|
||||
01-08-2023, 19:00, DC Krov, Tehno veče
|
||||
07-08-2023, 19:00, DC Krov, Linux ricing
|
||||
08-08-2023, 19:00, DC Krov, Lambda račun
|
||||
14-08-2023, 19:00, DC Krov, Linux distro diskusija
|
||||
15-08-2023, 19:00, DC Krov, Pirati 777 mora
|
||||
21-08-2023, 19:00, DC Krov, Python vežbe
|
||||
22-08-2023, 19:00, DC Krov, Autentifikacija na internetu
|
||||
28-08-2023, 19:00, DC Krov, Kviz
|
||||
datum, vreme, lokacija, tema, tip, link, temaEN
|
||||
20-12-2022, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u računarske mreže,,,
|
||||
03-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon žurka, hack,,
|
||||
16-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Privatnost na internetu, workshop,,
|
||||
04-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon žurka, hack,,
|
||||
13-02-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u Bitcoin, workshop,,
|
||||
14-02-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Privacy & Security, lecture,,
|
||||
20-02-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cyber reconnisance, workshop,,
|
||||
21-02-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u konfiguraciju servera (pomereno), workshop,,
|
||||
27-02-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Šta je Decentrala + hackathon, hack,,
|
||||
03-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u python, lecture,,
|
||||
10-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u python, lecture,,
|
||||
13-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, TLS (SSL) kriptografija, lecture,,
|
||||
14-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Matrix chat protokol, lecture,,
|
||||
20-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, LDAP protokol, workshop,,
|
||||
21-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Android reverse engineering,,,
|
||||
25-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Open hackerspace day, movie,,
|
||||
27-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, SQL baze podataka, ,,
|
||||
28-03-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Esolang, ,,
|
||||
03-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Pentest, workshop,,
|
||||
04-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Runtime modification of Android apps, ,,
|
||||
10-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
11-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u OpenBSD, ,,
|
||||
17-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lan party, ,,
|
||||
18-04-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Pentest radionica nastavak, ,,
|
||||
23-04-2023, 19:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u mreže, ,,
|
||||
03-05-2023, 12:00, Cvijeta Zuzorić https://www.openstreetmap.org/node/256367543, Otvaranje izložbe (Q&A), ,,
|
||||
03-05-2023, 18:00, KC Grad https://www.openstreetmap.org/node/4118716889, Linux install fest, workshop,,
|
||||
04-05-2023, 17:00, Cvijeta Zuzorić https://www.openstreetmap.org/node/256367543, ULUS izložba, discussion,,
|
||||
04-05-2023, 18:00, Polyhedra https://www.openstreetmap.org/node/4856556781, Uvod u računarske mreže, ,,
|
||||
04-05-2023, 21:00, n/a, Online sastanak sa Zajednicom za slobodnu tehnologiju iz Kikinde, meeting,,
|
||||
05-05-2023, 15:30, Cvijeta Zuzorić https://www.openstreetmap.org/node/256367543, ULUS izložba, discussion workshop,,
|
||||
06-05-2023, 12:00, Cvijeta Zuzorić https://www.openstreetmap.org/node/256367543, ULUS izložba, discussion workshop,,
|
||||
07-05-2023, 16:00, Cvijeta Zuzorić https://www.openstreetmap.org/node/256367543, ULUS izložba, discussion workshop,,
|
||||
08-05-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day, workshop,,
|
||||
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 računarske mreže, lecture,,
|
||||
05-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Šifre, ,,
|
||||
06-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Random i kriptografija, ,,
|
||||
12-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u Blender, lecture,,
|
||||
13-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
19-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Pisanje BASH skripti, ,,
|
||||
20-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
26-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Python vežbe, workshop,,
|
||||
27-06-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
03-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, DNS, lecture,,
|
||||
04-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
10-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Blender, lecture,,
|
||||
11-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
17-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, OpenGL, workshop,,
|
||||
18-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
24-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Web scraping, ,,
|
||||
25-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity odbrana, ,,
|
||||
31-07-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Python - Web development, ,,
|
||||
01-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks, lightning,,
|
||||
07-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux ricing, discussion,,
|
||||
08-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lambda račun #1, lecture,,
|
||||
14-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux distro, discussion,,
|
||||
15-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Pirati 777 mora, lecture,,
|
||||
21-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Python, workshop,,
|
||||
22-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Autentifikacija na internetu, ,,
|
||||
28-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Podešavanje Mail servera, ,,
|
||||
29-08-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Prevođenje wiki-a, lecture workshop,,
|
||||
04-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
05-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity - phishing, ,,
|
||||
11-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radionica kreativnog pisanja, workshop,,
|
||||
12-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks, lightning,,
|
||||
18-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity - kako početi?, ,,
|
||||
19-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Stop reklamama, discussion,,
|
||||
25-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Email server E02, lecture,,
|
||||
26-09-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lambda račun #2, lecture,,
|
||||
02-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Šamirov algoritam za deljenje tajni, lecture,,
|
||||
03-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
09-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks, lightning,,
|
||||
14-10-2023, 12:00, Matematički Fakultet (učionica 821) https://www.openstreetmap.org/node/4705189523, Linux install day, workshop,,
|
||||
16-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Audio radionica, lecture,,
|
||||
17-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Libreboot, lecture workshop,,
|
||||
23-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Tor, lecture,,
|
||||
24-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Proslava rođendana Decentrale, ,,
|
||||
30-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Rešavanje Rubikove kocke, lecture workshop,,
|
||||
31-10-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Vim, lecture,,
|
||||
06-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
07-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Cybersecurity card game, ,,
|
||||
13-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
14-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u elektroniku #1, lecture workshop, https://forum.dmz.rs/t/uvod-u-elektroniku/342,
|
||||
20-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Git, lecture,,
|
||||
21-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u elektroniku #2, lecture workshop, https://forum.dmz.rs/t/uvod-u-elektroniku/342,
|
||||
27-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Kviz veče, ,,
|
||||
28-11-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u elektroniku #3, lecture workshop, https://forum.dmz.rs/t/uvod-u-elektroniku/342,
|
||||
04-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks, lightning,,
|
||||
05-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Idejno-politička diskusija, discussion,,
|
||||
10-12-2023, 16:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
11-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Home made portable IDS, ,,
|
||||
12-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u elektroniku #4, lecture workshop, https://forum.dmz.rs/t/uvod-u-elektroniku/342,
|
||||
18-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino, lecture workshop, https://forum.dmz.rs/t/arduino-radionica/382,
|
||||
19-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, NetHack video igra, ,,
|
||||
25-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Degoogled phone, ,,
|
||||
26-12-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u elektroniku #5, lecture workshop, https://forum.dmz.rs/t/uvod-u-elektroniku/342,
|
||||
08-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Druženje, ,,
|
||||
09-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Decentrala sysadmin (obuka), ,,
|
||||
15-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon (Task manager), hack,,
|
||||
16-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks, lightning,,
|
||||
22-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Nadzorni Kapitalizam, lecture discussion,,
|
||||
23-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, The Art of Code, movie,,
|
||||
29-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,"Samizdat - izrada zinova,knjiga,slikovnica", ,,
|
||||
30-01-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Intro to 3D printing, lecture,,
|
||||
05-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
06-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
12-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Kompajleri i trojanci, lecture, https://ubavic.rs/kompajleri_i_trojanci/,
|
||||
13-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, AI diskusija, discussion,,
|
||||
19-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Godot game engine, lecture,,
|
||||
20-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Svet van Linuxa, lecture,,
|
||||
26-02-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Veče Video igara (Krovđendan), ,,
|
||||
27-02-2024, 21:00, DC Krov https://www.openstreetmap.org/node/10594728522, Šifrožur (Krovđendan), ,,
|
||||
04-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon, hack,,
|
||||
05-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
09-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin Decentrala obuka, ,,
|
||||
11-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino, workshop, https://forum.dmz.rs/t/arduino-radionica/382,
|
||||
12-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Home made SOC build, ,,
|
||||
18-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Regex, lecture,,
|
||||
19-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u PCB, ,,
|
||||
25-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino, workshop, https://forum.dmz.rs/t/arduino-radionica/382,
|
||||
26-03-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, (La)TeX, lecture,,
|
||||
01-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, La Jetée (1962), movie, https://en.wikipedia.org/wiki/La_Jet%C3%A9e,
|
||||
01-04-2024, 20:00, DC Krov https://www.openstreetmap.org/node/10594728522, Decentrala sastanak (ideološki), meeting,,
|
||||
02-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
02-04-2024, 21:00, DC Krov https://www.openstreetmap.org/node/10594728522, Decentrala sastanak (strateški), meeting,,
|
||||
08-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Teorija čvorova, lecture, https://forum.dmz.rs/t/teorija-cvorova/494,
|
||||
09-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino, workshop, https://forum.dmz.rs/t/arduino-radionica/382,
|
||||
15-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hakaton / Radna akcija, hack,,
|
||||
16-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, HomeMade SoC #2, lecture,,
|
||||
22-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Stencil - šabloni za grafite, workshop,,
|
||||
23-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino, workshop, https://forum.dmz.rs/t/arduino-radionica/382,
|
||||
24-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka (Proxmox VMs i ssh), workshop,,
|
||||
29-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Chat aplikacije, discussion,,
|
||||
30-04-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Mesečna revizija Decentrale, meeting,,
|
||||
30-04-2024, 20:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radna grupa Konferencija, meeting,,
|
||||
06-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka (proxmox instalacija), workshop,,
|
||||
07-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Free software vs open source, lecture,,
|
||||
13-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Alphaville (1965), movie, https://en.wikipedia.org/wiki/Alphaville_(film),
|
||||
14-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
20-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka (ssl cronjob scp), lecture,,
|
||||
21-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hakaton (radna akcija), hack,,
|
||||
27-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Home-made SoC #3, lecture,,
|
||||
28-05-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Mesečna revizija, meeting,,
|
||||
02-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka (ejabberd/xmpp server), workshop,,
|
||||
03-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Pi (1998), movie, https://en.wikipedia.org/wiki/Pi_(film),
|
||||
04-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardverski hakaton, hack,,
|
||||
09-06-2024, 14:00, DC Krov https://www.openstreetmap.org/node/10594728522, Game Jam, hack,,
|
||||
10-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Obrada prirodnih jezika kroz Python, lecture,,
|
||||
11-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Ideološka diskusija, discussion,,
|
||||
17-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Diskusija o P2P mrežama, discussion,,
|
||||
18-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Softverski hakaton, hack,,
|
||||
24-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Home-made SoC #4, lecture,,
|
||||
25-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Mesečna bleja i revizija, meeting,,
|
||||
29-06-2024, 20:00, Dunavski park https://osm.org/go/xf3SLRlmR-, Uticaj tehnologije na prirodu, discussion, https://forum.dmz.rs/t/uticaj-tehnologije-na-prirodu/616,
|
||||
30-06-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka (ldap server/nalozi korisnika), workshop,,
|
||||
01-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, 1984 (1956), movie,,
|
||||
02-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Open-source SoC, lecture,,
|
||||
07-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin obuka: SQL Server, lecture,,
|
||||
08-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
09-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hakaton, hack,,
|
||||
12-07-2024, 15:00, KC Gnezdo https://osm.org/go/xftd8rbl2, Uticaj tehnologije na kulturu, lecture,,
|
||||
14-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Napadi na veštačku inteligenciju, lecture discussion,,
|
||||
29-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, OnionShare, lecture, https://forum.dmz.rs/t/plan-za-jul-2024/612/17?u=mkevac,
|
||||
30-07-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, CryptoPals #1, workshop, https://forum.dmz.rs/t/cryptopals-u-decentrali/620,
|
||||
05-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, CryptoPals #2, workshop, https://forum.dmz.rs/t/cryptopals-u-decentrali/620,
|
||||
06-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Intro to Zig, lecture, https://forum.dmz.rs/t/intro-to-zig-or-30-reasons-you-should-start-using-zig/696,
|
||||
12-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, CryptoPals #3, workshop, https://forum.dmz.rs/t/cryptopals-u-decentrali/620,
|
||||
13-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardware hackathon, hack, https://wiki.dmz.rs/decentrala/dogadjaji/hakaton,
|
||||
15-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, GETÖSEFÖHN, music, https://forum.dmz.rs/t/fwd-gig-in-july-august/626,
|
||||
19-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, CryptoPals #4, workshop, https://forum.dmz.rs/t/cryptopals-u-decentrali/620,
|
||||
20-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Open Street Map, hack, https://forum.dmz.rs/t/hakaton-avgust-2024/682,
|
||||
26-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks,
|
||||
27-08-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vezbe, workshop, https://wiki.dmz.rs/en/sysadmin,
|
||||
02-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Clerks (1994), movie, https://en.wikipedia.org/wiki/Clerks_(film),
|
||||
03-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Python vezbe, workshop, https://radionice.dmz.rs/python/,
|
||||
09-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hakaton, hack, https://wiki.dmz.rs/decentrala/dogadjaji/hakaton,
|
||||
10-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardverski hakaton, hack, https://wiki.dmz.rs/decentrala/dogadjaji/hakaton,
|
||||
14-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Priprema za Dekonferenciju, meeting, https://dmz.rs/deconference,
|
||||
15-09-2024, 11:00, KC Magacin https://www.openstreetmap.org/node/1226456745#map=19/44.81314/20.45378, Dekonferencija, conference, https://dmz.rs/deconference,
|
||||
16-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks,
|
||||
17-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux install day, workshop, https://en.wikipedia.org/wiki/Linux_user_group#Installfests,
|
||||
23-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Linux ricing , workshop, https://excaliburzero.gitbooks.io/an-introduction-to-linux-ricing/content/ricing.html,
|
||||
24-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Strateški sastanak, meeting, https://forum.dmz.rs/t/decentrala-sastanak/13/113,
|
||||
30-09-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u ekonomiju, lecture, https://forum.dmz.rs/t/uvod-u-ekonomiju/719,
|
||||
01-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Jam session, music, https://forum.dmz.rs/t/jam-session/741,
|
||||
04-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Ludum Dare doček teme, meeting, https://forum.dmz.rs/t/ludum-dare-56-game-jam/749/1,
|
||||
05-10-2024, 00:00, DC Krov https://www.openstreetmap.org/node/10594728522, Ludum Dare gamejam, hack, https://forum.dmz.rs/t/ludum-dare-56-game-jam/749/1,
|
||||
06-10-2024, 00:00, DC Krov https://www.openstreetmap.org/node/10594728522, Ludum Dare gamejam, hack, https://forum.dmz.rs/t/ludum-dare-56-game-jam/749/1,
|
||||
07-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Predstavljanje igrica, lecture, https://forum.dmz.rs/t/ludum-dare-56-game-jam/749/1,
|
||||
08-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, In browser dev tools, lecture, https://forum.dmz.rs/t/in-browser-dev-tools-kako-rade-veb-stranice/751,
|
||||
14-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radio hakaton, hack, https://forum.dmz.rs/t/745,
|
||||
15-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, LAN party, party, https://forum.dmz.rs/t/lan-party/126,
|
||||
21-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Algebra - Grupe, lecture, https://forum.dmz.rs/t/746,
|
||||
22-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vežbe, workshop, https://wiki.dmz.rs/en/sysadmin,
|
||||
28-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardverski hakaton, hack, https://wiki.dmz.rs/en/decentrala/dogadjaji/hakaton,
|
||||
29-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radionica lemljenja, workshop, https://forum.dmz.rs/t/lemljenje/777/1,
|
||||
30-10-2024, 18:00, Matematički fakultet (Učionica 251) https://www.openstreetmap.org/node/12291697569, Linux install day, workshop, https://forum.dmz.rs/t/linux-install-day/803,
|
||||
4-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vežbe, workshop, https://wiki.dmz.rs/en/sysadmin,
|
||||
5-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, SYSTEMD - da/ne/zašto ne i alternative, lecture, https://forum.dmz.rs/t/plan-za-novembar-2024/785/4,
|
||||
11-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks,
|
||||
12-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Dont be afraid of pointers, lecture, https://forum.dmz.rs/t/ne-boj-se-pointera-dont-be-afraid-of-pointers-predavanje/807,
|
||||
13-11-2024, 18:00, Matematički fakultet (Učionica 153) https://www.openstreetmap.org/node/12291697569, Makefiles (en), lecture,,
|
||||
18-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Intro to Security Auditing, lecture,,
|
||||
19-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, LAN party, party, https://forum.dmz.rs/t/lan-party/126,
|
||||
20-11-2024, 18:00, Matematički fakultet (Učionica 153) https://www.openstreetmap.org/node/12291697569, 30 reasons to use Zig, lecture, https://forum.dmz.rs/t/intro-to-zig-or-30-reasons-you-should-start-using-zig/696,
|
||||
25-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardverski Hackaton, hack, https://wiki.dmz.rs/en/decentrala/dogadjaji/hakaton,
|
||||
26-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Tiny Keyboards Explained - 28 keys are enough, lecture,,
|
||||
27-11-2024, 18:00, Matematički fakultet (Učionica 153) https://www.openstreetmap.org/node/12291697569, OpenGL šejderi #1: Osnove, lecture,,
|
||||
02-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks,
|
||||
03-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vežbe, workshop, https://wiki.dmz.rs/en/sysadmin,
|
||||
04-12-2024, 18:00, Matematički fakultet (Učionica 153) https://www.openstreetmap.org/node/12291697569, OpenGL šejderi #2: SDF renderovanje, lecture,,
|
||||
09-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Ne treba nam (toliko) Javascript, lecture,,
|
||||
10-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Creating Interactive Fiction with TADS (en), lecture,,
|
||||
11-12-2024, 18:00, DC Krov https://www.openstreetmap.org/node/10594728522, OpenGL šejderi #3: Kompleksna analiza, lecture,,
|
||||
16-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Softverski hakaton, hack, https://wiki.dmz.rs/decentrala/dogadjaji/hakaton,
|
||||
17-12-2024, 18:00, DC Krov https://www.openstreetmap.org/node/10594728522, Verifiable Computing Project - Truly Open Source Hardware (en), lecture, https://forum.dmz.rs/t/plan-za-decembar-2024/815/29,
|
||||
17-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardverski hakaton, hack, https://forum.dmz.rs/t/hardware-hackathon-novembar/832,
|
||||
18-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Git basics (en), lecture,,
|
||||
23-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Osnove Elektrotehnike (OET), lecture,,
|
||||
24-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Praznicno-novogodisnji izazov u kodiranju 2024, hack,,
|
||||
13-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
14-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hardware hackathon, hack, https://wiki.dmz.rs/decentrala/dogadjaji/hakaton,
|
||||
20-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Parser combinators (Haskel introduction hard way), lecture,,
|
||||
21-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vežbe, workshop, https://wiki.dmz.rs/en/sysadmin,
|
||||
27-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Svet van linuxa, lecture,,
|
||||
28-01-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, OpenStreetMap editovanje, meeting, https://osmcal.org/event/3355/,
|
||||
03-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Gaming audio, lecture,,
|
||||
04-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Guitar pedals, lecture workshop,,
|
||||
10-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
11-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, TIC-80 gamejam, hack, https://forum.dmz.rs/t/tic-80-game-jam/946,
|
||||
17-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin radionica, workshop,,
|
||||
18-02-2025, 20:00, DC Krov https://www.openstreetmap.org/node/10594728522, Tumbleweed board game implementation (Rust/MCTS/GGEZ), lecture,,
|
||||
24-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Idejno-politička diskusija, discussion,,
|
||||
25-02-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Intro to 3d printing, lecture,,
|
||||
4-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Nadzor na radnom mestu - predavanje i razgovor,,,
|
||||
10-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lightning,,
|
||||
11-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, LAN Party, party,,
|
||||
17-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Home made IDS - Clear NDR community edition, workshop,,
|
||||
18-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radna akcija, hack,,
|
||||
24-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Decentrilized storage, lecture,,
|
||||
25-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin radionica, workshop,,
|
||||
31-03-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Mesečni pregled decentrale, meeting,,
|
||||
1-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Popravka racunara/hardwera, workshop,,
|
||||
7-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Tasks overview (soft/fixme), workshop,,
|
||||
8-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Selfhosting - basics, lecture,,
|
||||
14-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin radionica, workshop, ,
|
||||
15-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, lightning talks,lecture workshop, ,
|
||||
21-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, LAN party, party, ,
|
||||
22-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Network IDS, lecture,,
|
||||
28-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Arduino radionica - ekrani, workshop,,
|
||||
29-04-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Revizija meseca decentrale, meeting,,
|
||||
05-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Standalone gamedev u gzdoom-u,workshop,,
|
||||
06-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Degoogled phone radionica - custom ROM,workshop,,
|
||||
12-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Zašto Golang?,lecture,,
|
||||
13-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Prosvećeni humanizam,lecture,,
|
||||
19-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Embedded rust na esp32 mikrokontroleru,lecture,,
|
||||
20-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,LAN party,party,,
|
||||
26-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
27-05-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
02-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Razgovor o moderaciji,discussion,,
|
||||
03-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Uvod u Radio-amaterizam,lecture,,
|
||||
09-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Terminal lightning talks,lightning,,
|
||||
10-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
16-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Introduction to x86,lecture,,
|
||||
17-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,The Plan 9 Operating System,lecture,,
|
||||
23-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
24-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Malware forensics,workshop,,
|
||||
30-06-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Hardverski hakaton,hack,,
|
||||
01-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Lan party,party,,
|
||||
07-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Nevinost bez zaštite (1942),movie,,
|
||||
08-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,OverTheWire: Bandit,workshop,,
|
||||
14-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
15-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,LLMs,lecture,,
|
||||
21-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Technotise: Edit & I,movie,,
|
||||
22-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
28-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Hardverski hakaton,hack,,
|
||||
29-07-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Terminal lightning talks,lightning,,
|
||||
04-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,OpenWRT radionica,workshop,,
|
||||
05-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Mobile phones radionica,workshop,,
|
||||
11-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,The Luddites (1988),movie,,
|
||||
12-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Software hackaton, workshop,,
|
||||
18-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Diskusija - transparentnost plata na poslu,discussion,,
|
||||
19-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Hardwarski hackaton, workshop,,
|
||||
25-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin Radionica, workshop,,
|
||||
26-08-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
01-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Podrska protesta,meeting,,
|
||||
02-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,LAN party, party,,
|
||||
08-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Hardverski hakaton - lab fix,workshop,,
|
||||
09-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Idejno-politicka diskusija,discussion,,
|
||||
15-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,GZdoom engine,lecture, ,
|
||||
16-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
22-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Web dev in Go,lecture,,
|
||||
23-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,CTF,workshop,,
|
||||
29-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Software hackaton, workshop,,
|
||||
30-09-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Linux ricing,lightning,,
|
||||
06-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Zaljubljeni u vatru (2024),movie,,
|
||||
07-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
13-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Anatomija DIY FPV letelica,lecture,,
|
||||
14-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,lightning talks,lightning,,
|
||||
20-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Boja,lecture,,
|
||||
21-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Decentrala sastanak,meeting,,
|
||||
27-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Atomske CPU instrukcije,lecture,,
|
||||
28-10-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,3D printing,lecture,,
|
||||
03-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
04-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Atomske CPU instrukcije,lecture,,
|
||||
10-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,LAN party,party,,
|
||||
11-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Decentrala sastanak,meeting,,
|
||||
17-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Radionica promocije Decentrale,workshop,,
|
||||
18-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Uvod u kriptografiju,lecture,,
|
||||
22-11-2025, 10:00, Beogradjanka - Vidikovac coworking https://osm.org/go/xf3F43F6N?way=31804563,Zig day Belgrade,conference,https://zig.day/europe/belgrade/,
|
||||
24-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Radionica kantena,workshop,,
|
||||
25-11-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Reed-Solomon error correction codes,lecture,,
|
||||
01-12-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Sysadmin radionica,workshop,,
|
||||
02-12-2025, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,lightning talks,lightning,,
|
||||
08-12-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Decentrala sastanak,meeting,,
|
||||
09-12-2025, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Linux install fest,workshop,https://dmz.rs/lif2025,
|
||||
15-12-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,PCB DIY,lecture,,
|
||||
16-12-2025, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Uvod u Linux komandnu liniju,lecture,,
|
||||
22-12-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Radio uredjaji koriscenje - letovanje - flashovanje, workshop,,
|
||||
23-12-2025, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Uvod u Git,lecture,,
|
||||
29-12-2025, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Software hackaton, workshop,,
|
||||
30-12-2025, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Mesečna revizija Decentrale, meeting,,
|
||||
05-01-2026, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Hardverski hackaton,workshop,,
|
||||
06-01-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Softverski hackaton,workshop,,
|
||||
12-01-2026, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Pakovanje/selidba,workshop,,
|
||||
13-01-2026, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522,Pakovanje/selidba,workshop,,
|
||||
19-01-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,
|
||||
20-01-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,lightning talks,lightning,,
|
||||
26-01-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,LAN party,party,,
|
||||
27-01-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Mesecna revizija decentrale,discussion,,
|
||||
01-02-2026, 14:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Decentrala introduction,lecture,,
|
||||
02-02-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sređivanje inventara,workshop,,
|
||||
03-02-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Libreboot radionica,workshop,,
|
||||
09-02-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sređivanje inventara,workshop,,
|
||||
10-02-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Lightning talks,lightning,,
|
||||
16-02-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,
|
||||
17-02-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Mesečna revizija Decentrale,meeting,,
|
||||
23-02-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,
|
||||
24-02-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Decentrala sastanak,meeting,,
|
||||
02-03-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
|
||||
03-03-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Sysadmin radionica,workshop,,Sysadmin workshop
|
||||
09-03-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,DIY PCB with 3D printer,workshop,,
|
||||
10-03-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Lightning talks,,,
|
||||
16-03-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,LLM@home,lecture,https://forum.dmz.rs/t/plan-za-mart-2026/1498/2,
|
||||
17-03-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,"Šifrozur, PKCS11",party,,"Cryptoparty, PKCS11"
|
||||
23-03-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Voltage glitching radionica,workshop,,Voltage glitching workshop
|
||||
24-03-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Uvod u nuklearnu energiju 0,lecture,https://forum.dmz.rs/t/plan-za-mart-2026/1498/4,Intro to nuclear enenergy 0
|
||||
30-03-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Reed-Solomon error correction codes,lecture,,
|
||||
31-03-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Uvod u nuklearnu energiju 1,lecture,https://forum.dmz.rs/t/plan-za-mart-2026/1498/4,Intro to nuclear enenergy 1
|
||||
06-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
|
||||
07-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Linux ricing,lightning,,Linux ricing
|
||||
13-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Reverse engineering,workshop,,Reverse engineering
|
||||
14-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Lightning talks,lightning,,Lightning talks
|
||||
20-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OverTheWire (Bandit),workshop,https://forum.dmz.rs/t/overthewire-bandit-1-14/1196,OverTheWire (Bandit)
|
||||
21-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Discussion about money,discussion,,Discussion about money
|
||||
27-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OSM contributing,lecture,,OSM contributing
|
||||
28-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Decentrala sastanak,meeting,https://forum.dmz.rs/t/decentrala-sastanak/13/221,Decentrala meeting
|
||||
04-05-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
|
||||
05-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,Idejno-politicka diskusija,discussion,,Ideological-political discussion
|
||||
11-05-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Hardware hackathon,workshop,,Hardware hackathon
|
||||
12-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,OpenSCAD,lecture,,OpenSCAD
|
||||
18-05-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OverTheWire (Bandit),workshop,https://forum.dmz.rs/t/overthewire-bandit-1-14/1196,OverTheWire (Bandit)
|
||||
19-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,Film: The Seventh Seal (1957),movie,,Movie: The Seventh Seal (1957)
|
||||
25-05-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Reverse engineering,workshop,,Reverse engineering
|
||||
26-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,Film: TPB-AFK (2013),movie,,Movie: TPB-AFK (2013)
|
||||
|
||||
|
198
image_poster.py
Executable file
@@ -0,0 +1,198 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import io
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
import csv
|
||||
import datetime as dt
|
||||
from dateutil import relativedelta
|
||||
from cairosvg import svg2png
|
||||
|
||||
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")
|
||||
DAYS_OF_WEEK_EN = ("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUn")
|
||||
|
||||
MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul",
|
||||
"Avgust", "Septembar", "Oktobar", "Novembar", "Decembar")
|
||||
MONTHS_EN = ("January", "February", "March", "April", "May", "June", "July",
|
||||
"August", "September", "October", "November", "December")
|
||||
|
||||
HEADER_SR = "Plan za {}"
|
||||
|
||||
SUBHEADER_SR = """
|
||||
Ponedeljak u 19h u XECUT Jovana Ćirilova 15
|
||||
Utorak u 18h u JAG3 Vatroslava Jagića 5
|
||||
Svi dogadjaji su uvek besplatni
|
||||
"""
|
||||
HEADER_EN = "Plan for {}"
|
||||
|
||||
SUBHEADER_EN = """
|
||||
Mondays at 19h at XECUT Jovana Ćirilova 15
|
||||
Tuesdays at 18h at JAG3 Vatroslava Jagića 5
|
||||
All events are always free
|
||||
"""
|
||||
|
||||
|
||||
def parseArgs(parser):
|
||||
"""
|
||||
Parse all arguments and return the list of argument values
|
||||
"""
|
||||
parser.add_argument("month", metavar="MM",
|
||||
help="two digit number representing the month for which to generate poster", default="empty", nargs="?")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def load_events(csv_path: str, month: int) -> list[dict]:
|
||||
monthafter = month + relativedelta.relativedelta(months=1, day=1)
|
||||
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]
|
||||
event_title_en = event[3]
|
||||
if len(event) > 6:
|
||||
event_title_en = event[6]
|
||||
|
||||
current_event = {"date": event_date_parsed,
|
||||
"time": event_time,
|
||||
"title": event_title.strip(),
|
||||
"title_en": event_title_en.strip()}
|
||||
if event_date_parsed >= month and event_date_parsed < monthafter:
|
||||
events.append(current_event)
|
||||
return events
|
||||
|
||||
|
||||
def drawMesh(draw, img, fg, bg, font, W, H):
|
||||
def drawCircle(x, y):
|
||||
r = 50
|
||||
draw.ellipse((x - r, y - r, x + r, y+r),
|
||||
fill=fg, outline=(0, 0, 0), width=0)
|
||||
|
||||
LCX = 415 # logo center x
|
||||
LCY = 4350 # logo center y
|
||||
d = 190 # delta
|
||||
drawCircle(LCX - d, LCY)
|
||||
drawCircle(LCX, LCY)
|
||||
drawCircle(LCX, LCY - d)
|
||||
drawCircle(LCX, LCY + d)
|
||||
drawCircle(LCX + d, LCY)
|
||||
|
||||
draw.line([(LCX - d, LCY), (LCX + d, LCY)], fill=fg, width=20, joint=None)
|
||||
draw.line([(LCX, LCY), (LCX, LCY + d), (LCX + d, LCY),
|
||||
(LCX, LCY - d)], fill=fg, width=20, joint=None)
|
||||
draw.text((LCX - 1.7*d, LCY + 1.5*d), "dmz.rs", font=font, fill=fg)
|
||||
|
||||
mesh_svg = svg2png(url='site/img/mesh-light.svg')
|
||||
mesh_svg_bytes = io.BytesIO(mesh_svg)
|
||||
mesh_img = Image.open(mesh_svg_bytes)
|
||||
if bg == (0, 0, 0):
|
||||
pixdata = mesh_img.load()
|
||||
for y in range(mesh_img.size[1]):
|
||||
for x in range(mesh_img.size[0]):
|
||||
if pixdata[x, y] != (0, 0, 0, 0):
|
||||
pixdata[x, y] = (0, 100, 0, 255)
|
||||
|
||||
mesh_img = mesh_img.resize((W, H))
|
||||
mesh_img.thumbnail((W, H), Image.Resampling.LANCZOS)
|
||||
|
||||
mesh_w, mesh_h = mesh_img.size
|
||||
mesh_position = (W - mesh_w, H - mesh_h)
|
||||
img.paste(mesh_img, mesh_position, mesh_img)
|
||||
|
||||
|
||||
def drawPoster(events, bg, fg, month: int, en: bool):
|
||||
fontFacade = ImageFont.truetype('./site/font/Facade-Sud.woff', size=365)
|
||||
fontIosevka = ImageFont.truetype(
|
||||
'./site/font/iosevka-regular.woff', size=200)
|
||||
fontIosevkaSmall = ImageFont.truetype(
|
||||
'./site/font/iosevka-regular.woff', size=150)
|
||||
|
||||
W = 3508
|
||||
H = 4960
|
||||
img = Image.new('RGB', (W, H), bg)
|
||||
draw = ImageDraw.Draw(img)
|
||||
|
||||
drawMesh(draw, img, fg, bg, fontIosevka, W, H)
|
||||
|
||||
title = "DECENTRALA"
|
||||
_, _, w, _ = draw.textbbox((0, 0), title, font=fontFacade)
|
||||
draw.text(((W-w)/2, 165), title, font=fontFacade, fill=fg)
|
||||
|
||||
header = HEADER_EN if en else HEADER_SR
|
||||
months = MONTHS_EN if en else MONTHS_SR
|
||||
header = header.format(months[month.month - 1])
|
||||
|
||||
_, _, w, _ = draw.textbbox((0, 0), header, font=fontIosevka)
|
||||
draw.text(((W-w)/2, 560), header, font=fontIosevka, fill=fg)
|
||||
|
||||
height = 890
|
||||
|
||||
sub_header = SUBHEADER_EN if en else SUBHEADER_SR
|
||||
draw.text((165, height), sub_header,
|
||||
font=fontIosevkaSmall, fill=fg)
|
||||
height += 800
|
||||
|
||||
# Write list of events to sperate text file as well
|
||||
textfile = open(f"poster{"_en" if en else ""}.txt", "w")
|
||||
|
||||
sub_header = SUBHEADER_EN if en else SUBHEADER_SR
|
||||
textfile.write(sub_header.format(months[month.month - 1]))
|
||||
|
||||
days_of_week = DAYS_OF_WEEK_EN if en else DAYS_OF_WEEK_SR
|
||||
# Loop to write events both to poster image and text file
|
||||
for event in events:
|
||||
|
||||
# Add event to image poster
|
||||
date = days_of_week[event["date"].weekday()]
|
||||
day = event["date"].day
|
||||
title = event["title_en"] if en else event["title"]
|
||||
pad = " " if event["date"].day < 10 else ""
|
||||
eventText = f"{date} {day}. {pad}{title}"
|
||||
draw.text((165, height), eventText, font=fontIosevkaSmall, fill=fg)
|
||||
height += 200
|
||||
|
||||
# Add event to textfile
|
||||
textfile.write(eventText + "\n")
|
||||
|
||||
textfile.close()
|
||||
|
||||
return img
|
||||
|
||||
|
||||
def main():
|
||||
# Parse arguments
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Generate images of the poster")
|
||||
args = parseArgs(parser)
|
||||
|
||||
# Set month based on user input
|
||||
month = NEXT_MONTH
|
||||
if args.month.isdigit():
|
||||
month = dt.date(CURRENT_TIME.year, int(args.month), 1)
|
||||
elif args.month != "empty":
|
||||
print("Month has to be specified as a number. I will use next month as the default")
|
||||
|
||||
# Load events and draw a poseter
|
||||
events = load_events("dogadjaji.csv", month)
|
||||
|
||||
img = drawPoster(events, (0, 0, 0), (20, 250, 50), month, False)
|
||||
img.save('poster_dark.png')
|
||||
|
||||
img = drawPoster(events, (255, 255, 255), (0, 0, 0), month, False)
|
||||
img.save('poster_light.png')
|
||||
|
||||
img = drawPoster(events, (0, 0, 0), (20, 250, 50), month, True)
|
||||
img.save('poster_dark_en.png')
|
||||
|
||||
img = drawPoster(events, (255, 255, 255), (0, 0, 0), month, True)
|
||||
img.save('poster_light_en.png')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -4,6 +4,7 @@ events {}
|
||||
|
||||
http {
|
||||
# edit this for your system
|
||||
types_hash_bucket_size 128;
|
||||
include /etc/nginx/mime.types;
|
||||
|
||||
server {
|
||||
@@ -20,4 +21,4 @@ http {
|
||||
try_files $uri $uri.html /$uri/index.html /index.html;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
17
pages/en/about.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<h1>About us</h1>
|
||||
<dl>
|
||||
<dt>Statute:</dt>
|
||||
<dd>
|
||||
We make decisions by direct democracy. Our statute can be found at
|
||||
<a href="/en/statute"> statute page</a>
|
||||
</dd>
|
||||
|
||||
<dt>Contact:</dt>
|
||||
<dd>
|
||||
You can send mail to <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> or you can
|
||||
register on <a href="https://forum.dmz.rs">our Forum</a>. Also, we are
|
||||
available on the
|
||||
<a href="https://balkan.fedive.rs/@decentrala">Fediverse!</a>
|
||||
If you find a bug on the site, please do tell us. We would be very grateful.
|
||||
</dd>
|
||||
</dl>
|
||||
26
pages/en/account.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<h1>Account</h1>
|
||||
<p>
|
||||
If you have created an account on dmz.rs, you can use our XMPP and e-mail
|
||||
server, as well as other services that support LDAP login.
|
||||
</p>
|
||||
<p>
|
||||
For more on XMPP see
|
||||
<a href="https://wiki.dmz.rs/en/tutorial/conversations">this tutorial</a>.
|
||||
</p>
|
||||
<p>
|
||||
You can see settings for the
|
||||
<a href="https://www.thunderbird.net">Thunderbird</a> mail client on this
|
||||
<a href="/img/mailsettings.png">image</a>.
|
||||
</p>
|
||||
|
||||
<div class="auth-wrap">
|
||||
<p>
|
||||
<a href="/account/register/">Register</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="/account/unregister/">Delete account</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="/account/changepassword/">Change password</a>
|
||||
</p>
|
||||
</div>
|
||||
2
pages/en/blog.html
Normal file
@@ -0,0 +1,2 @@
|
||||
Ova stranica je trenutno u izradi...
|
||||
|
||||
95
pages/en/deconference.html
Normal file
@@ -0,0 +1,95 @@
|
||||
<h1>Deconference</h1>
|
||||
|
||||
<h2 id="program"><a href="#program">Program</a></h2>
|
||||
<p>11:00 Otvaranje</p>
|
||||
<p></p>
|
||||
<p>
|
||||
12:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p></p>
|
||||
<p>
|
||||
14:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/hakaton">Hakaton</a>
|
||||
</p>
|
||||
<p></p>
|
||||
<p>
|
||||
16:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/lightningtalks"
|
||||
>Lightning talks</a
|
||||
>
|
||||
</p>
|
||||
<p></p>
|
||||
<p>18:00 Diskusije</p>
|
||||
<p></p>
|
||||
<p>
|
||||
20:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p></p>
|
||||
<p>22:00 Kraj</p>
|
||||
<p></p>
|
||||
|
||||
<h2 id="what"><a href="#what">What?</a></h2>
|
||||
<p>
|
||||
Deconference is the inaugural conference organized by
|
||||
<a href="https://dmz.rs">Decentrala</a>, a Belgrade hackerspace. It serves as
|
||||
a platform for individuals to present and discuss ideas related to
|
||||
decentralization in all its forms.
|
||||
</p>
|
||||
|
||||
<h2 id="when-and-where"><a href="#when-and-where">When & Where?</a></h2>
|
||||
<p>
|
||||
Deconference will take place all day on Sunday, September 15, 2024, at
|
||||
Cultural Center Magacin, located at
|
||||
<a href="https://osm.org/go/xf3Fz31te?node=1226456745"
|
||||
>Kraljevića Marka 4-8, Belgrade</a
|
||||
>. The evening prior, a social gathering will be hosted at
|
||||
<a href="https://dckrov.rs/">Community Center Krov</a>, located at
|
||||
<a href="https://osm.org/go/xf3HQQdIH">Kraljice Marije 47, Belgrade</a>.
|
||||
</p>
|
||||
|
||||
<h2 id="why"><a href="#why">Why?</a></h2>
|
||||
|
||||
<p>
|
||||
Decentrala was founded by a small group of enthusiasts united by the idea of
|
||||
technological decentralization. Over the past year and a half, we've organized
|
||||
over 160 events—lectures, workshops, discussions, hackathons—aimed at
|
||||
democratizing technological knowledge and educating people about privacy, open
|
||||
source principles, the right to repair (and how to repair), digital assets,
|
||||
and usage rights. Since day one, our approach has been to inform individuals
|
||||
about alternatives rather than impose opinions upon them.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Through engaging with diverse visitors, many from non-technical backgrounds,
|
||||
we've come to realize that decentralization encompasses more than just "open
|
||||
technology." Many activists and organizations today advocate for various forms
|
||||
of decentralization. Therefore, we welcome stories about decentralization from
|
||||
diverse perspectives.
|
||||
</p>
|
||||
|
||||
<h2 id="who"><a href="#who">Who?</a></h2>
|
||||
|
||||
<p>
|
||||
Deconference is an open platform for anyone interested in discussing,
|
||||
demonstrating, or exploring decentralization. You can register your event by
|
||||
emailing <a href="mailto:dekonferencija@dmz.rs">dekonferencija@dmz.rs</a> up
|
||||
until the day of the Deconference (September 15).
|
||||
</p>
|
||||
|
||||
<p>We will update this section as topics are confirmed.</p>
|
||||
|
||||
<h2 id="how"><a href="#how">How?</a></h2>
|
||||
|
||||
<p>
|
||||
The Deconference is funded by the organizers' private assets. Like all of
|
||||
Decentrala's activities, Deconference is free for all attendees.
|
||||
Unfortunately, we are unable to provide grants to lecturers or presenters.
|
||||
</p>
|
||||
|
||||
<p>Decentrala accepts donations exclusively from individuals.</p>
|
||||
68
pages/en/index.html
Normal file
@@ -0,0 +1,68 @@
|
||||
<h1>Welcome!</h1>
|
||||
<p>
|
||||
We are <em>Decentrala</em> - a group of enthusiasts gathered around the idea
|
||||
of decentralization and knowledge sharing. Here are some more facts about us:
|
||||
</p>
|
||||
<dl>
|
||||
<dt>Motivation:</dt>
|
||||
<dd>
|
||||
Decentralization promotes
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#odrzivost"
|
||||
>sustainability</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#dostupnost"
|
||||
>availability</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#pristupacnost"
|
||||
>accesibility</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#nezavisnost"
|
||||
>autonomy</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#privatnost"
|
||||
>privacy</a
|
||||
>
|
||||
and
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#sloboda"
|
||||
>freedom</a
|
||||
>. On those networks we have less
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#manipulacija"
|
||||
>manipulation</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#propaganda"
|
||||
>propaganda</a
|
||||
>, ads, and
|
||||
<a
|
||||
href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#neopterecenost-paznje-sporednim-stvarima"
|
||||
>
|
||||
are not designed to lock your attention (dumbing down)
|
||||
</a>
|
||||
.
|
||||
<a href="https://forum.dmz.rs/t/zasto-nam-je-decentralizacija-bitna/506/1">
|
||||
Tell us why decentralization is important to you
|
||||
</a>
|
||||
</dd>
|
||||
<dt>Knowledge:</dt>
|
||||
<dd>
|
||||
All our workshops are free and open to everyone. Also, if you have something
|
||||
to share, feel free to announce the event on the
|
||||
<a href="https://forum.dmz.rs">Forum</a>.
|
||||
</dd>
|
||||
<dt>Actions:</dt>
|
||||
<dd>
|
||||
From time to time we organize actions, hackathons, crypto parties,
|
||||
exhibitions, etc.
|
||||
</dd>
|
||||
<dt>Services:</dt>
|
||||
<dd>
|
||||
Our servers run various services (like e-mail, git, wiki, etc...) that are
|
||||
open to everyone.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
If you are still interested, you can create an
|
||||
<a href="/en/account">account</a> on our server which will enable the use of
|
||||
all our <a href="/en/services">services</a>. If you want to see first how it
|
||||
all looks, you can come to one of our <a href="/en/events">event</a>, and meet
|
||||
us there!
|
||||
</p>
|
||||
1
pages/en/projects.html
Normal file
@@ -0,0 +1 @@
|
||||
Ova stranica je trenutno u izradi...
|
||||
91
pages/en/services.html
Normal file
@@ -0,0 +1,91 @@
|
||||
<h1>Services</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Service</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/account">E-mail</a></td>
|
||||
<td>
|
||||
E-mail account that you can use with any e-mail client (for example, with
|
||||
the <a href="https://www.thunderbird.net/">Thunderbird</a>).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://forum.dmz.rs/">Forum</a></td>
|
||||
<td>
|
||||
Forum for general discussion and <a href="/events">event</a> organization.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/account">Chat</a></td>
|
||||
<td>
|
||||
We have our XMPP server, on which you can make an account. If you already
|
||||
have an account, you can find us at group
|
||||
<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> instance on which we host our
|
||||
code and resources (including the code for this site).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://wiki.dmz.rs/">Wiki</a></td>
|
||||
<td>
|
||||
<a href="https://js.wiki/">Wiki.js</a> instance on which we publish
|
||||
documentation for our projects, <a href="/events">events</a> resources,
|
||||
and tutorials.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://jitsi.dmz.rs/">Jitsi</a></td>
|
||||
<td>
|
||||
<a href="https://jitsi.org/">Jitsi.org</a> meeting app, conferences, group
|
||||
video calls, online events, alternative to zoom.
|
||||
</td>
|
||||
</tr>
|
||||
<!--<tr>
|
||||
<!--<tr>
|
||||
<td><a href="https://nextcloud.dmz.rs/">Nextcloud</a></td>
|
||||
<td><a href="https://nextcloud.com/">Nextcloud</a> instance on which we organize tasks we need to do and use as calandar.
|
||||
</td>
|
||||
</tr>-->
|
||||
<!--<tr>
|
||||
<td><a href="https://cryptpad.dmz.rs/">CryptPad</a></td>
|
||||
<td>
|
||||
<a href="https://cryptpad.org/">CryptPad</a> alternative to google office
|
||||
</td>
|
||||
</tr>-->
|
||||
<!--<tr>
|
||||
<tr>
|
||||
<td><a href="https://search.dmz.rs/">Search</a></td>
|
||||
<td>
|
||||
<a href="https://github.com/searxng/searxg/">SearXNG</a> instance used for
|
||||
Web searching.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://pastebin.dmz.rs/">Pastebin</a></td>
|
||||
<td>
|
||||
<a href="https://privatebin.info/">PrivateBin</a> instance we use for
|
||||
sharing text files
|
||||
</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>
|
||||
instance that we use as a replacement for the Gitea service. Soft Serve
|
||||
works entirely from the terminal.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
These are some of the services we currently maintain on our servers. To use
|
||||
these services, you can register for each service separately, or you can
|
||||
create a unique <a href="/en/account">account</a>
|
||||
on our server and use all services with the same account.
|
||||
</p>
|
||||
77
pages/en/statute.html
Normal file
@@ -0,0 +1,77 @@
|
||||
<h1>Statute</h1>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
Decentrala is a community, united around the principles of decentralized
|
||||
technology and the spreading of knowledge.
|
||||
</p>
|
||||
<div class="values">
|
||||
<label>Our key values include:</label>
|
||||
<ul>
|
||||
<li>Equal access to technology</li>
|
||||
<li>Free and open source software</li>
|
||||
<li>Privacy and security</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>
|
||||
Donations are accepted only from individuals, with no conditions or
|
||||
obligations.
|
||||
</p>
|
||||
<p>Only open-source services are hosted on the Decentrala infrastructure.</p>
|
||||
<p>Parts of the statute can be defined immutable, and cannot be voted on.</p>
|
||||
<p>
|
||||
Every member or group has the right to act in the name of Decentrala, if
|
||||
their initiatives align with Decentrala's goals and statute, as long as
|
||||
their events are announced and explained on Decentrala's public digital
|
||||
communication channels.
|
||||
</p>
|
||||
<p>
|
||||
Decentrala rules and statutes are decided independently by a voting body
|
||||
that makes decisions on the principles of direct democracy, consensus, or by
|
||||
a simple majority of two-thirds of the total number of collective members.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2>Voting Body</h2>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
Membership applications are accepted only if two-thirds of attending members
|
||||
vote in favor.
|
||||
</p>
|
||||
<p>Only members who are physically present have the right to vote.</p>
|
||||
<p>There is no limit on the number of members of the voting body.</p>
|
||||
<p>
|
||||
An individual may withdraw from the union at any time, or may be expelled by
|
||||
a two-thirds majority of present members.
|
||||
</p>
|
||||
<p>
|
||||
If a member of a voting body is absent during three consecutive meetings,
|
||||
they are automatically excluded from the voting body.
|
||||
</p>
|
||||
<p>
|
||||
A member can be re-admitted to the governing body according to the
|
||||
predefined procedure for adding new members, if they are present at that
|
||||
meeting.
|
||||
</p>
|
||||
<p>
|
||||
The current members of the voting body are using pseudonyms malin, coja,
|
||||
bora, mad3v, txrpe, euffrat, netstat.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2>Meetings</h2>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
The vote of the polling body is valid if at least three members of the
|
||||
polling body are present.
|
||||
</p>
|
||||
<p>
|
||||
The meeting time and place of the Decentral Assembly must be announced at
|
||||
least seven days in advance of the meeting on the Decentrala's forum.
|
||||
</p>
|
||||
<p>
|
||||
The voting body's session should be held at least once every two months.
|
||||
</p>
|
||||
</div>
|
||||
39
pages/en/support.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<h1>Support</h1>
|
||||
<dd>
|
||||
<p>
|
||||
Decentrala accepts donations exclusively from the natural person and without
|
||||
any obligations. We are independent and we try to keep it that way.
|
||||
</p>
|
||||
<p>
|
||||
We accept old hardware (laptops, phones, PC components), which we would fix
|
||||
and find a use for it in Decentrala or donate to people in need
|
||||
(permacomputing).
|
||||
</p>
|
||||
<p>
|
||||
Support can also be by contributing to our
|
||||
<a href="https://wiki.dmz.rs" target="_blank">wiki</a> page, projects on
|
||||
<a href="https://gitea.dmz.rs" target="_blank">gitea</a>, writing
|
||||
documentation, reporting and/or fixing bugs, typos, translations, etc.
|
||||
</p>
|
||||
<p>
|
||||
If you aqure some kind of knowldege you would like to share with the
|
||||
Decentrala's participants, you can do it as a forum post, wiki page, or
|
||||
participate in one of our events, probably host one.
|
||||
</p>
|
||||
<p>
|
||||
By simply using services we are hosting, conts as contributing, because in
|
||||
that way you joining the decetralization.
|
||||
</p>
|
||||
<p>
|
||||
Also, we accept donations in bitcoin and monero to the following addresses:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
||||
<!-- <li>
|
||||
Monero:
|
||||
<i
|
||||
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
||||
>
|
||||
</li> -->
|
||||
</ul>
|
||||
</dd>
|
||||
6
pages/en/webring.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<h1>Webring</h1>
|
||||
<ul>
|
||||
<li><a href="https://pionir.org">Pionir school</a></li>
|
||||
<li><a href="https://tilda.center">Tilda Center</a></li>
|
||||
<li><a href="https://xecut.me/">Xecut</a></li>
|
||||
</ul>
|
||||
23
pages/sr/about.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<h1>O nama</h1>
|
||||
<dl>
|
||||
<dt>Statut:</dt>
|
||||
<dd>
|
||||
Sve odluke se donose po principu direktne demokratije. Nas statut mozete
|
||||
pogledati na <a href="/statute">stranici za statut</a>.
|
||||
</dd>
|
||||
|
||||
<dt>Kontakt:</dt>
|
||||
<dd>
|
||||
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>.
|
||||
</dd>
|
||||
<dd>
|
||||
Takođe smo dostupni i na
|
||||
<a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a>
|
||||
</dd>
|
||||
<dd>
|
||||
U slučaju da pronađeš <em>bug</em> na sajtu, bili bismo ti jako zahvalni ako
|
||||
nam ga prijaviš.
|
||||
</dd>
|
||||
</dl>
|
||||
@@ -1,7 +1,22 @@
|
||||
<p> Ako ste napravili nalog na dmz.rs mozete koristi nas xmpp i email server i ostale servise koji podrzavaju LDAP login. <p>
|
||||
<p> Za vise o XMPP pogledajte <a href="https://wiki.dmz.rs/en/tutorial/conversations">tutorial</a>. <p>
|
||||
<p> Za primer podesavanja na <a href="https://thunderbird.org">Thundebird</a> mail klijentu mozete pogledati <a href="/img/mailsettings.png">sliku</a>. <p>
|
||||
<h1>Nalog</h1>
|
||||
<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-srpski">tutorial</a>.
|
||||
</p>
|
||||
<p>
|
||||
Podešavanja za <a href="https://www.thunderbird.net">Thunderbird</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/">Izbrisi nalog</a><p>
|
||||
<p><a href="/account/changepassword/">Promeni lozinku</a><p>
|
||||
<div class="auth-wrap">
|
||||
<p><a href="/account/register/">Registruj se</a></p>
|
||||
<p></p>
|
||||
<p><a href="/account/unregister/">Izbriši nalog</a></p>
|
||||
<p></p>
|
||||
<p><a href="/account/changepassword/">Promeni lozinku</a></p>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
Ova stranica je trenutno u izradi...
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<h1>Kontakt</h1>
|
||||
<p>Možeš nam poslati mejl na adresu <a href="mailto:dmz@dmz.rs">dmz@dmz.rs</a> ili se možeš pridružiti našem <a href="https://forum.dmz.rs">Forumu</a>.</p>
|
||||
<p>Takođe smo dostupni i na <a href="https://balkan.fedive.rs/@decentrala">Fediversu!</a></p>
|
||||
<br>
|
||||
<p>U slučaju da si pronašao <em>bug</em> na sajtu, bili bismo ti jako zahvalni ako bi nam ga prijavio/prijalvila.</p>
|
||||
89
pages/sr/deconference.html
Normal file
@@ -0,0 +1,89 @@
|
||||
<h1>Dekonferencija</h1>
|
||||
|
||||
<h2 id="program"><a href="#program">Program</a></h2>
|
||||
<p>11:00 Otvaranje</p>
|
||||
<p>
|
||||
12:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
14:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/hakaton">Hakaton</a>
|
||||
</p>
|
||||
<p>
|
||||
16:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/lightningtalks"
|
||||
>Lightning talks</a
|
||||
>
|
||||
</p>
|
||||
<p>18:00 Diskusije</p>
|
||||
<p>
|
||||
20:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p>22:00 Kraj</p>
|
||||
|
||||
<h2 id="what"><a href="#what">Šta?</a></h2>
|
||||
<p>
|
||||
Dekonferencija je prva konferencija organizovana od strane
|
||||
<a href="https://dmz.rs">Decentrale</a>, Beogradskog hakerspejsa.
|
||||
Dekonferencija služi kao platforma za predstavljanje i diskusiju ideja
|
||||
decentralizacije u svim svojim oblicima.
|
||||
</p>
|
||||
|
||||
<h2 id="when-and-where"><a href="#when-and-where">Kad & Gde?</a></h2>
|
||||
<p>
|
||||
Dekonferencija će se održati u nedelju, 15.-og Septembra, 2024, u Kulturnom
|
||||
Centru Magacin, na adresi
|
||||
<a href="https://osm.org/go/xf3Fz31te?node=1226456745"
|
||||
>Kraljevića Marka 4-8, Beograd</a
|
||||
>. Veče pre, održaće se druženje povodom organizovanja konferencije u
|
||||
prostorijama <a href="https://dckrov.rs/">Društvenog Centra Krov</a>, na
|
||||
adresi <a href="https://osm.org/go/xf3HQQdIH">Kraljice Marije 47, Beograd</a>.
|
||||
</p>
|
||||
|
||||
<h2 id="why"><a href="#why">Zašto?</a></h2>
|
||||
|
||||
<p>
|
||||
Decentrala je osnovana od strane male grupe entuzijasta udružene oko ideje
|
||||
decentralizacije tehnologije. Poslednjih godinu i po, organizovali smo više od
|
||||
160 događaja—predavanja, radionica, diskusija, hakatona—sa ciljem
|
||||
demokratizacije tehnološkog znanja i edukacije o privatnosti, open source
|
||||
principa, prava na popravku (i kako popraviti), digitalna svojina, i pravo
|
||||
korišćenja. Od prvog dana, naš pristup je bio da informišemo pojedince o
|
||||
alternativama umesto da im namećemo naše mišljenje.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Vremenom, angažovanjem sa raznovrsnim posetiocima, od kojih su mnogi iz
|
||||
ne-tehničkih sfera, shvatili smo da decentralizacija obuhvata više od samo
|
||||
"otvorene tehnologije." Mnogi aktivisti i organizacije se danas zalažu za
|
||||
različite oblike decentralizacije. Zato, smatramo da su dobrodošle priče
|
||||
decentralizacije iz različitih perspektiva.
|
||||
</p>
|
||||
|
||||
<h2 id="who"><a href="#who">Ko?</a></h2>
|
||||
|
||||
<p>
|
||||
Dekonferencija je otvorena platforma za sve zainteresovane za diskusiju,
|
||||
demonstraciju, ili istraživanje decentralizacije. Možete registrovati vaš
|
||||
događaj slanjem email-a na
|
||||
<a href="mailto:dekonferencija@dmz.rs">dekonferencija@dmz.rs</a> do dana
|
||||
Dekonferencije (15.-ti Septembar).
|
||||
</p>
|
||||
|
||||
<p>Osvežićemo ovaj deo kako se teme događaja potvrde.</p>
|
||||
|
||||
<h2 id="how"><a href="#how">Kako?</a></h2>
|
||||
|
||||
<p>
|
||||
Dekonferencija je finansirana od strane ličnih sredstava organizatora. Kao i
|
||||
sve aktivnosti Decentrale, Dekonferencija je besplatna svima. Nažalost, nismo
|
||||
u stanju da pružimo subvencije predavačima.
|
||||
</p>
|
||||
|
||||
<p>Decentrala prihvata donacije isključivo od fizičkih lica.</p>
|
||||
@@ -1,59 +0,0 @@
|
||||
<h1>Događaji</h1>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>Datum</th>
|
||||
<th>Vreme</th>
|
||||
<th>Mesto</th>
|
||||
<th>Tema</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Ponedeljak, 7. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Linux ricing </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Utorak, 8. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Lambda račun </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Ponedeljak, 14. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Linux distro diskusija </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Utorak, 15. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Pirati 777 mora </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Ponedeljak, 21. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Python vežbe </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Utorak, 22. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Autentifikacija na internetu </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Ponedeljak, 28. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Podesavanje Mail servera </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Utorak, 29. Avgust 2023. </td>
|
||||
<td> 19:00h </td>
|
||||
<td> DC Krov </td>
|
||||
<td> Prevodjenje wiki-a </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1,23 +1,67 @@
|
||||
<h1>Dobrodošao!</h1>
|
||||
<h1>Dobrodošli!</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:
|
||||
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>Motivacija:</dt>
|
||||
<dd>
|
||||
Decentralizacijom postizemo
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#odrzivost"
|
||||
>odrzivost</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#dostupnost"
|
||||
>dostupnost</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#pristupacnost"
|
||||
>pristupacnost</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#nezavisnost"
|
||||
>nezavisnost</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#privatnost"
|
||||
>privatnost</a
|
||||
>
|
||||
i
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#sloboda"
|
||||
>slobodu</a
|
||||
>. Na ovim mrezama ima manje
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#manipulacija"
|
||||
>manipulacije</a
|
||||
>,
|
||||
<a href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#propaganda"
|
||||
>propagande</a
|
||||
>, reklama, i
|
||||
<a
|
||||
href="https://wiki.dmz.rs/en/zastojedecentralizacijabitna#neopterecenost-paznje-sporednim-stvarima"
|
||||
>nisu dizajnirane za zadrzavanje paznje (zaglupljivanje)</a
|
||||
>.
|
||||
<a href="https://forum.dmz.rs/t/zasto-nam-je-decentralizacija-bitna/506/1"
|
||||
>Recite zasto je vama decentralizacija bitna</a
|
||||
>
|
||||
</dd>
|
||||
<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>
|
||||
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>
|
||||
<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>
|
||||
<dd>
|
||||
Na našim serverima pokrećemo razne servise (email, git, wiki i druge) koji
|
||||
su otvoreni za sve i koji se mogu koristiti sa ili bez našeg naloga.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
Ako si i dalje zainteresovan, možeš napraviti <a href="/pages/account.html">nalog</a> na našem serveru koji će ti
|
||||
omogućiti korišćenje svih naših <a href="/pages/services.html">servisa</a>.
|
||||
Ako želiš prvo da vidiš kako to sve izgleda u realnosti, možeš doći na neki od naših <a
|
||||
href="/pages/events.html">događaja</a>, i tu nas upoznati!
|
||||
</p>
|
||||
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>
|
||||
|
||||
@@ -5,56 +5,90 @@
|
||||
<th>Opis</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="/account.html">Email</a></td>
|
||||
<td>Email nalog koji možeš koristiti sa bilo kojim email
|
||||
klijentom generalne namene (na primer <a href="https://www.thunderbird.net/">Thunderbird-u</a>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://forum.dmz.rs/">Forum</a></td>
|
||||
<td>Forum na kom obično organizujemo naše <a href="/pages/events.html">događaje</a>.
|
||||
<td><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>Chat</td>
|
||||
<td>Održavamo sopstveni XMPP server, na kojem možeš napraviti nalog.
|
||||
Ako već poseduješ nalog možeš nas naći u grupi <a
|
||||
href="decentrala@conference.dmz.rs">decentrala@conference.dmz.rs</a>.
|
||||
<td><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><a href="/account">Chat</a></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 kod kao i ostale resurse za naše
|
||||
<a href="/pages/projects.html">projekte</a>, <a href="/pages/events.html">dogadjaje</a>, kao i projekte naših
|
||||
prijatelja.
|
||||
Ovo može biti dom tvog sledećeg projekta. Bolji od Github-a.
|
||||
<td>
|
||||
<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="/pages/projects.html">projekte</a> kao i
|
||||
ostale <a href="/pages/events.html">događaje</a>.
|
||||
<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://jitsi.dmz.rs/">Jitsi</a></td>
|
||||
<td>
|
||||
<a href="https://jitsi.org/">Jitsi.org</a> aplikacija za sastanke, groupne
|
||||
video pozive, online dogadjaje, alternativa za zoom.
|
||||
</td>
|
||||
</tr>
|
||||
<!--<tr>
|
||||
<td><a href="https://nextcloud.dmz.rs/">Nextcloud</a></td>
|
||||
<td>
|
||||
<a href="https://nextcloud.com/">Nextcloud</a> instanca koju koristimo da
|
||||
zapisujemo stvari koje planiramo da uradimo i kao kalendar.
|
||||
</td>
|
||||
<tr>-->
|
||||
<!--<tr>
|
||||
<td><a href="https://cryptpad.dmz.rs/">CryptPad</a></td>
|
||||
<td>
|
||||
<a href="https://cryptpad.org/">CryptPad</a> zamena za google office
|
||||
</td>
|
||||
<tr>-->
|
||||
<!--<tr>
|
||||
<td><a href="https://search.dmz.rs/">Search</a></td>
|
||||
<td><a href="https://github.com/hnhx/librex/">LibreX</a> instanca koju koristimo za pretraživanje Interneta.
|
||||
Bolji od Google-a.
|
||||
<td>
|
||||
<a href="https://github.com/searxng/searxng/">SearXNG</a> instanca koju
|
||||
koristimo za pretraživanje Interneta. Zamena za Google.
|
||||
</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>
|
||||
<a href="https://privatebin.info/">PrivateBin</a> instanca koju koristimo
|
||||
za brzo deljenje tekstualnih fajlova
|
||||
</td>
|
||||
</tr>
|
||||
</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>
|
||||
<a href="https://github.com/charmbracelet/soft-serve">Soft Serve</a>
|
||||
instanca koju koristimo kao zamenu za Gitea servis. Soft Serve radi
|
||||
potpuno iz terminala
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>Ovo su neki od servisa koje trenutno održavamo na našim serverima. Da bi koristio ove servise, <em>možes</em> se
|
||||
registovati na svaki servis posebno, a možeš i napraviti jedinstveni <a href="/pages/account.html">nalog</a> na nasem
|
||||
serveru i koristiti sve servise sa istim nalogom.</p>
|
||||
<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="/account">nalog</a> na našem
|
||||
serveru i da koristiš sve servise sa istim nalogom.
|
||||
</p>
|
||||
|
||||
82
pages/sr/statute.html
Normal file
@@ -0,0 +1,82 @@
|
||||
<h1>Statut</h1>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
Decentrala je zajednica okupljena oko decentralizacije tehnologija i širenja
|
||||
znanja.
|
||||
</p>
|
||||
<div class="values">
|
||||
<label> Decentralizacija uključuje: </label>
|
||||
<ul>
|
||||
<li>Ravnopravnost korišćenja tehnologije</li>
|
||||
<li>Slobodan software otvorenog koda</li>
|
||||
<li>Privatnost i bezbednost.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>
|
||||
Na Decentralinoj arhitekturi hostuju se samo servisi koji su otvorenog koda
|
||||
</p>
|
||||
<p>
|
||||
Decentrala prihvata donacije iskljucivo od fizičkog lica, bez uslova i
|
||||
obaveza.
|
||||
</p>
|
||||
<p>
|
||||
Delovi statuta mogu biti definisati kao nepromenjivi i protiv nepromenjivih
|
||||
delova statuta se ne može glasati.
|
||||
</p>
|
||||
<p>
|
||||
Svaki pojedinac i grupa ima pravo da sprovodi akcije u duhu ciljeva
|
||||
Decentrale koje su definisane statutom, ako su prethodno objavljeni i
|
||||
objašnjeni na javnim digitalnim kanalima komunikacije Decentrale.
|
||||
</p>
|
||||
<p>
|
||||
O pravilima i statutu Decentrale odlucuje nezavisno glasacko telo u kome se
|
||||
odluke donose se na principima direktne demokratije, dogovorom ili najmanje
|
||||
dvotrećinskom većinom ukupnog broja članova kolektiva.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2>Glasacko telo</h2>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
Decentrala o zahtevima za prijem u članstvo odlučuje dvotrećinskom većinom
|
||||
prisutnog članstva kolektiva.
|
||||
</p>
|
||||
<p>Samo članovi koji su fizički prisutni imaju pravo glasa.</p>
|
||||
<p>Ne postoji ograničenje broja članova glasačkog tela.</p>
|
||||
<p>
|
||||
Za ukidanje članstva u kolektivu pojedinac se moze sam iskljuciti u bilo kom
|
||||
momentu ili moze biti izglasan sa dvotrećinskom većinom prisutnog članova.
|
||||
</p>
|
||||
<p>
|
||||
Ako član glasačkog tela nije prisutan tokom tri uzastopna sastanka
|
||||
automatski je isključen iz glasačkog tela.
|
||||
</p>
|
||||
<p>
|
||||
Član moze biti ponovo ukljucen u glasacko telo po vec definisanoj proceduri
|
||||
dodavanja novog clana, ako je prisutan na tom sastanku.
|
||||
</p>
|
||||
<p>
|
||||
Trenutni članovi glasačkog tela su pod pseudonimom malin, coja, bora, mad3v,
|
||||
txrpe, euffrat, netstat.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h2>Sastanci</h2>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
Sastanak glasačkog tela je validan ukoliko mu prisustvuje najmanje troje
|
||||
članova glasačkog tela.
|
||||
</p>
|
||||
<p>
|
||||
Vreme i mesto sastanka skupštine Decentrale se mora najaviti bar nedelju
|
||||
dana pred vremena sastanka na forumu Decentrale.
|
||||
</p>
|
||||
<p>
|
||||
Na sastanku glasačkog tela se jedino moze glasati o tačkama koje su
|
||||
najavljene na forumu Decentrale, bar nedelju dana pre vremena sastanka.
|
||||
</p>
|
||||
<p>Sastanak glasačkog tela treba se održati barem jednom u dva meseca.</p>
|
||||
</div>
|
||||
39
pages/sr/support.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<h1>Podrška</h1>
|
||||
<dd>
|
||||
<p>
|
||||
Decentrala prihvata donacije isključivo od fizičkih lica i bez obaveza.
|
||||
Nezavisni smo i trudimo se da to održimo.
|
||||
</p>
|
||||
<p>
|
||||
Prihvatamo stari hardver (laptopove, telefone, PC komponente), koje
|
||||
popravljamo i nalazimo mu dalju upotrebu u Decentrali ili ga doniramo dalje,
|
||||
onima kojima je potreban (permacomputing).
|
||||
</p>
|
||||
<p>
|
||||
Podrska takodje moze biti i u vidu doprinosa na nasoj
|
||||
<a href="https://wiki.dmz.rs" target="_blank">wiki</a> strani, projektima na
|
||||
<a href="https://gitea.dmz.rs" target="_blank">gitea</a>, pisanjem
|
||||
dokumentacije i prijavom i ispravkom bugova, typos, prevoda, itd.
|
||||
</p>
|
||||
<p>
|
||||
Ako posedujete neko znanje koje bi zeleli da podelite sa ucesnicima
|
||||
Decentrale, to mozete uraditi u vidu forum posta, wiki strane ili
|
||||
ucestvovanjem na evenotovima, drizanjem predavanja.
|
||||
</p>
|
||||
<p>
|
||||
Jednostavno koriscenje naseg softwera se takodje racuna kao doprinos, posto
|
||||
bi se time pridruzili decentralizaciji.
|
||||
</p>
|
||||
<p>Takođe primamo donacije u bitcoinu i moneru na adresama:</p>
|
||||
<ul>
|
||||
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
||||
<!--
|
||||
<li>
|
||||
Monero:
|
||||
<i
|
||||
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
||||
>
|
||||
</li>
|
||||
-->
|
||||
</ul>
|
||||
</dd>
|
||||
@@ -1,3 +1,6 @@
|
||||
<h1>Webring</h1>
|
||||
<ul>
|
||||
<li><a href="https://tilde.zone/explore">Tilde Zone</a></li>
|
||||
</ul>
|
||||
<li><a href="https://pionir.org">Slobodna škola Pionir</a></li>
|
||||
<li><a href="https://tilda.center">Tilda Centar</a></li>
|
||||
<li><a href="https://xecut.me/">Xecut</a></li>
|
||||
</ul>
|
||||
|
||||
1
poster.py
Normal file → Executable file
@@ -1,3 +1,4 @@
|
||||
#! /usr/bin/env python3
|
||||
import csv
|
||||
import datetime as dt
|
||||
from dateutil import relativedelta
|
||||
|
||||
295
prep.py
Normal file → Executable file
@@ -1,101 +1,218 @@
|
||||
#! /usr/bin/env python
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
import csv
|
||||
from datetime import datetime
|
||||
from functools import cmp_to_key
|
||||
import os
|
||||
|
||||
days = [
|
||||
"Ponedeljak",
|
||||
"Utorak",
|
||||
"Sreda",
|
||||
"Četvrtak",
|
||||
"Petak",
|
||||
"Subota",
|
||||
"Nedelja",
|
||||
]
|
||||
DAYS_SR = ["PON", "UTO", "SRE", "ČET", "PET", "SUB", "NED"]
|
||||
DAYS_EN = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
|
||||
TYPES_DICT = {
|
||||
"hack": ("hakaton", "hackathon"),
|
||||
"lecture": ("predavanje", "lecture"),
|
||||
"workshop": ("radionica", "workshop"),
|
||||
"discussion": ("diskusija", "discussion"),
|
||||
"lightning": ("kratka predavanja", "short talks"),
|
||||
"movie": ("film", "movie"),
|
||||
"meeting": ("sastanak", "meeting"),
|
||||
"conference": ("konferencija", "conference"),
|
||||
"music": ("svirka", "gig"),
|
||||
"party": ("zabava", "entertainment"),
|
||||
}
|
||||
|
||||
months = [
|
||||
"Januar",
|
||||
"Februar",
|
||||
"Mart",
|
||||
"April",
|
||||
"Maj",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Avgust",
|
||||
"Septembar",
|
||||
"Oktobar",
|
||||
"Novembar",
|
||||
"Decembar",
|
||||
]
|
||||
env = Environment(loader=FileSystemLoader('template'))
|
||||
|
||||
def load_events(csv_path:str) -> list[dict]:
|
||||
events = []
|
||||
with open(csv_path, encoding='utf-8') as csv_file:
|
||||
csv_reader = csv.DictReader(csv_file, skipinitialspace=True)
|
||||
for event in csv_reader:
|
||||
event_date = event["datum"]
|
||||
event_date_parsed = datetime.strptime(event_date, "%d-%m-%Y").date()
|
||||
event_time = event["vreme"]
|
||||
event_location = event["lokacija"]
|
||||
event_title = event["tema"]
|
||||
types = event["tip"].split()
|
||||
link = event.get("link", "")
|
||||
current_event = {"date":event_date_parsed,
|
||||
"time":event_time,
|
||||
"location": event_location,
|
||||
"title":event_title.strip(),
|
||||
"types": types,
|
||||
"link": link}
|
||||
events.append(current_event)
|
||||
return events
|
||||
|
||||
def build_ical(events: list[dict]) -> str:
|
||||
today = datetime.today().now()
|
||||
events_ical = ""
|
||||
with open("template/head.ical", "r") as file:
|
||||
events_ical += file.read()
|
||||
for event in events:
|
||||
title = event["title"]
|
||||
location = event["location"]
|
||||
date = event["date"]
|
||||
time = event["time"]
|
||||
url = event["link"]
|
||||
|
||||
uid = str(date.month).zfill(2) + str(date.day).zfill(2) + time[:2]
|
||||
date_str = str(date.year) + str(date.month).zfill(2) + str(date.day).zfill(2)
|
||||
created = str(today.year) + str(today.month).zfill(2) + str(today.day).zfill(2) + "T" + str(today.hour).zfill(2) + str(today.minute).zfill(2) + str(today.second).zfill(2) + "Z"
|
||||
date_str = date_str + "T" + time.replace(":", "") + "00"
|
||||
|
||||
event_template_str = env.get_template("event.ical").render(
|
||||
UID=uid,
|
||||
CREATED=created,
|
||||
DATE=date_str,
|
||||
TITLE=title,
|
||||
URL=url,
|
||||
LOCATION="DC Krov\\, Kraljice Marije 47\\, 6\\, Beograd\\, Serbia" if location.startswith("DC Krov") else ("Matematički fakultet\\, Svetog Nikole 39\\, Beograd\\, Serbia" if location.startswith("Matematički fakultet (Učionica 153)") else location)
|
||||
)
|
||||
events_ical += event_template_str
|
||||
|
||||
with open("template/end.ical", "r") as file:
|
||||
events_ical += file.read()
|
||||
return events_ical
|
||||
|
||||
def render_page(template_name, output_path, context):
|
||||
template = env.get_template(template_name)
|
||||
with open(output_path, "w") as file:
|
||||
file.write(template.render(context))
|
||||
|
||||
# Main execution
|
||||
events = sorted(load_events("dogadjaji.csv"), key=lambda e: e["date"])
|
||||
today = datetime.today().date()
|
||||
|
||||
def parse_date(date):
|
||||
return datetime.strptime(date,"%d-%m-%Y").date()
|
||||
past_events = sorted([e for e in events if e["date"] <= today], key=lambda e: e["date"], reverse=True)
|
||||
new_events = [e for e in events if e["date"] >= today]
|
||||
|
||||
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
|
||||
sr_types = {k: v[0] for k, v in TYPES_DICT.items()}
|
||||
en_types = {k: v[1] for k, v in TYPES_DICT.items()}
|
||||
|
||||
def is_past_event(event):
|
||||
return event < today
|
||||
# Build Serbian Pages
|
||||
render_page("events-sr.html", "pages/sr/events.html", {
|
||||
"lang": "sr",
|
||||
"title": "Događaji",
|
||||
"sr_link": "/events_archive",
|
||||
"events_html": env.from_string("""
|
||||
{% for event in events %}
|
||||
<div class='event'>
|
||||
<div class='date'>{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h</div>
|
||||
{% if event.link %}
|
||||
<div class='title'><a href="{{ event.link }}">{{ event.title }}</a></div>
|
||||
{% else %}
|
||||
<div class='title'>{{ event.title }}</div>
|
||||
{% endif %}
|
||||
{% if 'https://' in event.location %}
|
||||
{% set place, link = event.location.split('https://') %}
|
||||
<div class='place'><a href="https://{{ link }}" target='_blank'>@{{ place.strip() }}</a></div>
|
||||
{% else %}
|
||||
<div class='place'>@{{ event.location.strip() }}</div>
|
||||
{% endif %}
|
||||
{% if event.types %}
|
||||
<div class='types'>
|
||||
{% for t in event.types %}
|
||||
{{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
""").render(events=new_events, types_names=sr_types)
|
||||
})
|
||||
|
||||
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
|
||||
render_page("events-en.html", "pages/en/events.html", {
|
||||
"lang": "en",
|
||||
"title": "Events",
|
||||
"sr_link": "/events_archive",
|
||||
"events_html": env.from_string("""
|
||||
{% for event in events %}
|
||||
<div class='event'>
|
||||
<div class='date'>{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h</div>
|
||||
{% if event.link %}
|
||||
<div class='title'><a href="{{ event.link }}">{{ event.title }}</a></div>
|
||||
{% else %}
|
||||
<div class='title'>{{ event.title }}</div>
|
||||
{% endif %}
|
||||
{% if 'https://' in event.location %}
|
||||
{% set place, link = event.location.split('https://') %}
|
||||
<div class='place'><a href="https://{{ link }}" target='_blank'>@{{ place.strip() }}</a></div>
|
||||
{% else %}
|
||||
<div class='place'>@{{ event.location.strip() }}</div>
|
||||
{% endif %}
|
||||
{% if event.types %}
|
||||
<div class='types'>
|
||||
{% for t in event.types %}
|
||||
{{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
""").render(events=new_events, types_names=en_types)
|
||||
})
|
||||
|
||||
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")
|
||||
# Build Archive Pages
|
||||
render_page("events_archive-sr.html", "pages/sr/events_archive.html", {
|
||||
"lang": "sr",
|
||||
"title": "Arhiva događaja",
|
||||
"sr_link": "/events",
|
||||
"events_html": env.from_string("""
|
||||
{% for event in events %}
|
||||
<div class='event'>
|
||||
<div class='date'>{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h</div>
|
||||
{% if event.link %}
|
||||
<div class='title'><a href="{{ event.link }}">{{ event.title }}</a></div>
|
||||
{% else %}
|
||||
<div class='title'>{{ event.title }}</div>
|
||||
{% endif %}
|
||||
{% if 'https://' in event.location %}
|
||||
{% set place, link = event.location.split('https://') %}
|
||||
<div class='place'><a href="https://{{ link }}" target='_blank'>@{{ place.strip() }}</a></div>
|
||||
{% else %}
|
||||
<div class='place'>@{{ event.location.strip() }}</div>
|
||||
{% endif %}
|
||||
{% if event.types %}
|
||||
<div class='types'>
|
||||
{% for t in event.types %}
|
||||
{{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
""").render(events=past_events, types_names=sr_types)
|
||||
})
|
||||
|
||||
def sort_events(events):
|
||||
return sorted(events, key = cmp_to_key(compare_events))
|
||||
render_page("events_archive-en.html", "pages/en/events_archive.html", {
|
||||
"lang": "en",
|
||||
"title": "Events archive",
|
||||
"sr_link": "/en/events",
|
||||
"events_html": env.from_string("""
|
||||
{% for event in events %}
|
||||
<div class='event'>
|
||||
<div class='date'>{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h</div>
|
||||
{% if event.link %}
|
||||
<div class='title'><a href="{{ event.link }}">{{ event.title }}</a></div>
|
||||
{% else %}
|
||||
<div class='title'>{{ event.title }}</div>
|
||||
{% endif %}
|
||||
{% if 'https://' in event.location %}
|
||||
{% set place, link = event.location.split('https://') %}
|
||||
<div class='place'><a href="https://{{ link }}" target='_blank'>@{{ place.strip() }}</a></div>
|
||||
{% else %}
|
||||
<div class='place'>@{{ event.location.strip() }}</div>
|
||||
{% endif %}
|
||||
{% if event.types %}
|
||||
<div class='types'>
|
||||
{% for t in event.types %}
|
||||
{{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
""").render(events=past_events, types_names=en_types)
|
||||
})
|
||||
|
||||
|
||||
events = load_events()
|
||||
events = sort_events(events)
|
||||
write_events(events)
|
||||
|
||||
events = []
|
||||
|
||||
for event in events:
|
||||
date, time, location, title = event.split(", ")
|
||||
date = parse_date(date)
|
||||
if is_past_event(date):
|
||||
continue
|
||||
date = days[date.weekday()]+", "+str(date.day)+". "+months[date.month-1]+" "+str(date.year)+"."
|
||||
time = time+"h"
|
||||
future_event = []
|
||||
future_event.append("<td> "+date+" </td>")
|
||||
future_event.append("<td> "+time+" </td>")
|
||||
if "https://" in location:
|
||||
place,link = location.split("https://")
|
||||
future_event.append("<td> <a href=\"https://"+link+"\""+"> "+place.strip()+" </a> </td>")
|
||||
else:
|
||||
future_event.append("<td> "+location.strip()+" </td>")
|
||||
future_event.append("<td> "+title+" </td>")
|
||||
events.append("<tr>\n"+"\n".join(future_event)+"\n</tr>")
|
||||
|
||||
with open("pages/sr/events.html","wt") as file:
|
||||
file.writelines(["<h1>Događaji</h1>\n", "<table>\n", "<tr><th>Datum</th><th>Vreme</th><th>Mesto</th><th>Tema</th></tr>\n"])
|
||||
file.writelines(events)
|
||||
file.writelines(["</table>"])
|
||||
|
||||
#with open("pages/en/events.html","wt") as file:
|
||||
# file.writelines(["<h1>Events</h1>", "<table>", "<tr>\n<th>Date</th>\n<th>Time</th>\n<th>Place</th>\n<th>Theme</th>\n</tr>"])
|
||||
# file.writelines(events)
|
||||
# file.writelines(["</table>"])
|
||||
# Build ical
|
||||
with open("site/events.ical", "w") as file:
|
||||
file.write(build_ical(new_events))
|
||||
|
||||
7
requirements.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
cairosvg
|
||||
markdown
|
||||
freetype-py
|
||||
python-dateutil
|
||||
feedgen
|
||||
pillow
|
||||
jinja2
|
||||
36
servisi.html
@@ -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>
|
||||
180
site/deconference.html
Normal file
@@ -0,0 +1,180 @@
|
||||
<!doctype html>
|
||||
<html lang="sr">
|
||||
<head>
|
||||
<!--
|
||||
*@@*
|
||||
*@@@@*
|
||||
*@@*
|
||||
||
|
||||
||
|
||||
*@@* *@@* *@@*
|
||||
*@@@@*===*@@@@*===*@@@@*
|
||||
*@@* *@@* *@@*
|
||||
|| //
|
||||
|| //
|
||||
*@@*//
|
||||
*@@@@*
|
||||
*@@*
|
||||
|
||||
____ _____ ____ _____ _ _ _____ ____ _ _ _
|
||||
| _ \| ____/ ___| ____| \ | |_ _| _ \ / \ | | / \
|
||||
| | | | _|| | | _| | \| | | | | |_) | / _ \ | | / _ \
|
||||
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
||||
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
||||
-->
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
const theme = localStorage.getItem("theme");
|
||||
const prefersDark = window.matchMedia(
|
||||
"(prefers-color-scheme: dark)",
|
||||
).matches;
|
||||
if (theme === "dark" || (!theme && prefersDark))
|
||||
document.documentElement.classList.add("dark");
|
||||
})();
|
||||
</script>
|
||||
<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" />
|
||||
<link rel="stylesheet" href="/styles/deconference.css">
|
||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<script src="/scripts/main.js"></script>
|
||||
<title>Dekonferencija Decentrala</title>
|
||||
<link rel="alternate" hreflang="sr" href="/en/deconference" />
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a id="logo" href="/">
|
||||
<img src="/img/logo-light.svg" alt="Logo" /> Decentrala
|
||||
</a>
|
||||
<button id="theme-switcher"></button>
|
||||
<a class="lang" hreflang="en" href="/en/deconference">EN</a>
|
||||
</header>
|
||||
<main>
|
||||
|
||||
<div class="page-wrap">
|
||||
<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div><h1>Dekonferencija</h1>
|
||||
|
||||
<h2 id="program"><a href="#program">Program</a></h2>
|
||||
<p>11:00 Otvaranje</p>
|
||||
<p>
|
||||
12:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
14:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/hakaton">Hakaton</a>
|
||||
</p>
|
||||
<p>
|
||||
16:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/lightningtalks"
|
||||
>Lightning talks</a
|
||||
>
|
||||
</p>
|
||||
<p>18:00 Diskusije</p>
|
||||
<p>
|
||||
20:00
|
||||
<a href="https://wiki.dmz.rs/en/decentrala/dogadjaji/cryptoparty"
|
||||
>Cryptoparty</a
|
||||
>
|
||||
</p>
|
||||
<p>22:00 Kraj</p>
|
||||
|
||||
<h2 id="what"><a href="#what">Šta?</a></h2>
|
||||
<p>
|
||||
Dekonferencija je prva konferencija organizovana od strane
|
||||
<a href="https://dmz.rs">Decentrale</a>, Beogradskog hakerspejsa.
|
||||
Dekonferencija služi kao platforma za predstavljanje i diskusiju ideja
|
||||
decentralizacije u svim svojim oblicima.
|
||||
</p>
|
||||
|
||||
<h2 id="when-and-where"><a href="#when-and-where">Kad & Gde?</a></h2>
|
||||
<p>
|
||||
Dekonferencija će se održati u nedelju, 15.-og Septembra, 2024, u Kulturnom
|
||||
Centru Magacin, na adresi
|
||||
<a href="https://osm.org/go/xf3Fz31te?node=1226456745"
|
||||
>Kraljevića Marka 4-8, Beograd</a
|
||||
>. Veče pre, održaće se druženje povodom organizovanja konferencije u
|
||||
prostorijama <a href="https://dckrov.rs/">Društvenog Centra Krov</a>, na
|
||||
adresi <a href="https://osm.org/go/xf3HQQdIH">Kraljice Marije 47, Beograd</a>.
|
||||
</p>
|
||||
|
||||
<h2 id="why"><a href="#why">Zašto?</a></h2>
|
||||
|
||||
<p>
|
||||
Decentrala je osnovana od strane male grupe entuzijasta udružene oko ideje
|
||||
decentralizacije tehnologije. Poslednjih godinu i po, organizovali smo više od
|
||||
160 događaja—predavanja, radionica, diskusija, hakatona—sa ciljem
|
||||
demokratizacije tehnološkog znanja i edukacije o privatnosti, open source
|
||||
principa, prava na popravku (i kako popraviti), digitalna svojina, i pravo
|
||||
korišćenja. Od prvog dana, naš pristup je bio da informišemo pojedince o
|
||||
alternativama umesto da im namećemo naše mišljenje.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Vremenom, angažovanjem sa raznovrsnim posetiocima, od kojih su mnogi iz
|
||||
ne-tehničkih sfera, shvatili smo da decentralizacija obuhvata više od samo
|
||||
"otvorene tehnologije." Mnogi aktivisti i organizacije se danas zalažu za
|
||||
različite oblike decentralizacije. Zato, smatramo da su dobrodošle priče
|
||||
decentralizacije iz različitih perspektiva.
|
||||
</p>
|
||||
|
||||
<h2 id="who"><a href="#who">Ko?</a></h2>
|
||||
|
||||
<p>
|
||||
Dekonferencija je otvorena platforma za sve zainteresovane za diskusiju,
|
||||
demonstraciju, ili istraživanje decentralizacije. Možete registrovati vaš
|
||||
događaj slanjem email-a na
|
||||
<a href="mailto:dekonferencija@dmz.rs">dekonferencija@dmz.rs</a> do dana
|
||||
Dekonferencije (15.-ti Septembar).
|
||||
</p>
|
||||
|
||||
<p>Osvežićemo ovaj deo kako se teme događaja potvrde.</p>
|
||||
|
||||
<h2 id="how"><a href="#how">Kako?</a></h2>
|
||||
|
||||
<p>
|
||||
Dekonferencija je finansirana od strane ličnih sredstava organizatora. Kao i
|
||||
sve aktivnosti Decentrale, Dekonferencija je besplatna svima. Nažalost, nismo
|
||||
u stanju da pružimo subvencije predavačima.
|
||||
</p>
|
||||
|
||||
<p>Decentrala prihvata donacije isključivo od fizičkih lica.</p>
|
||||
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<footer>
|
||||
<button class="hamburger closed">
|
||||
<img src="/img/strelica-closed-light.svg" alt="Menu" />
|
||||
</button>
|
||||
<nav class="menu">
|
||||
|
||||
<a href="/events">Događaji</a>
|
||||
<a href="/services">Servisi</a>
|
||||
<a href="/statute">Statut</a>
|
||||
<a href="/about">O nama</a>
|
||||
<a href="/account">Nalog</a>
|
||||
<a href="/support">Podrška</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>
|
||||
BIN
site/font/Lobster-Regular.ttf
Normal file
@@ -8,36 +8,71 @@
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-closed-dark.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#111111"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="20.975"
|
||||
inkscape:cx="20"
|
||||
inkscape:cy="20"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1048"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1514941"
|
||||
y="1.5255219" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.117918"
|
||||
y="7.1488791" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1270616"
|
||||
y="4.4020038" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#010400;stroke-width:0.0679621"
|
||||
d="M 4.3438587,8.7976884 V 5.773483 H 19.684828 35.025797 V 8.7976884 11.821894 H 19.684828 4.3438587 Z"
|
||||
id="path305"
|
||||
transform="scale(0.25)" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#010400;stroke-width:0.0679621"
|
||||
d="m 4.2338876,20.289669 v -2.96922 H 19.574857 34.915826 v 2.96922 2.96922 H 19.574857 4.2338876 Z"
|
||||
id="path307"
|
||||
transform="scale(0.25)" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#010400;stroke-width:0.0679621"
|
||||
d="M 4.2338876,31.286779 V 28.31756 H 19.574857 34.915826 v 2.969219 2.96922 H 19.574857 4.2338876 Z"
|
||||
id="path309"
|
||||
transform="scale(0.25)" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -7,15 +7,57 @@
|
||||
viewBox="0 0 10 10"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-closed.svg"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1514941"
|
||||
y="1.5255219" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.117918"
|
||||
y="7.1488791" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1270616"
|
||||
y="4.4020038" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 602 B After Width: | Height: | Size: 1.8 KiB |
@@ -7,15 +7,57 @@
|
||||
viewBox="0 0 10 10"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-closed.svg"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1514941"
|
||||
y="1.5255219" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.117918"
|
||||
y="7.1488791" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5413027"
|
||||
height="1.3530626"
|
||||
x="1.1270616"
|
||||
y="4.4020038" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 773 B After Width: | Height: | Size: 1.8 KiB |
@@ -8,36 +8,74 @@
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-opened-dark.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#111111"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="20.975"
|
||||
inkscape:cx="20"
|
||||
inkscape:cy="20"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1048"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1627259"
|
||||
y="1.1712277"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1609803"
|
||||
y="4.0333257"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1579751"
|
||||
y="6.9176984"
|
||||
ry="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#010400;stroke-width:0.0679621;fill-opacity:1"
|
||||
d="M 4.3438587,8.6327318 V 4.3438587 H 19.684828 35.025797 V 8.6327318 12.921605 H 19.684828 4.3438587 Z"
|
||||
id="path908"
|
||||
transform="scale(0.25)" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#010400;stroke-width:0.0679621"
|
||||
d="M 4.3438587,20.124712 V 15.890825 H 19.684828 35.025797 V 20.124712 24.3586 H 19.684828 4.3438587 Z"
|
||||
id="path2083"
|
||||
transform="scale(0.25)" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#010400;stroke-width:0.0679621"
|
||||
d="M 4.3438587,31.671678 V 27.437791 H 19.684828 35.025797 v 4.233887 4.233888 H 19.684828 4.3438587 Z"
|
||||
id="path2085"
|
||||
transform="scale(0.25)" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -7,15 +7,60 @@
|
||||
viewBox="0 0 10 10"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-closed.svg"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1627259"
|
||||
y="1.1712277"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1609803"
|
||||
y="4.0333257"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1579751"
|
||||
y="6.9176984"
|
||||
ry="0" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 1.9 KiB |
@@ -7,15 +7,60 @@
|
||||
viewBox="0 0 10 10"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="strelica-closed.svg"
|
||||
inkscape:export-filename="strelica-closed.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
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="namedview6"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.0932977"
|
||||
inkscape:cx="17.870305"
|
||||
inkscape:cy="22.87399"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="749"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg5" />
|
||||
<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>
|
||||
id="layer1" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1627259"
|
||||
y="1.1712277"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-3"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1609803"
|
||||
y="4.0333257"
|
||||
ry="0" />
|
||||
<rect
|
||||
style="fill:#070000;stroke:#010400;stroke-width:0.1545;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1317-6"
|
||||
width="7.5289507"
|
||||
height="1.9984204"
|
||||
x="1.1579751"
|
||||
y="6.9176984"
|
||||
ry="0" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 799 B After Width: | Height: | Size: 1.9 KiB |
BIN
site/img/students_bug.jpg
Normal file
|
After Width: | Height: | Size: 158 KiB |
275
site/lif2025.html
Normal file
@@ -0,0 +1,275 @@
|
||||
<!doctype html>
|
||||
<html lang="sr">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta charset="UTF-8" />
|
||||
<title>Linux Install Fest 2025</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Iosevka";
|
||||
src: url("/font/iosevka-regular.woff") format("woff");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Lobster";
|
||||
src: url("/font/Lobster-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #082142;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 1rem;
|
||||
margin: 0 auto;
|
||||
max-width: 1000px;
|
||||
font-family: "Iosevka", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Lobster", sans-serif;
|
||||
font-size: 5rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: "Lobster", sans-serif;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
@media (max-width: 650px) {
|
||||
h1 {
|
||||
font-size: 4rem;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
main {
|
||||
padding: 0.2rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3rem;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
<h1>Linux Install Fest</h1>
|
||||
|
||||
<h2>Gde i kad</h2>
|
||||
|
||||
<p>
|
||||
Linux Install Fest će se održati 9. decembra 2025 godine u učionici JAG3
|
||||
Matematičkog fakulteta, na adresi
|
||||
<a href="https://www.openstreetmap.org/node/3807078606"
|
||||
>Jagićeva 5, Beograd</a
|
||||
>. Ulazak u učionicu је moguć od 18h do 21h.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Jagićeva ulica se nalazi između stanice
|
||||
<a href="https://www.openstreetmap.org/node/6670711291"
|
||||
><em>Pijaca Đeram</em></a
|
||||
>
|
||||
na kojoj staju tramvaji 5, 6, 7L i 14, i stanice
|
||||
<a href="https://www.openstreetmap.org/node/1693535022"
|
||||
><em>Crveni krst</em></a
|
||||
>
|
||||
na kojoj staju autobusi 21 i 83, kao i trolebusi 19, 22 i 29.
|
||||
</p>
|
||||
|
||||
<h2>Plan programa</h2>
|
||||
|
||||
<p>
|
||||
Cilj okupljanja je da zainteresovanima za Linux pomognemo pri
|
||||
instalaciji Linux operativnog sistema na laptopove. Na događaju će biti
|
||||
prisutno više osoba koje imaju višegodišnje iskustvo u radu sa Linuxom.
|
||||
Pored toga, u zavisnosti od zainteresovanosti prisutnih, mogu se održati
|
||||
i kratke obuke vezane za komandnu liniju, git, web servise, C
|
||||
programiranje, itd...
|
||||
</p>
|
||||
|
||||
<p>Nakon 21h, druženje možemo nastaviti u nekom od obližnjih lokala.</p>
|
||||
|
||||
<h2>Linux distribucije</h2>
|
||||
|
||||
<p>
|
||||
Linux je jezgro operativnog sistema, na koji se instaliraju drugi
|
||||
programi. Sve to zajedno čini određenu <em>Linux distribuciju</em>.
|
||||
Postoji mnogo distribucija, ali mi preporučujemo one sa dugom tradicijom
|
||||
poput sledećih:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Debian</strong> distribucija je verovatno najprimerenija za
|
||||
Linux početnike. Poznati derivati Debiana su <strong>Ubuntu</strong>,
|
||||
<strong>Mint</strong> i <strong>Zorin</strong>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Fedora</strong> je takođe pogodna za Linux početnike.
|
||||
Razlikuje se od Debian distribucije, po bržem izlasku novih verzija,
|
||||
što u praksi znači da korisnici imaju svežije verzije programa.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Arch</strong> je Linux distribucija koja dozvoljava korisniku
|
||||
da lako konfiguriše sve delove sistema. Ova distribucija je namenjena
|
||||
osobama sa značajnim Linux iskustvom.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Ako ste početnik, i niste se odlučili koju distribuciju želite da
|
||||
instalirate, preporučujemo vam Fedoru ili Debian. Bez obzira koju
|
||||
distribuciju posedujete, moći ćete da pokrenete sve programe namenjene
|
||||
za Linux.
|
||||
</p>
|
||||
|
||||
<h2>End of 10</h2>
|
||||
|
||||
<p>
|
||||
Ovogodišnji Linux Install Fest, organizuje se u sklopu globalne
|
||||
<a href="https://endof10.org/">End of 10</a> kampanje, koja promoviše
|
||||
Linux operativni sistem kao zamenu za Windows 10.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Već duže vreme Windows operativni sistem postaje sve više neprijateljski
|
||||
prema korisnicima. Nasuprot tome, mnoge Linux distribucije su maksimalno
|
||||
unapredile korisnički doživljaj, te danas možemo tvrditi da Linux
|
||||
omogućava značajno ugodniji rad, bez obzira na korisnikovo tehničko
|
||||
znanje.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Windows nameće korisnicima funkcionalnosti koje korisnici ne žele da
|
||||
koriste, kao što su: cloud integracije, AI, reklame, obavezni nalozi, i
|
||||
slično. Ove funkcionalnosti služe pre svega za povećanje Microsoftovog
|
||||
profita, a nemaju benefita za većinu krajnjih korisnika. Takođe, osnovni
|
||||
programi poput kalendara, kalkulatora ili editora teksta, postali su
|
||||
spori i puni bug-ova. Sa beskorisnim funkcionalnostima, Windows svake
|
||||
godine postaje sve više zahtevan i iziskuje kupovinu boljeg hardvera,
|
||||
što dovodi do povećanja elektronskog otpada. Nasuprot Windowsu, i
|
||||
najnovije Linux distribucije rade veoma performantno na računarima
|
||||
starijim od deceniju.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Izbor operativnog sistema nije više samo tehnička odluka, već i ekološki
|
||||
stav.
|
||||
</p>
|
||||
|
||||
<h2>Načini instalacije</h2>
|
||||
|
||||
<p>Linux možemo instalirati na tri načina:</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<strong>Unutar virtualne mašine na Windows-u</strong>. Na ovaj način
|
||||
korisnik zadržava svoj postojeći operativni sistem i podatke na njemu.
|
||||
Linux u virtualnoj mašini će biti značajno sporiji u odnosu na
|
||||
instalaciju bez virtualizacije.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Pored postojećeg operativnog sistema</strong>. U slučaju da je
|
||||
moguće neku od vaših particija umanjiti (<em>partition shrink</em>), i
|
||||
osloboditi barem 10GB prostora, može se instalirati Linux operativni
|
||||
sistem pored Windows-a. Prilikom pokretanja računara, korisnik će moći
|
||||
da bira da li želi da pokrene Windows ili Linux. Pri ovakvoj
|
||||
instalaciji postoji određeni rizik da će neko od narednih ažuriranja
|
||||
Windowsa resetovati podešavanja bootloader-a, nakon čega je potrebna
|
||||
mala intervencija da bi Linux sistem bio ponovo dostupan.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<strong>Kompletnim uklanjanjem Windows sistema</strong>. Na mestu
|
||||
Windows particije, biće postavljena nova particija sa Linux
|
||||
distribucijom. Dodatne particije koje postoje mogu, i ne moraju biti
|
||||
uklonjene.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2>Pre dolaska</h2>
|
||||
|
||||
<p>
|
||||
Da bi instalacija bila efikasna, pre dolaska na Linux Instal Fest
|
||||
neophodno je da napravite <em>backup</em> podataka sa sistemske
|
||||
particije ako se odlučujete za drugu ili treću opciju instalacije. Ako
|
||||
posedujete dve particije (na primer, C i D), podatke sa sistemske
|
||||
particije (C:) koje želite da zadržite prebacite na nesistemsku
|
||||
particiju (D:). Ako nemate dodatnu particiju, možete iskoristiti USB
|
||||
fleš. Obratite pažnju na datoteke unutar korisničkog direkotrijuma (<em
|
||||
>Desktop, Downloads, Documents,...</em
|
||||
>), a iz pretraživača izvezite bookmarkove i lozinke.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Takođe, pre dolaska možete se upoznati sa izgledom i načinom
|
||||
funkcionisanja različitih Linux distubucija. Neke Linux distribucije
|
||||
možete probati kroz pretraživač, bez bilo kakve instalacije, na sajtu
|
||||
<a href="https://distrosea.com/">DistroSea</a> (ponekad je potrebno
|
||||
sačekati kratko vreme da se oslobode resursi na sajtu). Imajte na umu da
|
||||
je operativni sistem na ovom sajtu višestruko sporiji od sistema koji je
|
||||
instaliran na vašem računaru.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pre dolaska napunite baterije loptopova. Obevezno ponesite i punjač.
|
||||
</p>
|
||||
|
||||
<h2>Organizator</h2>
|
||||
|
||||
<p>
|
||||
Organizator događaja je <a href="https://dmz.rs/">Decentrala</a> - grupa
|
||||
entuzijasta okupljena oko ideja decentralizacije i slobodnog širenja
|
||||
znanja. Do sada smo organizovali više od
|
||||
<a href="https://dmz.rs/events_archive">300 događaja</a>, a naredne
|
||||
događaje redovno najavljujemo na stranici
|
||||
<a href="https://dmz.rs/events">Događaji</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
U narednom periodu, na istoj lokaciji (učionica JAG3) biće održano još
|
||||
dva događaja za Linux početnike:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Utorak 16. decembar</strong> - Uvod u Linux komandnu liniju
|
||||
</li>
|
||||
<li><strong>Utorak 23. decembar</strong> - Uvod u Git</li>
|
||||
</ul>
|
||||
<p>Događaji počinju od 18h.</p>
|
||||
|
||||
<h2>Ponovo</h2>
|
||||
<p>
|
||||
Na Linux install fest možete doneti neispravne uređje: laptopove,
|
||||
telefone, desktop računare, monitore.... Mi ćemo ih tokom januara
|
||||
isporočuiti organizaciji <a href="https://ponovo.rs/">Ponovo</a> u
|
||||
Kikindi. Ova organizacija će popraviti ove uređaje i time sprečiti
|
||||
uvećavanje elektronskog otpada.
|
||||
</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
275
site/lif2025_en.html
Normal file
@@ -0,0 +1,275 @@
|
||||
<!doctype html>
|
||||
<html lang="sr">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta charset="UTF-8" />
|
||||
<title>Linux Install Fest 2025</title>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Iosevka";
|
||||
src: url("/font/iosevka-regular.woff") format("woff");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Lobster";
|
||||
src: url("/font/Lobster-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #082142;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 1rem;
|
||||
margin: 0 auto;
|
||||
max-width: 1000px;
|
||||
font-family: "Iosevka", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Lobster", sans-serif;
|
||||
font-size: 5rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: "Lobster", sans-serif;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
@media (max-width: 650px) {
|
||||
h1 {
|
||||
font-size: 4rem;
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
main {
|
||||
padding: 0.2rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 3rem;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
<h1>Linux Install Fest</h1>
|
||||
|
||||
<h2>Where and when</h2>
|
||||
|
||||
<p>
|
||||
Linux Install Fest will be held on December 9, 2025 in the JAG3
|
||||
classroom of the Faculty of Mathematics, at
|
||||
<a href="https://www.openstreetmap.org/node/3807078606"
|
||||
>Jagićeva 5, Belgrade</a
|
||||
>. Entry to the classroom is possible from 6 pm to 9 pm.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Jagićeva street is located between the
|
||||
<a href="https://www.openstreetmap.org/node/6670711291"
|
||||
><em>Pijaca Đeram</em></a
|
||||
>
|
||||
station where trams 5, 6, 7L and 14 stop, and the
|
||||
<a href="https://www.openstreetmap.org/node/1693535022"
|
||||
><em>Crveni krst</em></a
|
||||
>
|
||||
station where buses 21 and 83 stop, as well as trolleybuses 19, 22 and
|
||||
29.
|
||||
</p>
|
||||
|
||||
<h2>Program schedule</h2>
|
||||
|
||||
<p>
|
||||
The goal of the gathering is to help interested install the Linux
|
||||
operating system on laptops. Several people with working Linux
|
||||
experience will be present at the event. In addition, depending on the
|
||||
interest of those present, short trainings related to the command line,
|
||||
git, web services, C programming, etc. can be held.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After 9 p.m., we can continue socializing in one of the nearby bars.
|
||||
</p>
|
||||
|
||||
<h2>Linux distributions</h2>
|
||||
|
||||
<p>
|
||||
Linux is the core of the operating system, on which other programs are
|
||||
installed. All of these together make up a particular
|
||||
<em>Linux distribution</em>. There are many distributions, but we
|
||||
recommend the ones with a long tradition like the following:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong>The Debian</strong> distribution is probably the most suitable
|
||||
for Linux beginners. Known derivatives of Debian are Ubuntu, Mint and
|
||||
Zorin.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Fedora</strong> is also suitable for Linux beginners. It
|
||||
differs from the Debian distribution by the faster release of new
|
||||
versions, which in practice means that users have newer versions of
|
||||
the program.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Arch</strong> is a Linux distribution that allows the user to
|
||||
easily configure all parts of the system. This distribution is
|
||||
intended for people with significant Linux experience.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If you are a beginner and haven't decided which distribution you want to
|
||||
install, we recommend Fedora or Debian. Regardless of which distribution
|
||||
you have, you will be able to run all programs intended for Linux.
|
||||
</p>
|
||||
|
||||
<h2>End of 10</h2>
|
||||
|
||||
<p>
|
||||
This year's Linux Install Fest is organized as part of the global
|
||||
<a href="https://endof10.org/">End of 10</a> campaign, which promotes
|
||||
the Linux operating system as a replacement for Windows 10.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For a long time now, the Windows operating system has become
|
||||
increasingly unfriendly to users. On the contrary, many Linux
|
||||
distributions have improved the user experience to the maximum, and
|
||||
today we can claim that Linux enables significantly more pleasant work,
|
||||
regardless of the user's technical knowledge.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Windows imposes on users functionalities that users do not want to use,
|
||||
such as: cloud integrations, AI, advertisements, mandatory accounts, and
|
||||
the like. These functionalities serve above all to increase Microsoft's
|
||||
profits, and have no benefit for most end users. Also, basic programs
|
||||
such as calendars, calculators or text editors have become slow and full
|
||||
of bugs. With useless functionalities, Windows becomes more demanding
|
||||
every year and requires the purchase of better hardware, leading to an
|
||||
increase in electronic waste. Unlike Windows, the latest Linux
|
||||
distributions work very well on computers that are more than a decade
|
||||
old.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The choice of an operating system is no longer just a technical
|
||||
decision, but also an environmental attitude.
|
||||
</p>
|
||||
|
||||
<h2>Installation methods</h2>
|
||||
|
||||
<p>We can install Linux in three ways:</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<strong>Inside a virtual machine on Windows.</strong> In this way, the
|
||||
user retains his existing operating system and the data on it. Linux
|
||||
in a virtual machine will be significantly slower than an installation
|
||||
without virtualization.
|
||||
</li>
|
||||
<li>
|
||||
<strong>In addition to the existing operating system.</strong> If it
|
||||
is possible to shrink one of your partitions and free up at least 10GB
|
||||
of space, you can install a Linux operating system in addition to
|
||||
Windows. When booting the computer, the user will be able to choose
|
||||
whether to boot Windows or Linux. With such an installation, there is
|
||||
a certain risk that one of the subsequent Windows updates will reset
|
||||
the bootloader settings, after which a small intervention is required
|
||||
to make the Linux system accessible again.
|
||||
</li>
|
||||
<li>
|
||||
<strong>By completely removing the Windows system.</strong> In place
|
||||
of the Windows partition, a new partition with the Linux distribution
|
||||
will be placed. Additional partitions that exist may or may not be
|
||||
removed.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2>Before arrival</h2>
|
||||
|
||||
<p>
|
||||
In order for the installation to be effective, before coming to the
|
||||
Linux Instal Fest, it is necessary to make a backup of the data from the
|
||||
system partition if you decide on the second or third installation
|
||||
option. If you have two partitions (for example, C and D), move the data
|
||||
from the system partition (C:) that you want to keep to the non-system
|
||||
partition (D:). If you don't have an additional partition, you can use a
|
||||
USB flash drive. Pay attention to the files inside the user directory
|
||||
(Desktop, Downloads, Documents,... ), and export bookmarks and passwords
|
||||
from the browser.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, before your arrival, you can familiarize yourself with the
|
||||
appearance and way of functioning of various Linux distributions. You
|
||||
can try some Linux distributions through the browser, without any
|
||||
installation, on the
|
||||
<a href="https://distrosea.com/">DistroSea</a> website (sometimes it is
|
||||
necessary to wait a short time to free up resources on the site). Please
|
||||
note that the operating system on this site is many times slower than
|
||||
the system installed on your computer.
|
||||
</p>
|
||||
|
||||
<h2>Organizer</h2>
|
||||
|
||||
<p>
|
||||
The organizer of the event is
|
||||
<a href="https://dmz.rs/en/">Decentrala</a> - a group of enthusiasts
|
||||
gathered around the ideas of decentralization and free dissemination of
|
||||
knowledge. So far, we have organized more than
|
||||
<a href="https://dmz.rs/en/events_archive">300 events</a>, and we
|
||||
regularly announce the next events on the
|
||||
<a href="https://dmz.rs/en/events">Events</a> page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the following period, two more events for Linux beginners will be
|
||||
held at the same location (classroom JAG3):
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Tuesday December 16</strong> - Introduction to the Linux
|
||||
command line
|
||||
</li>
|
||||
<li><strong>Tuesday, December 23</strong> - Introduction to Git</li>
|
||||
</ul>
|
||||
<p>Events start at 6pm.</p>
|
||||
|
||||
<h2>Ponovo</h2>
|
||||
<p>
|
||||
You can bring defective devices to the Linux install fest: laptops,
|
||||
phones, desktop computers, monitors... We will deliver them to the
|
||||
organization <a href="https://ponovo.rs/">Ponovo</a> in Kikinda during
|
||||
January. This organization will repair these devices and thereby prevent
|
||||
the increase of electronic waste.
|
||||
</p>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,94 +1,62 @@
|
||||
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];
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
let theme = window.localStorage.getItem("theme");
|
||||
const getById = (id) => document.getElementById(id);
|
||||
const getByClass = (className) => document.getElementsByClassName(className)[0];
|
||||
|
||||
if (theme !== null) {
|
||||
if (theme === "light") {
|
||||
changeToLightTheme();
|
||||
} else {
|
||||
changeToDarkTheme();
|
||||
const themeBtn = getById("theme-switcher");
|
||||
const hamburger = getByClass("hamburger");
|
||||
const hamburgerIcon = hamburger.children[0]
|
||||
const menu = document.getElementsByTagName("nav")[0];
|
||||
const imgs = document.getElementsByTagName("img");
|
||||
const main = document.getElementsByTagName("main")[0];
|
||||
const isMenuOpen = () => hamburger.classList.contains("open");
|
||||
const theme = window.localStorage.getItem("theme");
|
||||
|
||||
/* Functions */
|
||||
|
||||
const changeToDarkTheme = () => {
|
||||
document.documentElement.classList.add("dark");
|
||||
themeBtn?.setAttribute("title", "turn the light on");
|
||||
Array.from(imgs).forEach((img) => {
|
||||
if (img.src.includes("-light")) img.src = img.src.replace("-light", "-dark");
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
window.matchMedia &&
|
||||
window.matchMedia("(prefers-color-scheme: dark)").matches
|
||||
) {
|
||||
changeToDarkTheme();
|
||||
|
||||
const changeToLightTheme = () => {
|
||||
document.documentElement.classList.remove("dark");
|
||||
themeBtn?.setAttribute("title", "turn the light off");
|
||||
Array.from(imgs).forEach((img) => {
|
||||
if (img.src.includes("-dark")) img.src = img.src.replace("-dark", "-light");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
theme_switcher.addEventListener("click", () => {
|
||||
const attribute = theme_switcher.getAttribute("title") ?? "off"
|
||||
if (attribute.indexOf("off") !== -1) {
|
||||
changeToDarkTheme();
|
||||
} else {
|
||||
changeToLightTheme();
|
||||
const closeMenu = () => {
|
||||
hamburger.classList = "hamburger closed"
|
||||
hamburgerIcon.src = hamburgerIcon.src.replace("opened", "closed");
|
||||
menu.classList = "menu closed";
|
||||
}
|
||||
});
|
||||
|
||||
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");
|
||||
const openMenu = () => {
|
||||
hamburger.classList = "hamburger open"
|
||||
hamburgerIcon.src = hamburgerIcon.src.replace("closed", "opened");
|
||||
menu.classList = "menu open";
|
||||
}
|
||||
}
|
||||
|
||||
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");
|
||||
}
|
||||
}
|
||||
/* Listeners */
|
||||
|
||||
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";
|
||||
}
|
||||
window.addEventListener("resize", () => isMenuOpen() && closeMenu());
|
||||
main.addEventListener("click", () => isMenuOpen() && closeMenu());
|
||||
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
|
||||
|
||||
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();
|
||||
}
|
||||
});
|
||||
themeBtn.addEventListener("click", () => {
|
||||
const title = themeBtn.getAttribute("title") ?? "off"
|
||||
if (title.indexOf("off") !== -1) changeToDarkTheme();
|
||||
else changeToLightTheme();
|
||||
});
|
||||
|
||||
/* Rest */
|
||||
|
||||
const userPerfersDark = window?.matchMedia?.("(prefers-color-scheme: dark)").matches
|
||||
if (!theme && userPerfersDark) changeToDarkTheme();
|
||||
else theme === "light" ? changeToLightTheme() : changeToDarkTheme();
|
||||
})
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
main {
|
||||
max-width: fit-content;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
margin: 0 auto;
|
||||
max-width: fit-content;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
main img {
|
||||
width: min(70vw, 15rem);
|
||||
}
|
||||
width: min(70vw, 15rem);
|
||||
}
|
||||
|
||||
|
||||
13
site/styles/about.css
Normal file
@@ -0,0 +1,13 @@
|
||||
dl {
|
||||
padding: 1rem 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 0.5rem 1rem;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
.auth-wrap {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
padding-top: 24px;
|
||||
a {
|
||||
font-size: 18px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#mesh {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
12
site/styles/deconference.css
Normal file
@@ -0,0 +1,12 @@
|
||||
dl {
|
||||
padding: 1rem 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 1rem 1rem;
|
||||
}
|
||||
|
||||
@@ -1,30 +1,89 @@
|
||||
table {
|
||||
table-layout: fixed;
|
||||
border-spacing: 0;
|
||||
.description {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 0 1rem 0 1rem;
|
||||
text-align: left;
|
||||
border-left: 2px solid var(--border);
|
||||
.event {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
&:hover {
|
||||
border-bottom: 5px var(--hightlight) solid;
|
||||
& > div {
|
||||
padding-bottom: calc(0.5rem - 5px);
|
||||
}
|
||||
}
|
||||
& > div {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
padding: 1rem 1rem 0 1rem;
|
||||
border-bottom: 2px solid var(--border);
|
||||
}
|
||||
|
||||
td:nth-child(odd) {
|
||||
.date {
|
||||
width: 220px;
|
||||
font-size: 0.75em;
|
||||
overflow-x: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0 1rem 1rem 1rem;
|
||||
vertical-align: top;
|
||||
.title {
|
||||
border-left: 2px solid var(--border);
|
||||
font-weight: bold;
|
||||
padding-left: 2rem;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
.place {
|
||||
font-size: 0.7em;
|
||||
opacity: 0.7;
|
||||
&:before {
|
||||
content: "-";
|
||||
margin-right: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.types {
|
||||
font-size: 0.8em;
|
||||
margin-left: auto;
|
||||
font-style: italic;
|
||||
letter-spacing: 2px;
|
||||
font-weight: 900;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1160px) {
|
||||
.event {
|
||||
flex-direction: column;
|
||||
margin-bottom: 2.2rem;
|
||||
border-left: 3px solid var(--border);
|
||||
&:hover {
|
||||
border-bottom: none;
|
||||
border-left: 3px solid var(--hightlight);
|
||||
& > div {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
& > div {
|
||||
padding: 0 0.5rem;
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.date {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.title {
|
||||
border-left: none;
|
||||
}
|
||||
.place:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.types {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
dl {
|
||||
padding: 1rem 0;
|
||||
}
|
||||
@@ -13,4 +8,5 @@ dt {
|
||||
|
||||
dd {
|
||||
margin: 0 0 1rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,76 +1,74 @@
|
||||
|
||||
html {
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Facade;
|
||||
src: url(../font/Facade-Sud.woff);
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: jetbrains-mono;
|
||||
src: url(../font/JetBrainsMono-Regular.ttf);
|
||||
font-family: Facade;
|
||||
src: url(../font/Facade-Sud.woff);
|
||||
}
|
||||
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
@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;
|
||||
max-width: 1200px;
|
||||
margin: auto;
|
||||
font-family: "jetbrains-mono";
|
||||
padding: 2.3rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: 'Facade';
|
||||
text-align: center;
|
||||
font-size: 5rem;
|
||||
margin: 0rem;
|
||||
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;
|
||||
text-align: center;
|
||||
margin-top: 0rem;
|
||||
margin-bottom: 2rem;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.5rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 4rem 0;
|
||||
margin: 4rem 0;
|
||||
}
|
||||
|
||||
td {
|
||||
font-size: 1.8rem;
|
||||
padding-top: 0.5rem;
|
||||
font-size: 1.8rem;
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
td:first-child {
|
||||
width: 3.5rem;
|
||||
width: 3.5rem;
|
||||
}
|
||||
|
||||
td:nth-child(2) {
|
||||
padding-right: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
#link {
|
||||
margin-top: 4rem;
|
||||
font-size: 3rem;
|
||||
width: fit-content;
|
||||
float: right;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 4rem;
|
||||
font-size: 3rem;
|
||||
width: fit-content;
|
||||
float: right;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#link img {
|
||||
width: 4rem;
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ blockquote {
|
||||
|
||||
blockquote::before,
|
||||
blockquote::after {
|
||||
content: '';
|
||||
content: "";
|
||||
content: none;
|
||||
}
|
||||
|
||||
@@ -146,4 +146,5 @@ h5,
|
||||
h6 {
|
||||
overflow-wrap: break-word;
|
||||
hyphens: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,22 +6,19 @@ table {
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 0 1rem 0 1rem;
|
||||
text-align: left;
|
||||
border-left: 2px solid var(--border);
|
||||
}
|
||||
|
||||
th {
|
||||
padding: 1rem 1rem 0 1rem;
|
||||
padding: 1rem;
|
||||
border-bottom: 2px solid var(--border);
|
||||
}
|
||||
|
||||
td {
|
||||
padding: 0 1rem 1rem 1rem;
|
||||
padding: 1rem 1rem 0 1rem;
|
||||
vertical-align: top;
|
||||
a {
|
||||
word-break: keep-all;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
22
site/styles/statute.css
Normal file
@@ -0,0 +1,22 @@
|
||||
h2 {
|
||||
margin: 1.5rem 0;
|
||||
font-weight: normal;
|
||||
font-size: 1.4em;
|
||||
font-variant-caps: small-caps;
|
||||
}
|
||||
|
||||
p {
|
||||
padding-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.values {
|
||||
margin-bottom: 1.5rem;
|
||||
label {
|
||||
display: block;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
ul > li {
|
||||
padding-left: 1.5rem;
|
||||
}
|
||||
}
|
||||
@@ -11,15 +11,22 @@
|
||||
--bg: var(--light-bg);
|
||||
}
|
||||
|
||||
html.dark {
|
||||
--border: var(--dark-border);
|
||||
--text: var(--dark-text);
|
||||
--bg: var(--dark-bg);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Iosevka";
|
||||
src: url('/font/iosevka-regular.woff') format('woff');
|
||||
src: url("/font/iosevka-regular.woff") format("woff");
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
html,
|
||||
@@ -38,7 +45,7 @@ body {
|
||||
"footer" 4rem
|
||||
/ 1fr;
|
||||
gap: 0;
|
||||
font-family: 'Iosevka';
|
||||
font-family: "Iosevka";
|
||||
}
|
||||
|
||||
header,
|
||||
@@ -64,25 +71,31 @@ main {
|
||||
padding: 3rem;
|
||||
font-size: 1.3rem;
|
||||
line-height: 2rem;
|
||||
max-width: 120ch;
|
||||
overflow: auto;
|
||||
.page-wrap {
|
||||
margin: 0 auto;
|
||||
max-width: 1152px;
|
||||
h1 {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
font-size: 1.5em;
|
||||
font-variant-caps: small-caps;
|
||||
}
|
||||
a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited {
|
||||
text-decoration: none;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
main a {
|
||||
position: relative;
|
||||
top: 0.2rem;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
background-color: var(--hightlight);
|
||||
text-decoration: line-through var(--text);
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: var(--hightlight);
|
||||
text-decoration: line-through var(--text);
|
||||
}
|
||||
}
|
||||
|
||||
#logo {
|
||||
@@ -92,10 +105,9 @@ a:focus {
|
||||
font-size: 2.5rem;
|
||||
font-weight: bold;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
#logo img {
|
||||
width: 3rem;
|
||||
img {
|
||||
width: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
#theme-switcher {
|
||||
@@ -104,15 +116,27 @@ a:focus {
|
||||
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%);
|
||||
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%);
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
var(--hightlight) 0%,
|
||||
var(--hightlight) 50%,
|
||||
var(--bg) 51%,
|
||||
var(--bg) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.account {
|
||||
.lang {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
@@ -127,17 +151,15 @@ a:focus {
|
||||
.links {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
& > a {
|
||||
border-radius: 100%;
|
||||
& > img {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.links > a {
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.links > a > img {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#sections-button {
|
||||
.hamburger {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -159,15 +181,18 @@ button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@media screen and (max-height: 860px),
|
||||
screen and (max-width: 1500px) {
|
||||
.cover-wrap {
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
@media screen and (max-height: 860px), screen and (max-width: 1500px) {
|
||||
#mesh {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1160px) {
|
||||
nav {
|
||||
nav.menu {
|
||||
flex-direction: column;
|
||||
border: 2px solid var(--border);
|
||||
border-bottom: 0;
|
||||
@@ -179,9 +204,13 @@ screen and (max-width: 1500px) {
|
||||
align-items: center;
|
||||
padding: 2rem 3rem;
|
||||
display: none;
|
||||
&.open {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
#sections-button {
|
||||
.hamburger {
|
||||
display: block !important;
|
||||
}
|
||||
}
|
||||
@@ -197,10 +226,10 @@ screen and (max-width: 1500px) {
|
||||
|
||||
.links {
|
||||
gap: 1.2rem;
|
||||
}
|
||||
|
||||
.links a {
|
||||
width: 1.5rem;
|
||||
a {
|
||||
width: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
header,
|
||||
@@ -211,8 +240,4 @@ screen and (max-width: 1500px) {
|
||||
#theme-switcher {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
|
||||
.account {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
11
site/styles/support.css
Normal file
@@ -0,0 +1,11 @@
|
||||
p {
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
li {
|
||||
padding-left: 1.5rem;
|
||||
i {
|
||||
word-break: break-all;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
87
template/base.html
Normal file
@@ -0,0 +1,87 @@
|
||||
<!doctype html>
|
||||
<html lang="{{ lang }}">
|
||||
<head>
|
||||
<!--
|
||||
*@@*
|
||||
*@@@@*
|
||||
*@@*
|
||||
||
|
||||
||
|
||||
*@@* *@@* *@@*
|
||||
*@@@@*===*@@@@*===*@@@@*
|
||||
*@@* *@@* *@@*
|
||||
|| //
|
||||
|| //
|
||||
*@@*//
|
||||
*@@@@*
|
||||
*@@*
|
||||
|
||||
____ _____ ____ _____ _ _ _____ ____ _ _ _
|
||||
| _ \| ____/ ___| ____| \ | |_ _| _ \ / \ | | / \
|
||||
| | | | _|| | | _| | \| | | | | |_) | / _ \ | | / _ \
|
||||
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
||||
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
||||
-->
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
const theme = localStorage.getItem("theme");
|
||||
const prefersDark = window.matchMedia(
|
||||
"(prefers-color-scheme: dark)",
|
||||
).matches;
|
||||
if (theme === "dark" || (!theme && prefersDark))
|
||||
document.documentElement.classList.add("dark");
|
||||
})();
|
||||
</script>
|
||||
<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" />
|
||||
{% block extra_styles %}{% endblock %}
|
||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<script src="/scripts/main.js"></script>
|
||||
<title>{{ title }} Decentrala</title>
|
||||
<link rel="alternate" hreflang="sr" href="{{ sr_link }}" />
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a id="logo" href="/">
|
||||
<img src="/img/logo-{{ 'dark' if is_dark else 'light' }}.svg" alt="Logo" /> Decentrala
|
||||
</a>
|
||||
<button id="theme-switcher"></button>
|
||||
<a class="lang" hreflang="{{ 'sr' if lang == 'en' else 'en' }}" href="{{ current_path.replace('/en/', '/') if lang == 'en' else ('/en' + current_path if not current_path.startswith('/en/') else current_path) }}">{{ 'SR' if lang == 'en' else 'EN' }}</a>
|
||||
</header>
|
||||
<main>
|
||||
{% block content %}{% endblock %}
|
||||
</main>
|
||||
<footer>
|
||||
<button class="hamburger closed">
|
||||
<img src="/img/strelica-closed-{{ 'dark' if is_dark else 'light' }}.svg" alt="Menu" />
|
||||
</button>
|
||||
<nav class="menu">
|
||||
{% set base_path = '/en/' if lang == 'en' else '/' %}
|
||||
<a href="{{ base_path }}events">{{ 'Događaji' if lang == 'sr' else 'Events' }}</a>
|
||||
<a href="{{ base_path }}services">{{ 'Servisi' if lang == 'sr' else 'Services' }}</a>
|
||||
<a href="{{ base_path }}statute">{{ 'Statut' if lang == 'sr' else 'Statute' }}</a>
|
||||
<a href="{{ base_path }}about">{{ 'O nama' if lang == 'sr' else 'About us' }}</a>
|
||||
<a href="{{ base_path }}account">{{ 'Nalog' if lang == 'sr' else 'Account' }}</a>
|
||||
<a href="{{ base_path }}support">{{ 'Podrška' if lang == 'sr' else 'Support' }}</a>
|
||||
</nav>
|
||||
<span class="links">
|
||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
|
||||
<img src="/img/cc-{{ 'dark' if is_dark else 'light' }}.svg" alt="CreativeCommons" />
|
||||
</a>
|
||||
<a href="{{ base_path }}webring">
|
||||
<img src="/img/w-{{ 'dark' if is_dark else 'light' }}.svg" alt="Webring" />
|
||||
</a>
|
||||
<a href="https://gitea.dmz.rs/Decentrala/website">
|
||||
<img src="/img/git-{{ 'dark' if is_dark else 'light' }}.svg" alt="SourceCode" />
|
||||
</a>
|
||||
<a href="https://balkan.fedive.rs/@decentrala">
|
||||
<img src="/img/mastodon-{{ 'dark' if is_dark else 'light' }}.svg" alt="Mastodon" />
|
||||
</a>
|
||||
</span>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
1
template/end.ical
Normal file
@@ -0,0 +1 @@
|
||||
END:VCALENDAR
|
||||
13
template/event.ical
Normal file
@@ -0,0 +1,13 @@
|
||||
BEGIN:VEVENT
|
||||
UID:calendar.<!--UID-->.field_date_time.0@radar.squat.net
|
||||
DTSTAMP:<!--CREATED-->
|
||||
CREATED:<!--CREATED-->
|
||||
DTSTART;TZID=Europe/Belgrade:<!--DATE-->
|
||||
DTEND;TZID=Europe/Belgrade:<!--DATE-->
|
||||
GEO:+44.805613;+20.479234
|
||||
LAST-MODIFIED:<!--CREATED-->
|
||||
LOCATION:<!--LOCATION-->
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:<!--TITLE-->
|
||||
URL;TYPE=URI:<!--URL-->
|
||||
END:VEVENT
|
||||
22
template/events-en.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{% block content %}
|
||||
<h1>Events</h1>
|
||||
|
||||
<div class="description">
|
||||
<p>
|
||||
Following list contains all forthcoming events. Held events are listed in
|
||||
<a href="/{{ lang }}/events_archive">archive</a>.
|
||||
</p>
|
||||
<p>
|
||||
Events are also available as an
|
||||
<a href="https://dmz.rs/events.ical">ical</a> file.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://wiki.dmz.rs/en/kako-pronaci-prostor" target="_blank">Short description</a>
|
||||
how to find a space
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="events-list">
|
||||
{{ events_html|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
22
template/events-sr.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{% block content %}
|
||||
<h1>Događaji</h1>
|
||||
|
||||
<div class="description">
|
||||
<p>
|
||||
Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja
|
||||
pogledaj <a href="/{{ lang }}/events_archive">arhivu</a>.
|
||||
</p>
|
||||
<p>
|
||||
Događaje možeš učitati i sa
|
||||
<a href="https://dmz.rs/events.ical">ical</a> datotekom.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://wiki.dmz.rs/en/kako-pronaci-prostor" target="_blank">Kratako uputstvo</a>
|
||||
kako pronaci prostor
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="events-list">
|
||||
{{ events_html|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
14
template/events_archive-en.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% block title %}Events archive{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Events archive</h1>
|
||||
<p>
|
||||
All events that we organized so far. You can find future events on
|
||||
<a href="/{{ lang }}/events">Events page</a>
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<div class="events-list">
|
||||
{{ events_html|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
14
template/events_archive-sr.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% block title %}Arhiva događaja{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">Arhiva događaja</h1>
|
||||
<p>
|
||||
Svi događaji koje smo do sada organzivali. Predstojeće događaje možeš naći
|
||||
<a href="/{{ lang }}/events">ovde</a>
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<div class="events-list">
|
||||
{{ events_html|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
20
template/head.ical
Normal file
@@ -0,0 +1,20 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Date iCal v3.8//NONSGML kigkonsult.se iCalcreator 2.20.2//
|
||||
METHOD:PUBLISH
|
||||
X-WR-CALNAME;VALUE=TEXT:Decentrala events
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Belgrade
|
||||
BEGIN:STANDARD
|
||||
DTSTART:20231029T030000
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
END:STANDARD
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:20240331T020000
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:CEST
|
||||
END:DAYLIGHT
|
||||
END:VTIMEZONE
|
||||
@@ -1,37 +1,11 @@
|
||||
<!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>
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ title }} Decentrala{% endblock %}
|
||||
|
||||
{% block extra_styles %}{{ extra_styles|safe }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrap">
|
||||
{{ content|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,37 +1,11 @@
|
||||
<!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>
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ title }} Decentrala{% endblock %}
|
||||
|
||||
{% block extra_styles %}{{ extra_styles|safe }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page-wrap">
|
||||
{{ content|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||