Compare commits
1 Commits
master
...
requiremen
Author | SHA1 | Date | |
---|---|---|---|
a31d9c8a75 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,5 +12,3 @@ http.access.log
|
|||||||
http.error.log
|
http.error.log
|
||||||
events.ical
|
events.ical
|
||||||
.vscode/
|
.vscode/
|
||||||
events.html
|
|
||||||
events_archive.html
|
|
||||||
|
21
Makefile
Normal file
21
Makefile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
VENV = venv
|
||||||
|
PYTHON = $(VENV)/bin/python3
|
||||||
|
PIP = $(VENV)/bin/pip
|
||||||
|
POSTERS = poster_light.png poster_dark.png
|
||||||
|
|
||||||
|
output: $(POSTERS)
|
||||||
|
|
||||||
|
poster_%.png: image_poster.py $(VENV)/bin/activate
|
||||||
|
$(PYTHON) $< 2>/dev/null
|
||||||
|
|
||||||
|
|
||||||
|
$(VENV)/bin/activate: requirements.txt
|
||||||
|
python3 -m venv $(VENV)
|
||||||
|
echo '*' > $(VENV)/.gitignore
|
||||||
|
$(PIP) install -r requirements.txt
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) -r __pycache__
|
||||||
|
$(RM) -r $(VENV)
|
||||||
|
$(RM) *.png
|
@ -29,15 +29,13 @@ def main():
|
|||||||
templateEN = fTempEN.read()
|
templateEN = fTempEN.read()
|
||||||
for page in PAGES:
|
for page in PAGES:
|
||||||
with open(f'pages/sr/{page["name"]}.html') as f:
|
with open(f'pages/sr/{page["name"]}.html') as f:
|
||||||
pageHtml = "<div><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div>"
|
pageHtml = f.read()
|
||||||
pageHtml += f.read()
|
|
||||||
html = buildPage(page['name'], page['titleSR'], pageHtml, page['style'], templateSR)
|
html = buildPage(page['name'], page['titleSR'], pageHtml, page['style'], templateSR)
|
||||||
f = open(f'site/{page["name"]}.html', 'w')
|
f = open(f'site/{page["name"]}.html', 'w')
|
||||||
f.write(html)
|
f.write(html)
|
||||||
f.close()
|
f.close()
|
||||||
with open(f'pages/en/{page["name"]}.html') as f:
|
with open(f'pages/en/{page["name"]}.html') as f:
|
||||||
pageHtml = "<div><img src='/img/students_bug.jpg' alt='Students found the bug' /></div>"
|
pageHtml = f.read()
|
||||||
pageHtml += f.read()
|
|
||||||
html = buildPage(page['name'], page['titleEN'], pageHtml, page['style'], templateEN)
|
html = buildPage(page['name'], page['titleEN'], pageHtml, page['style'], templateEN)
|
||||||
f = open(f'site/en/{page["name"]}.html', 'w')
|
f = open(f'site/en/{page["name"]}.html', 'w')
|
||||||
f.write(html)
|
f.write(html)
|
||||||
|
@ -198,39 +198,15 @@ datum, vreme, lokacija, tema, tip, link
|
|||||||
29-10-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Radionica lemljenja, workshop, https://forum.dmz.rs/t/lemljenje/777/1
|
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
|
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
|
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
|
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?u=wingaxe
|
||||||
11-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lighting, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks
|
11-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Lightning talks, lighting, 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
|
12-11-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Don’t 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,
|
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,
|
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
|
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
|
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
|
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,
|
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,
|
27-11-2024, 18:00, Matematički fakultet (N251) 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, lighting, https://wiki.dmz.rs/decentrala/dogadjaji/lightningtalks
|
04-12-2024, 18:00, Matematički fakultet (N251) https://www.openstreetmap.org/node/12291697569, OpenGL šejderi #2: SDF renderovanje, lecture,
|
||||||
03-12-2024, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Sysadmin vežbe, workshop, https://wiki.dmz.rs/en/sysadmin
|
11-12-2024, 18:00, Matematički fakultet (N251) https://www.openstreetmap.org/node/12291697569, OpenGL šejderi #3: Kompleksna analiza, lecture,
|
||||||
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, lighting,
|
|
||||||
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, lighting,
|
|
||||||
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,
|
|
||||||
|
|
3
pages/en/events.html
Normal file
3
pages/en/events.html
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<h1>Events</h1>
|
||||||
|
<p>Following list contains all forthcoming events. Held events are listed in <a href="/en/events_archive">archive</a>.</p><br>
|
||||||
|
<p>We also provide <a href="https://dmz.rs/events.ical">ical file</a></p><br>
|
4
pages/sr/events.html
Normal file
4
pages/sr/events.html
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<h1>Događaji</h1>
|
||||||
|
<p>Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja pogledaj <a href="/events_archive">arhivu</a>.</p><br>
|
||||||
|
<p>Događaje možeš učitati i sa <a href="https://dmz.rs/events.ical">ical</a> datotekom.</p><br>
|
||||||
|
|
15
prep.py
15
prep.py
@ -107,13 +107,6 @@ def build_ical(events: list[dict]) -> str:
|
|||||||
event_template = event_template.replace("<!--DATE-->", date)
|
event_template = event_template.replace("<!--DATE-->", date)
|
||||||
event_template = event_template.replace("<!--TITLE-->", title)
|
event_template = event_template.replace("<!--TITLE-->", title)
|
||||||
event_template = event_template.replace("<!--URL-->", url)
|
event_template = event_template.replace("<!--URL-->", url)
|
||||||
if location.startswith("DC Krov"):
|
|
||||||
event_template = event_template.replace("<!--LOCATION-->", "DC Krov\\, Kraljice Marije 47\\, 6\\, Beograd\\, Serbia")
|
|
||||||
elif location.startswith("Matematički fakultet (Učionica 153)"):
|
|
||||||
event_template = event_template.replace("<!--LOCATION-->", "Matematički fakultet\\, Svetog Nikole 39\\, Beograd\\, Serbia")
|
|
||||||
else:
|
|
||||||
event_template = event_template.replace("<!--LOCATION-->", "")
|
|
||||||
|
|
||||||
|
|
||||||
events_ical += event_template
|
events_ical += event_template
|
||||||
# Footer
|
# Footer
|
||||||
@ -141,7 +134,7 @@ for key, value_pair in TYPES_DICT.items():
|
|||||||
|
|
||||||
# Build Serbian Events page
|
# Build Serbian Events page
|
||||||
new_events_html = build_html(new_events, DAYS_SR, sr_types)
|
new_events_html = build_html(new_events, DAYS_SR, sr_types)
|
||||||
with open("template/events-sr.html", "r") as file:
|
with open("pages/sr/events.html", "r") as file:
|
||||||
page_template = ([line for line in file])
|
page_template = ([line for line in file])
|
||||||
|
|
||||||
with open("pages/sr/events.html", "w") as file:
|
with open("pages/sr/events.html", "w") as file:
|
||||||
@ -149,7 +142,7 @@ with open("pages/sr/events.html", "w") as file:
|
|||||||
|
|
||||||
# Build English Events page
|
# Build English Events page
|
||||||
new_events_html = build_html(new_events, DAYS_EN, en_types)
|
new_events_html = build_html(new_events, DAYS_EN, en_types)
|
||||||
with open("template/events-en.html", "r") as file:
|
with open("pages/en/events.html", "r") as file:
|
||||||
page_template = ([line for line in file])
|
page_template = ([line for line in file])
|
||||||
|
|
||||||
with open("pages/en/events.html", "w") as file:
|
with open("pages/en/events.html", "w") as file:
|
||||||
@ -157,7 +150,7 @@ with open("pages/en/events.html", "w") as file:
|
|||||||
|
|
||||||
# Build Serbian Archive page
|
# Build Serbian Archive page
|
||||||
past_events_html = build_html(past_events, DAYS_SR, sr_types)
|
past_events_html = build_html(past_events, DAYS_SR, sr_types)
|
||||||
with open("template/events_archive-sr.html", "r") as file:
|
with open("pages/sr/events_archive.html", "r") as file:
|
||||||
page_template = ([line for line in file])
|
page_template = ([line for line in file])
|
||||||
|
|
||||||
with open("pages/sr/events_archive.html", "w") as file:
|
with open("pages/sr/events_archive.html", "w") as file:
|
||||||
@ -165,7 +158,7 @@ with open("pages/sr/events_archive.html", "w") as file:
|
|||||||
|
|
||||||
# Build English Archive page
|
# Build English Archive page
|
||||||
past_events_html = build_html(past_events, DAYS_EN, en_types)
|
past_events_html = build_html(past_events, DAYS_EN, en_types)
|
||||||
with open("template/events_archive-en.html", "r") as file:
|
with open("pages/en/events_archive.html", "r") as file:
|
||||||
page_template = ([line for line in file])
|
page_template = ([line for line in file])
|
||||||
|
|
||||||
with open("pages/en/events_archive.html", "w") as file:
|
with open("pages/en/events_archive.html", "w") as file:
|
||||||
|
4
requirements.txt
Normal file
4
requirements.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
cairosvg
|
||||||
|
markdown
|
||||||
|
freetype-py
|
||||||
|
python-dateutil
|
Binary file not shown.
Before Width: | Height: | Size: 158 KiB |
@ -6,7 +6,7 @@ DTSTART;TZID=Europe/Belgrade:<!--DATE-->
|
|||||||
DTEND;TZID=Europe/Belgrade:<!--DATE-->
|
DTEND;TZID=Europe/Belgrade:<!--DATE-->
|
||||||
GEO:+44.805613;+20.479234
|
GEO:+44.805613;+20.479234
|
||||||
LAST-MODIFIED:<!--CREATED-->
|
LAST-MODIFIED:<!--CREATED-->
|
||||||
LOCATION:<!--LOCATION-->
|
LOCATION:DC Krov\, Kraljice Marije 47\, 6\, Beograd\, Serbia
|
||||||
STATUS:CONFIRMED
|
STATUS:CONFIRMED
|
||||||
SUMMARY:<!--TITLE-->
|
SUMMARY:<!--TITLE-->
|
||||||
URL;TYPE=URI:<!--URL-->
|
URL;TYPE=URI:<!--URL-->
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
<h1>Events</h1>
|
|
||||||
<p>
|
|
||||||
Following list contains all forthcoming events. Held events are listed in
|
|
||||||
<a href="/en/events_archive">archive</a>.
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<p>We also provide <a href="https://dmz.rs/events.ical">ical file</a></p>
|
|
||||||
<br />
|
|
@ -1,11 +0,0 @@
|
|||||||
<h1>Događaji</h1>
|
|
||||||
<p>
|
|
||||||
Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja
|
|
||||||
pogledaj <a href="/events_archive">arhivu</a>.
|
|
||||||
</p>
|
|
||||||
<br />
|
|
||||||
<p>
|
|
||||||
Događaje možeš učitati i sa
|
|
||||||
<a href="https://dmz.rs/events.ical">ical</a> datotekom.
|
|
||||||
</p>
|
|
||||||
<br />
|
|
@ -52,7 +52,6 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<a href="/en/events">Events</a>
|
<a href="/en/events">Events</a>
|
||||||
<a href="/en/services">Services</a>
|
<a href="/en/services">Services</a>
|
||||||
<a href="/en/statute">Statute</a>
|
|
||||||
<a href="/en/about">About</a>
|
<a href="/en/about">About</a>
|
||||||
<a href="/en/account">Account</a>
|
<a href="/en/account">Account</a>
|
||||||
<a href="/en/donations">Donations</a>
|
<a href="/en/donations">Donations</a>
|
||||||
|
@ -52,7 +52,6 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<a href="/events">Događaji</a>
|
<a href="/events">Događaji</a>
|
||||||
<a href="/services">Servisi</a>
|
<a href="/services">Servisi</a>
|
||||||
<a href="/statute">Statut</a>
|
|
||||||
<a href="/about">O nama</a>
|
<a href="/about">O nama</a>
|
||||||
<a class="account" href="/account">Nalog</a>
|
<a class="account" href="/account">Nalog</a>
|
||||||
<a href="/donations">Donacije</a>
|
<a href="/donations">Donacije</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user