Author SHA1 Message Date
coja fe562d05a4 [Fix] fix 2026-08-09 05:56:13 +02:00
coja 1af174b20b [Cleanup] agents 2026-08-09 05:54:50 +02:00
cojaandcoja 95ed69a32a [Doc] sudo for dev 2026-08-09 05:54:50 +02:00
cojaandcoja 34d203091c [Gobal] added flake8 and did format 2026-08-09 05:54:50 +02:00
cojaandcoja 0b78b3c247 [Page] language change fix 2026-08-09 05:54:50 +02:00
cojaandcoja acd0f61b3b [Page] statute strange unicodes 2026-08-09 05:54:50 +02:00
cojaandcoja 44fc4bfae4 [Page] syntax fixes and formating 2026-08-09 05:54:50 +02:00
cojaandcoja e89fc7dff6 [Page] deconference 2026-08-09 05:54:50 +02:00
cojaandcoja 8c5ba2c5e7 [Jinja2] lang btn and cleanup 2026-08-09 05:54:09 +02:00
cojaandcoja 1a0b3167c0 [Jinja2] init 2026-08-09 05:54:07 +02:00
coja cc0127dbe3 [Fix] no more sudo needed, runtime warn 2026-08-09 05:49:52 +02:00
coja 2843f1763e [Lint] ran formated 2026-08-09 05:02:17 +02:00
coja d53aa42ecc [Makefile] lint and format 2026-08-09 05:01:59 +02:00
coja db0169f34b [Theme] light/dark persistance 2026-08-09 04:43:46 +02:00
coja b4a968d991 [Lang] fix persistance 2026-08-09 04:39:00 +02:00
coja a823f3a8bf [Services] pastebin 2026-08-09 04:14:56 +02:00
fram3d a3e9b61c5c added events for 08-2026 2026-07-29 00:50:30 +02:00
coja ec0b797f15 [Events] July update 2026-07-01 00:40:44 +02:00
coja e63f6a85be [Fix] typo and locations 2026-06-22 16:47:27 +02:00
coja 3906aef068 [Events] june update 2026-06-02 01:14:46 +02:00
coja 1210930ff9 [Event] june update 2026-06-01 23:20:47 +02:00
coja a212d2bece [Event] page, repetition cleanup 2026-06-01 00:49:01 +02:00
coja b34ed3c578 [Events] June partial 2026-06-01 00:47:23 +02:00
coja 7e7dbe1b49 [Events] fix and first event june 2026-06-01 00:35:27 +02:00
coja a58f5e4514 [Events] Loza lecture 2026-05-27 01:56:06 +02:00
hugo 15c0354eb3 Konferencija umesto filma 2026-05-15 22:36:19 +02:00
10 changed files with 62 additions and 10 deletions
+3 -4
View File
@@ -4,8 +4,8 @@ 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 (might need a sudo)"
@echo " make stop - Stop development server (might need a sudo)"
@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"
@@ -27,11 +27,10 @@ dev:
nginx -p . -c nginx.dev.conf
stop:
nginx -p . -s stop
nginx -p . -c nginx.dev.conf -s stop
lint:
./.venv/bin/flake8 . --config .flake8 --exclude .venv
format:
./.venv/bin/black .
+1
View File
@@ -32,6 +32,7 @@ PAGES = [
env = Environment(loader=FileSystemLoader("template"))
def main():
os.makedirs("site/en/", exist_ok=True)
for page in PAGES:
+19 -1
View File
@@ -362,6 +362,24 @@ datum, vreme, lokacija, tema, tip, link, temaEN
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)
19-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,The Strange Loop videos,lecture,https://www.thestrangeloop.com/index.html,The Strange Loop videos
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)
31-05-2026, 17:00, Drustveni centar Loza - Ivankovačka 21 https://www.openstreetmap.org/node/4013343518,Uvod u informacionu bezbednost,lecture,,Introduction to information security
01-06-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
02-06-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,Software hackathon,workshop,,Software hackathon
07-06-2026, 10:00, KC Magacin - Marka Kraljevica 4 https://www.openstreetmap.org/#map=18/44.813246/20.453640, Zig Day,workshop,https://zig.day/europe/belgrade/1/,Zig Day
08-06-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Decentrala offline forum,workshop,,Decentrala offline forum
15-06-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OverTheWire - Bandit CTF,workshop,,OverTheWire - Bandit CTF
16-06-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606, OSM contributing,workshop,,OSM contributing
22-06-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OverTheWire - Bandit CTF,workshop,,OverTheWire - Bandit CTF
29-06-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,LAN party,party,,LAN Party
06-07-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Linux ricing,lightning,,Linux ricing
13-07-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Hardware CTF/Logic analyzer,workshop,,Hardware CTF/Logic analyzer
20-07-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,T-shirt workshop,workshop,,T-shirt workshop
27-07-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Lightning talks,lightning,,Lightning talks
03-08-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
10-08-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,LAN party,party,,LAN Party
17-08-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Mail server - 1. deo,workshop,, Mail server - part 1
24-08-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Film: Primer (2004),movie,,Movie: Primer (2004)
31-08-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Lightning talks,lightning,,Lightning talks
1 datum vreme lokacija tema tip link temaEN
362 11-05-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Hardware hackathon workshop Hardware hackathon
363 12-05-2026 18:00 Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606 OpenSCAD lecture OpenSCAD
364 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)
365 19-05-2026 18:00 Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606 Film: The Seventh Seal (1957) The Strange Loop videos movie lecture https://www.thestrangeloop.com/index.html Movie: The Seventh Seal (1957) The Strange Loop videos
366 25-05-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Reverse engineering workshop Reverse engineering
367 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)
368 31-05-2026 17:00 Drustveni centar Loza - Ivankovačka 21 https://www.openstreetmap.org/node/4013343518 Uvod u informacionu bezbednost lecture Introduction to information security
369 01-06-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Sysadmin radionica workshop Sysadmin workshop
370 02-06-2026 18:00 Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606 Software hackathon workshop Software hackathon
371 07-06-2026 10:00 KC Magacin - Marka Kraljevica 4 https://www.openstreetmap.org/#map=18/44.813246/20.453640 Zig Day workshop https://zig.day/europe/belgrade/1/ Zig Day
372 08-06-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Decentrala offline forum workshop Decentrala offline forum
373 15-06-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 OverTheWire - Bandit CTF workshop OverTheWire - Bandit CTF
374 16-06-2026 18:00 Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606 OSM contributing workshop OSM contributing
375 22-06-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 OverTheWire - Bandit CTF workshop OverTheWire - Bandit CTF
376 29-06-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 LAN party party LAN Party
377 06-07-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Linux ricing lightning Linux ricing
378 13-07-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Hardware CTF/Logic analyzer workshop Hardware CTF/Logic analyzer
379 20-07-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 T-shirt workshop workshop T-shirt workshop
380 27-07-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Lightning talks lightning Lightning talks
381 03-08-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Sysadmin radionica workshop Sysadmin workshop
382 10-08-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 LAN party party LAN Party
383 17-08-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Mail server - 1. deo workshop Mail server - part 1
384 24-08-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Film: Primer (2004) movie Movie: Primer (2004)
385 31-08-2026 19:00 Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876 Lightning talks lightning Lightning talks
+1 -1
View File
@@ -11,7 +11,7 @@ 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")
DAYS_OF_WEEK_EN = ("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN")
MONTHS_SR = (
"Januar",
+3
View File
@@ -1,9 +1,12 @@
# Start nginx in this directory with `nginx -p . -c nginx.conf`
# Stop nginx with `nginx -p . -s stop`
pid nginx.pid;
events {}
http {
# edit this for your system
types_hash_max_size 2048;
types_hash_bucket_size 128;
include /etc/nginx/mime.types;
+1
View File
@@ -0,0 +1 @@
172000
+2 -2
View File
@@ -66,14 +66,14 @@
<a href="https://github.com/searxng/searxg/">SearXNG</a> instance used for
Web searching.
</td>
</tr>
</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>
<tr>
<td><a href="ssh://soft.dmz.rs:2222/">Soft Serve</a></td>
<td>
+2 -2
View File
@@ -69,14 +69,14 @@
<a href="https://github.com/searxng/searxng/">SearXNG</a> instanca koju
koristimo za pretraživanje Interneta. Zamena za Google.
</td>
</tr>
</tr>-->
<tr>
<td><a href="https://pastebin.dmz.rs/">Pastebin</a></td>
<td>
<a href="https://privatebin.info/">PrivateBin</a> instanca koju koristimo
za brzo deljenje tekstualnih fajlova
</td>
</tr>-->
</tr>
<tr>
<td><a href="ssh://soft.dmz.rs:2222/">Soft Serve</a></td>
<td>
+7
View File
@@ -5,6 +5,13 @@ import os
DAYS_SR = ["PON", "UTO", "SRE", "ČET", "PET", "SUB", "NED"]
DAYS_EN = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
ICAL_LOCATION_ADDRESSES = {
"Xecut": "XECUT\\, Jovana Ćirilova 15\\, Local 3\\, Beograd\\, Serbia",
"Matematički fakultet (Učionica JAG2)": "Matematički fakultet (JAG2)\\, Vatroslava Jagića 5\\, Beograd\\, Serbia",
"Matematički fakultet (Učionica JAG3)": "Matematički fakultet (JAG3)\\, Vatroslava Jagića 5\\, Beograd\\, Serbia",
"Matematički fakultet (Učionica 153)": "Matematički fakultet\\, Svetog Nikole 39\\, Beograd\\, Serbia",
}
TYPES_DICT = {
"hack": ("hakaton", "hackathon"),
"lecture": ("predavanje", "lecture"),
+23
View File
@@ -15,6 +15,7 @@ window.addEventListener("DOMContentLoaded", () => {
/* Functions */
const changeToDarkTheme = () => {
window.localStorage.setItem("theme", "dark");
document.documentElement.classList.add("dark");
themeBtn?.setAttribute("title", "turn the light on");
Array.from(imgs).forEach((img) => {
@@ -23,6 +24,7 @@ window.addEventListener("DOMContentLoaded", () => {
}
const changeToLightTheme = () => {
window.localStorage.setItem("theme", "light");
document.documentElement.classList.remove("dark");
themeBtn?.setAttribute("title", "turn the light off");
Array.from(imgs).forEach((img) => {
@@ -46,6 +48,27 @@ window.addEventListener("DOMContentLoaded", () => {
window.addEventListener("resize", () => isMenuOpen() && closeMenu());
main.addEventListener("click", () => isMenuOpen() && closeMenu());
/* Language persistence */
const currentLang = document.documentElement.lang || "sr";
const anchors = document.getElementsByTagName("a");
Array.from(anchors).forEach((a) => {
// Skip language switcher links
if (a.classList.contains("lang")) return;
const href = a.getAttribute("href");
if (!href) return;
if (href.startsWith("/")) {
// Replace existing language prefix or add one
if (href.startsWith("/sr") || href.startsWith("/en")) {
if (!href.startsWith(`/${currentLang}`)) {
a.setAttribute("href", `/${currentLang}${href.slice(3)}`);
}
} else {
// No language prefix, prepend currentLang
a.setAttribute("href", `/${currentLang}${href}`);
}
}
});
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
themeBtn.addEventListener("click", () => {