Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa07029393 | ||
|
|
3c07abb72a | ||
|
|
0c2df231e9 | ||
|
|
494550d6fe | ||
|
|
974728a97b | ||
|
|
256cbca3bc | ||
|
|
d2a6463756 | ||
|
|
1200b4faa4 | ||
|
|
0757fbe434 | ||
|
|
42aa844ea0 |
@@ -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"
|
||||
@echo " make stop - Stop development server"
|
||||
@echo " make dev - Start development server (might need a sudo)"
|
||||
@echo " make stop - Stop development server (might need a sudo)"
|
||||
@echo " make build - Full website build sequence"
|
||||
@echo " make help - Show this help message"
|
||||
|
||||
@@ -27,10 +27,11 @@ dev:
|
||||
nginx -p . -c nginx.dev.conf
|
||||
|
||||
stop:
|
||||
nginx -p . -c nginx.dev.conf -s stop
|
||||
nginx -p . -s stop
|
||||
|
||||
lint:
|
||||
./.venv/bin/flake8 . --config .flake8 --exclude .venv
|
||||
|
||||
format:
|
||||
./.venv/bin/black .
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ PAGES = [
|
||||
env = Environment(loader=FileSystemLoader("template"))
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
os.makedirs("site/en/", exist_ok=True)
|
||||
for page in PAGES:
|
||||
|
||||
+1
-19
@@ -362,24 +362,6 @@ 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,The Strange Loop videos,lecture,https://www.thestrangeloop.com/index.html,The Strange Loop videos
|
||||
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)
|
||||
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
-1
@@ -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",
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
# 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;
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -5,13 +5,6 @@ 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"),
|
||||
|
||||
@@ -15,7 +15,6 @@ 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) => {
|
||||
@@ -24,7 +23,6 @@ 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) => {
|
||||
@@ -48,27 +46,6 @@ 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", () => {
|
||||
|
||||
Reference in New Issue
Block a user