diff --git a/Makefile b/Makefile index 153c6d7..5197b65 100644 --- a/Makefile +++ b/Makefile @@ -28,3 +28,4 @@ dev: stop: nginx -p . -s stop + diff --git a/build_pages.py b/build_pages.py index 8098634..87b1eb7 100755 --- a/build_pages.py +++ b/build_pages.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python3 +from jinja2 import Environment, FileSystemLoader import os PAGES = [ @@ -14,34 +14,47 @@ PAGES = [ {'name': 'deconference', 'titleSR': 'Dekonferencija', 'titleEN': 'Deconference', 'style': 'deconference'}, ] -def buildPage(filename: str, pageTitle: str, pageHtml: str, pageStyle: str, template: str) -> str: - template = template.replace('', pageTitle) - style = '' if not pageStyle else f'' - template = template.replace('', style) - template = template.replace('PAGE_NAME', filename) - template = template.replace('', 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 = "
Studenti su nasli bug
" - pageHtml += f.read() - html = buildPage(page['name'], page['titleSR'], pageHtml, page['style'], templateSR) - f = open(f'site/{page["name"]}.html', 'w') - f.write(html) - f.close() - with open(f'pages/en/{page["name"]}.html') as f: - pageHtml = "
Students found the bug
" - pageHtml += f.read() - html = buildPage(page['name'], page['titleEN'], pageHtml, page['style'], templateEN) - f = open(f'site/en/{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 = "
Studenti su nasli bug
" + page_content += f.read() + + sr_html = env.get_template('page-sr.html').render( + title=page['titleSR'], + content=page_content, + extra_styles=f'' 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 = "
Students found the bug
" + page_content += f.read() + + en_html = env.get_template('page-en.html').render( + title=page['titleEN'], + content=page_content, + extra_styles=f'' 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() + diff --git a/pages/en/about.html b/pages/en/about.html index 6a31b47..1abb9ea 100644 --- a/pages/en/about.html +++ b/pages/en/about.html @@ -1,12 +1,17 @@

About us

Statute:
-
We make decisions by direct democracy. Our statute can be found at statute page
+
+ We make decisions by direct democracy. Our statute can be found at + statute page +
Contact:
- You can send mail to dmz@dmz.rs or you can register on our Forum. - Also, we are available on the Fediverse! + You can send mail to dmz@dmz.rs or you can + register on our Forum. Also, we are + available on the + Fediverse! If you find a bug on the site, please do tell us. We would be very grateful.
diff --git a/pages/en/account.html b/pages/en/account.html index 0b81e15..bbeddf1 100644 --- a/pages/en/account.html +++ b/pages/en/account.html @@ -14,10 +14,13 @@

-

Register

-

-

Delete account

-

-

Change password

-

+

+ Register +

+

+ Delete account +

+

+ Change password +

diff --git a/pages/en/blog.html b/pages/en/blog.html index 75b936d..11172f2 100644 --- a/pages/en/blog.html +++ b/pages/en/blog.html @@ -1,2 +1,2 @@ Ova stranica je trenutno u izradi... - \ No newline at end of file + diff --git a/pages/en/deconference.html b/pages/en/deconference.html index cdad67f..471dc3f 100644 --- a/pages/en/deconference.html +++ b/pages/en/deconference.html @@ -1,34 +1,95 @@

Deconference

Program

-

11:00 Otvaranje

-

12:00 Cryptoparty

-

14:00 Hakaton

-

16:00 Lightning talks

-

18:00 Diskusije

-

20:00 Cryptoparty

-

22:00 Kraj

+

11:00 Otvaranje

+

+

+ 12:00 + Cryptoparty +

+

+

+ 14:00 + Hakaton +

+

+

+ 16:00 + Lightning talks +

+

+

18:00 Diskusije

+

+

+ 20:00 + Cryptoparty +

+

+

22:00 Kraj

+

What?

-

Deconference is the inaugural conference organized by Decentrala, a Belgrade hackerspace. It serves as a platform for individuals to present and discuss ideas related to decentralization in all its forms.

+

+ Deconference is the inaugural conference organized by + Decentrala, a Belgrade hackerspace. It serves as + a platform for individuals to present and discuss ideas related to + decentralization in all its forms. +

When & Where?

-

Deconference will take place all day on Sunday, September 15, 2024, at Cultural Center Magacin, located at Kraljevića Marka 4-8, Belgrade. The evening prior, a social gathering will be hosted at Community Center Krov, located at Kraljice Marije 47, Belgrade.

+

+ Deconference will take place all day on Sunday, September 15, 2024, at + Cultural Center Magacin, located at + Kraljevića Marka 4-8, Belgrade. The evening prior, a social gathering will be hosted at + Community Center Krov, located at + Kraljice Marije 47, Belgrade. +

Why?

-

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.

+

+ 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. +

-

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.

+

+ 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. +

Who?

-

Deconference is an open platform for anyone interested in discussing, demonstrating, or exploring decentralization. You can register your event by emailing dekonferencija@dmz.rs up until the day of the Deconference (September 15).

+

+ Deconference is an open platform for anyone interested in discussing, + demonstrating, or exploring decentralization. You can register your event by + emailing dekonferencija@dmz.rs up + until the day of the Deconference (September 15). +

We will update this section as topics are confirmed.

How?

-

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.

+

+ 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. +

Decentrala accepts donations exclusively from individuals.

diff --git a/pages/en/index.html b/pages/en/index.html index a092fa9..196e67e 100644 --- a/pages/en/index.html +++ b/pages/en/index.html @@ -1,27 +1,68 @@

Welcome!

- We are Decentrala - a group of enthusiasts gathered around the idea of decentralization and knowledge sharing. - Here are some more facts about us: + We are Decentrala - a group of enthusiasts gathered around the idea + of decentralization and knowledge sharing. Here are some more facts about us:

-
Motivation:
-
Decentralization promotes sustainability, availability, accesibility, autonomy, privacy and freedom. On those networks we have less manipulation, propaganda, ads, and are not designed to lock your attention (dumbing down). - Tell us why decentralization is important to you +
+ Decentralization promotes + sustainability, + availability, + accesibility, + autonomy, + privacy + and + freedom. On those networks we have less + manipulation, + propaganda, ads, and + + are not designed to lock your attention (dumbing down) + + . + + Tell us why decentralization is important to you +
Knowledge:
- All our workshops are free and open to everyone. - Also, if you have something to share, feel free to announce the event on the Forum. + All our workshops are free and open to everyone. Also, if you have something + to share, feel free to announce the event on the + Forum.
Actions:
-
From time to time we organize actions, hackathons, crypto parties, exhibitions, etc.
+
+ From time to time we organize actions, hackathons, crypto parties, + exhibitions, etc. +
Services:
-
Our servers run various services (like e-mail, git, wiki, etc...) that are open to everyone.
+
+ Our servers run various services (like e-mail, git, wiki, etc...) that are + open to everyone. +

- If you are still interested, you can create an account - on our server which will enable the use of all our services. - If you want to see first how it all looks, you can come to one of our - event, and meet us there! + If you are still interested, you can create an + account on our server which will enable the use of + all our services. If you want to see first how it + all looks, you can come to one of our event, and meet + us there!

diff --git a/pages/en/services.html b/pages/en/services.html index 60eeff4..aa72286 100644 --- a/pages/en/services.html +++ b/pages/en/services.html @@ -43,8 +43,8 @@ Jitsi - Jitsi.org meeting app, conferences, group video calls, online events, alternative - to zoom. + Jitsi.org meeting app, conferences, group + video calls, online events, alternative to zoom. ", uid) - event_template = event_template.replace("", created) - event_template = event_template.replace("", date) - event_template = event_template.replace("", title) - event_template = event_template.replace("", url) - if location.startswith("DC Krov"): - event_template = event_template.replace("", "DC Krov\\, Kraljice Marije 47\\, 6\\, Beograd\\, Serbia") - elif location.startswith("Matematički fakultet (Učionica 153)"): - event_template = event_template.replace("", "Matematički fakultet\\, Svetog Nikole 39\\, Beograd\\, Serbia") - else: - event_template = event_template.replace("", location) + 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 - - events_ical += event_template - # Footer with open("template/end.ical", "r") as file: events_ical += file.read() return events_ical -events = sorted(load_events("dogadjaji.csv"), key=lambda e: e["date"]) +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() -past_events = list(filter(lambda e: e["date"] <= today, events)) -past_events.reverse() -new_events = list(filter(lambda e: e["date"] >= today, events)) +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] +sr_types = {k: v[0] for k, v in TYPES_DICT.items()} +en_types = {k: v[1] for k, v in TYPES_DICT.items()} -page_template = "" +# 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 %} +
+
{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h
+ {% if event.link %} +
{{ event.title }}
+ {% else %} +
{{ event.title }}
+ {% endif %} + {% if 'https://' in event.location %} + {% set place, link = event.location.split('https://') %} +
@{{ place.strip() }}
+ {% else %} +
@{{ event.location.strip() }}
+ {% endif %} + {% if event.types %} +
+ {% for t in event.types %} + {{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} +
+ {% endfor %} + """).render(events=new_events, types_names=sr_types) +}) -sr_types = {} -en_types = {} +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 %} +
+
{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h
+ {% if event.link %} +
{{ event.title }}
+ {% else %} +
{{ event.title }}
+ {% endif %} + {% if 'https://' in event.location %} + {% set place, link = event.location.split('https://') %} +
@{{ place.strip() }}
+ {% else %} +
@{{ event.location.strip() }}
+ {% endif %} + {% if event.types %} +
+ {% for t in event.types %} + {{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} +
+ {% endfor %} + """).render(events=new_events, types_names=en_types) +}) -for key, value_pair in TYPES_DICT.items(): - sr_types[key] = value_pair[0] - en_types[key] = value_pair[1] +# 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 %} +
+
{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h
+ {% if event.link %} +
{{ event.title }}
+ {% else %} +
{{ event.title }}
+ {% endif %} + {% if 'https://' in event.location %} + {% set place, link = event.location.split('https://') %} +
@{{ place.strip() }}
+ {% else %} +
@{{ event.location.strip() }}
+ {% endif %} + {% if event.types %} +
+ {% for t in event.types %} + {{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} +
+ {% endfor %} + """).render(events=past_events, types_names=sr_types) +}) -# Build Serbian Events page -new_events_html = build_html(new_events, DAYS_SR, sr_types) -with open("template/events-sr.html", "r") as file: - page_template = ([line for line in file]) - -with open("pages/sr/events.html", "w") as file: - file.writelines(page_template + new_events_html) - -# Build English Events page -new_events_html = build_html(new_events, DAYS_EN, en_types) -with open("template/events-en.html", "r") as file: - page_template = ([line for line in file]) - -with open("pages/en/events.html", "w") as file: - file.writelines(page_template + new_events_html) - -# Build Serbian Archive page -past_events_html = build_html(past_events, DAYS_SR, sr_types) -with open("template/events_archive-sr.html", "r") as file: - page_template = ([line for line in file]) - -with open("pages/sr/events_archive.html", "w") as file: - file.writelines(page_template + past_events_html) - -# Build English Archive page -past_events_html = build_html(past_events, DAYS_EN, en_types) -with open("template/events_archive-en.html", "r") as file: - page_template = ([line for line in file]) - -with open("pages/en/events_archive.html", "w") as file: - file.writelines(page_template + past_events_html) - -new_events_ical = build_ical(new_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 %} +
+
{{ event.date.strftime('%a, %d. %b. %Y') }}, {{ event.time }}h
+ {% if event.link %} +
{{ event.title }}
+ {% else %} +
{{ event.title }}
+ {% endif %} + {% if 'https://' in event.location %} + {% set place, link = event.location.split('https://') %} +
@{{ place.strip() }}
+ {% else %} +
@{{ event.location.strip() }}
+ {% endif %} + {% if event.types %} +
+ {% for t in event.types %} + {{ types_names.get(t, t) }}{% if not loop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} +
+ {% endfor %} + """).render(events=past_events, types_names=en_types) +}) # Build ical with open("site/events.ical", "w") as file: file.write(build_ical(new_events)) - diff --git a/requirements.txt b/requirements.txt index d8cb4b8..e1ee0f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ freetype-py python-dateutil feedgen pillow +jinja2 diff --git a/site/deconference.html b/site/deconference.html index 0de7e7c..7ec389b 100644 --- a/site/deconference.html +++ b/site/deconference.html @@ -1,21 +1,7 @@ - - - - - - --> + + + - + Dekonferencija Decentrala - +
EN
-
-
Studenti su nasli bug

Dekonferencija

+ +
+
Studenti su nasli bug

Dekonferencija

Program

-

11:00 Otvaranje

-

12:00 Cryptoparty

-

14:00 Hakaton

-

16:00 Lightning talks

-

18:00 Diskusije

-

20:00 Cryptoparty

-

22:00 Kraj

+

11:00 Otvaranje

+

+ 12:00 + Cryptoparty +

+

+ 14:00 + Hakaton +

+

+ 16:00 + Lightning talks +

+

18:00 Diskusije

+

+ 20:00 + Cryptoparty +

+

22:00 Kraj

Šta?

-

Dekonferencija je prva konferencija organizovana od strane Decentrale, Beogradskog hakerspejsa. Dekonferencija služi kao platforma za predstavljanje i diskusiju ideja decentralizacije u svim svojim oblicima.

+

+ Dekonferencija je prva konferencija organizovana od strane + Decentrale, Beogradskog hakerspejsa. + Dekonferencija služi kao platforma za predstavljanje i diskusiju ideja + decentralizacije u svim svojim oblicima. +

Kad & Gde?

-

Dekonferencija će se održati u nedelju, 15.-og Septembra, 2024, u Kulturnom Centru Magacin, na adresi Kraljevića Marka 4-8, Beograd. Veče pre, održaće se druženje povodom organizovanja konferencije u prostorijama Društvenog Centra Krov, na adresi Kraljice Marije 47, Beograd.

+

+ Dekonferencija će se održati u nedelju, 15.-og Septembra, 2024, u Kulturnom + Centru Magacin, na adresi + Kraljevića Marka 4-8, Beograd. Veče pre, održaće se druženje povodom organizovanja konferencije u + prostorijama Društvenog Centra Krov, na + adresi Kraljice Marije 47, Beograd. +

Zašto?

-

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.

+

+ 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. +

-

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.

+

+ 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. +

Ko?

-

Dekonferencija je otvorena platforma za sve zainteresovane za diskusiju, demonstraciju, ili istraživanje decentralizacije. Možete registrovati vaš događaj slanjem email-a na dekonferencija@dmz.rs do dana Dekonferencije (15.-ti Septembar).

+

+ Dekonferencija je otvorena platforma za sve zainteresovane za diskusiju, + demonstraciju, ili istraživanje decentralizacije. Možete registrovati vaš + događaj slanjem email-a na + dekonferencija@dmz.rs do dana + Dekonferencije (15.-ti Septembar). +

Osvežićemo ovaj deo kako se teme događaja potvrde.

Kako?

-

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.

- +

+ 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. +

Decentrala prihvata donacije isključivo od fizičkih lica.

-
+
+
- + \ No newline at end of file diff --git a/template/base.html b/template/base.html new file mode 100644 index 0000000..3120f1d --- /dev/null +++ b/template/base.html @@ -0,0 +1,87 @@ + + + + + + + + + + + + {% block extra_styles %}{% endblock %} + + + {{ title }} Decentrala + + + +
+ + + {{ 'SR' if lang == 'en' else 'EN' }} +
+
+ {% block content %}{% endblock %} +
+ + + diff --git a/template/events-en.html b/template/events-en.html index 5e2bce4..73371ee 100644 --- a/template/events-en.html +++ b/template/events-en.html @@ -1,19 +1,22 @@ +{% block content %}

Events

Following list contains all forthcoming events. Held events are listed in - archive. + archive.

Events are also available as an ical file.

-

We also provide ical file

- - Short description - + Short description how to find a space

+ +
+ {{ events_html|safe }} +
+{% endblock %} diff --git a/template/events-sr.html b/template/events-sr.html index f5633d1..83efb23 100644 --- a/template/events-sr.html +++ b/template/events-sr.html @@ -1,18 +1,22 @@ +{% block content %}

Događaji

Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja - pogledaj arhivu. + pogledaj arhivu.

Događaje možeš učitati i sa ical datotekom.

- - Kratako uputstvo - + Kratako uputstvo kako pronaci prostor

+ +
+ {{ events_html|safe }} +
+{% endblock %} diff --git a/template/events_archive-en.html b/template/events_archive-en.html index 2a8ca0d..8e6a22e 100644 --- a/template/events_archive-en.html +++ b/template/events_archive-en.html @@ -1,6 +1,14 @@ -

Events archive

+{% block title %}Events archive{% endblock %} + +{% block content %} +

Events archive

All events that we organized so far. You can find future events on - Events page + Events page


+ +
+ {{ events_html|safe }} +
+{% endblock %} diff --git a/template/events_archive-sr.html b/template/events_archive-sr.html index 5b696bd..5d8d6bc 100644 --- a/template/events_archive-sr.html +++ b/template/events_archive-sr.html @@ -1,6 +1,14 @@ -

Arhiva događaja

+{% block title %}Arhiva događaja{% endblock %} + +{% block content %} +

Arhiva događaja

Svi događaji koje smo do sada organzivali. Predstojeće događaje možeš naći - ovde + ovde


+ +
+ {{ events_html|safe }} +
+{% endblock %} diff --git a/template/page-en.html b/template/page-en.html index b213d7f..a043481 100644 --- a/template/page-en.html +++ b/template/page-en.html @@ -1,90 +1,11 @@ - - - - - - +{% extends "base.html" %} - - - - - - - - <!--TITLE--> Decentrala - - - -
- - - SR -
-
-
- -
-
- - - +{% block content %} +
+ {{ content|safe }} +
+{% endblock %} diff --git a/template/page-sr.html b/template/page-sr.html index 0290182..a043481 100644 --- a/template/page-sr.html +++ b/template/page-sr.html @@ -1,91 +1,11 @@ - - - - - - +{% extends "base.html" %} - - - - - - - - <!--TITLE--> Decentrala - - - -
- - - EN -
-
-
- -
-
- - - +{% block content %} +
+ {{ content|safe }} +
+{% endblock %}