diff --git a/dogadjaji.csv b/dogadjaji.csv
index 56d9ff73..fe54839e 100644
--- a/dogadjaji.csv
+++ b/dogadjaji.csv
@@ -10,3 +10,11 @@ datum, vreme, lokacija, tema
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
\ No newline at end of file
diff --git a/font/Facade-Sud.woff b/font/Facade-Sud.woff
new file mode 100644
index 00000000..bf241153
Binary files /dev/null and b/font/Facade-Sud.woff differ
diff --git a/font/JetBrainsMono-Regular.ttf b/font/JetBrainsMono-Regular.ttf
new file mode 100644
index 00000000..42e9fbaa
Binary files /dev/null and b/font/JetBrainsMono-Regular.ttf differ
diff --git a/poster.html b/poster.html
new file mode 100644
index 00000000..857c8ee5
--- /dev/null
+++ b/poster.html
@@ -0,0 +1,9 @@
+
DECENTRALA
Plan za Avgust
UTO
1.
Tehno veče
+
PON
7.
Linux ricing
+
UTO
8.
Lambda račun
+
PON
14.
Linux distro diskusija
+
UTO
15.
Pirati 777 mora
+
PON
21.
Python vežbe
+
UTO
22.
Autentifikacija na internetu
+
PON
28.
Kviz
+
Radionice počinju u 19h u Društvenom centru Krov u Kraljice Marije 47.
Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah pored menjačnice. DC Krov je na poslednjem spratu.
dmz.rs
\ No newline at end of file
diff --git a/poster.py b/poster.py
new file mode 100644
index 00000000..24085e27
--- /dev/null
+++ b/poster.py
@@ -0,0 +1,58 @@
+import csv
+import datetime as dt
+from dateutil import relativedelta
+
+EVENTS_CSV_PATH = "dogadjaji.csv"
+CURRENT_TIME = dt.date.today()
+NEXT_MONTH = CURRENT_TIME + relativedelta.relativedelta(months=1, day=1)
+DAYS_OF_WEEK_SR = ("PON", "UTO", "SRE", "CET", "PET", "SUB", "NED")
+MONTHS_SR = ("Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar")
+
+def load_events(csv_path:str) -> list[dict]:
+ events = []
+ with open(csv_path) as csv_file:
+ csv_reader = csv.reader(csv_file)
+ next(csv_reader, None)
+ for event in csv_reader:
+ event_date = event[0]
+ event_date_parsed = dt.datetime.strptime(event_date, "%d-%m-%Y").date()
+ event_time = event[1]
+ event_title = event[3]
+ current_event = {"date":event_date_parsed,
+ "time":event_time,
+ "title":event_title}
+
+ if event_date_parsed >= NEXT_MONTH:
+ events.append(current_event)
+
+ return events
+
+def render_table(events:list[dict])-> str:
+ html = ""
+ for event in events:
+ date = DAYS_OF_WEEK_SR[event["date"].weekday()]
+ day = event["date"].day
+ title = event["title"]
+ html += f"
{date}
{day}.
{title}
\n"
+ return html
+
+def render_page(table: str) -> str:
+ head = ""
+ header = "
DECENTRALA
"
+ subheader = f"
Plan za {MONTHS_SR[NEXT_MONTH.month - 1]}
"
+ link = "
dmz.rs
"
+ p1 = "
Radionice počinju u 19h u Društvenom centru Krov u Kraljice Marije 47.
"
+ p2 = "
Ulaz u zgradu je u prolazu pored Štark prodavnice slatkiša, odmah pored menjačnice. DC Krov je na poslednjem spratu.