Compare commits
27 Commits
899f9fe871
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9eca59f80f | ||
|
|
c3ae746d83 | ||
|
|
a66da9b2d5 | ||
|
|
e9147b34cb | ||
|
|
02c2dcc9fc | ||
|
|
749574c8dc | ||
|
|
c40f101540 | ||
|
|
5958bbc24f | ||
|
|
d9c93d1182 | ||
|
|
d001d6b287 | ||
|
|
910f375c94 | ||
|
|
69b0e5b63a | ||
|
|
ec64147c6b | ||
|
|
b6cfef830a | ||
|
|
e3330ad1bd | ||
|
|
6d31b3915b | ||
|
|
e18bf1899e | ||
|
|
9fc58a992e | ||
|
|
6013ff7cc8 | ||
|
|
d1051be74b | ||
|
|
9ff6c99615 | ||
|
|
bbf1ffa445 | ||
|
|
507472f6ff | ||
|
|
5c2936edbc | ||
|
|
c61f61fdd0 | ||
|
|
dfa2ebbdd9 | ||
|
|
2a83167bae |
@@ -1 +0,0 @@
|
|||||||
,user,localhost,03.05.2025 20:05,file:///home/user/.config/libreoffice/4;
|
|
||||||
30
Makefile
Normal file
30
Makefile
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
.PHONY: build events dev stop help prep
|
||||||
|
|
||||||
|
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 build - Full website build sequence"
|
||||||
|
@echo " make help - Show this help message"
|
||||||
|
|
||||||
|
prep:
|
||||||
|
python3 -m venv .venv
|
||||||
|
./.venv/bin/pip install --upgrade pip
|
||||||
|
./.venv/bin/pip install -r requirements.txt
|
||||||
|
|
||||||
|
build:
|
||||||
|
./.venv/bin/python atom_gen.py
|
||||||
|
./.venv/bin/python prep.py
|
||||||
|
./.venv/bin/python build_pages.py
|
||||||
|
|
||||||
|
events:
|
||||||
|
./.venv/bin/python build_pages.py
|
||||||
|
./.venv/bin/python image_poster.py
|
||||||
|
|
||||||
|
dev:
|
||||||
|
nginx -p . -c nginx.dev.conf
|
||||||
|
|
||||||
|
stop:
|
||||||
|
nginx -p . -s stop
|
||||||
34
README.md
34
README.md
@@ -1,40 +1,50 @@
|
|||||||
# Decentrala
|
# Decentrala
|
||||||
|
|
||||||
dmz.rs/decentrala.org website
|
[dmz.rs](https://dmz.rs/) / [decentrala.org](https://decentrala.org) website
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
First, prepare the virtual environment and install dependencies:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make prep
|
||||||
|
```
|
||||||
|
|
||||||
## Build site
|
## Build site
|
||||||
|
|
||||||
Run
|
To build the complete website:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
python atom_gen.py
|
make build
|
||||||
python prep.py
|
|
||||||
python build_pages.py
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Complete website will be contained in `site/`. You can copy this to server.
|
The complete website will be contained in `site/`. You can copy this to your server.
|
||||||
|
|
||||||
## Development server
|
## Development server
|
||||||
|
|
||||||
To start a development server, first build site, then run (possibly with `sudo`)
|
To start a development server, first build the site, then run (possibly with `sudo`):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nginx -p . -c nginx.dev.conf
|
make dev
|
||||||
```
|
```
|
||||||
|
|
||||||
To stop it:
|
To stop it:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nginx -p . -s stop
|
make stop
|
||||||
```
|
```
|
||||||
|
|
||||||
## Events
|
## Events
|
||||||
|
|
||||||
To update events, update the `events.csv` then run commands
|
To update events, update `dogadjaji.csv` then run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
python build_pages.py # builds html out of csv
|
make events
|
||||||
python image_poster.py # generates images for events
|
```
|
||||||
|
|
||||||
|
For checking the csv data, suggestion is the [tennis pkg](https://github.com/gurgeous/tennis), with example command:
|
||||||
|
```sh
|
||||||
|
tennis -nt --zebra --color on --theme dark --tail 20 dogadjaji.csv
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ def main():
|
|||||||
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 = "<div class='cover-wrap'><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')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
datum, vreme, lokacija, tema, tip, link, temaE
|
datum, vreme, lokacija, tema, tip, link, temaEN
|
||||||
20-12-2022, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u računarske mreže,,,
|
20-12-2022, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Uvod u računarske mreže,,,
|
||||||
03-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon žurka, hack,,
|
03-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Hackathon žurka, hack,,
|
||||||
16-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Privatnost na internetu, workshop,,
|
16-01-2023, 19:00, DC Krov https://www.openstreetmap.org/node/10594728522, Privatnost na internetu, workshop,,
|
||||||
@@ -357,3 +357,11 @@ datum, vreme, lokacija, tema, tip, link, temaE
|
|||||||
21-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Discussion about money,discussion,,Discussion about money
|
21-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Discussion about money,discussion,,Discussion about money
|
||||||
27-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OSM contributing,lecture,,OSM contributing
|
27-04-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,OSM contributing,lecture,,OSM contributing
|
||||||
28-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Decentrala sastanak,meeting,https://forum.dmz.rs/t/decentrala-sastanak/13/221,Decentrala meeting
|
28-04-2026, 18:00, Matematički fakultet (Učionica JAG3) https://www.openstreetmap.org/node/3807078606,Decentrala sastanak,meeting,https://forum.dmz.rs/t/decentrala-sastanak/13/221,Decentrala meeting
|
||||||
|
04-05-2026, 19:00, Xecut - Jovana Ćirilova 15 - Local 3 https://www.openstreetmap.org/node/11749277876,Sysadmin radionica,workshop,,Sysadmin workshop
|
||||||
|
05-05-2026, 18:00, Matematički fakultet (Učionica JAG2) https://www.openstreetmap.org/node/3807078606,Idejno-politicka diskusija,discussion,,Ideological-political discussion
|
||||||
|
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)
|
||||||
|
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)
|
||||||
|
|||||||
|
@@ -4,6 +4,7 @@ events {}
|
|||||||
|
|
||||||
http {
|
http {
|
||||||
# edit this for your system
|
# edit this for your system
|
||||||
|
types_hash_bucket_size 128;
|
||||||
include /etc/nginx/mime.types;
|
include /etc/nginx/mime.types;
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
|||||||
@@ -1,8 +1,23 @@
|
|||||||
<h1>Account</h1>
|
<h1>Account</h1>
|
||||||
<p>If you have created an account on dmz.rs, you can use our XMPP and e-mail server, as well as other services that support LDAP login.<p>
|
<p>
|
||||||
<p>For more on XMPP see <a href="https://wiki.dmz.rs/en/tutorial/conversations">this tutorial</a>. <p>
|
If you have created an account on dmz.rs, you can use our XMPP and e-mail
|
||||||
<p>You can see settings for the <a href="https://www.thunderbird.net">Thunderbird</a> mail client on this <a href="/img/mailsettings.png">image</a>.<p>
|
server, as well as other services that support LDAP login.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
For more on XMPP see
|
||||||
|
<a href="https://wiki.dmz.rs/en/tutorial/conversations">this tutorial</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You can see settings for the
|
||||||
|
<a href="https://www.thunderbird.net">Thunderbird</a> mail client on this
|
||||||
|
<a href="/img/mailsettings.png">image</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p><a href="/account/register/">Register</a><p>
|
<div class="auth-wrap">
|
||||||
<p><a href="/account/unregister/">Delete account</a><p>
|
<p><a href="/account/register/">Register</a></p>
|
||||||
<p><a href="/account/changepassword/">Change password</a><p>
|
<p></p>
|
||||||
|
<p><a href="/account/unregister/">Delete account</a></p>
|
||||||
|
<p></p>
|
||||||
|
<p><a href="/account/changepassword/">Change password</a></p>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -4,12 +4,14 @@
|
|||||||
<p>
|
<p>
|
||||||
Decentrala is a community, united around the principles of decentralized technology and the spreading of knowledge.
|
Decentrala is a community, united around the principles of decentralized technology and the spreading of knowledge.
|
||||||
</p>
|
</p>
|
||||||
<label>Key values include:</label>
|
<div class="values">
|
||||||
|
<label>Our key values include:</label>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Equal access to technology</li>
|
<li>Equal access to technology</li>
|
||||||
<li>Free software</li>
|
<li>Free and open source software</li>
|
||||||
<li>Privacy and security</li>
|
<li>Privacy and security</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
<p> Donations are accepted only from individuals, with no conditions or obligations. </p>
|
<p> Donations are accepted only from individuals, with no conditions or obligations. </p>
|
||||||
<p> Only open-source services are hosted on the Decentrala infrastructure. </p>
|
<p> Only open-source services are hosted on the Decentrala infrastructure. </p>
|
||||||
<p> Parts of the statute can be defined immutable, and cannot be voted on. </p>
|
<p> Parts of the statute can be defined immutable, and cannot be voted on. </p>
|
||||||
@@ -33,7 +35,7 @@
|
|||||||
<p> An individual may withdraw from the union at any time, or may be expelled by a two-thirds majority of present members. </p
|
<p> An individual may withdraw from the union at any time, or may be expelled by a two-thirds majority of present members. </p
|
||||||
<p> If a member of a voting body is absent during three consecutive meetings, they are automatically excluded from the voting body. </p>
|
<p> If a member of a voting body is absent during three consecutive meetings, they are automatically excluded from the voting body. </p>
|
||||||
<p> A member can be re-admitted to the governing body according to the predefined procedure for adding new members, if they are present at that meeting. </p>
|
<p> A member can be re-admitted to the governing body according to the predefined procedure for adding new members, if they are present at that meeting. </p>
|
||||||
<p> The current members of the voting body are using pseudonyms climatechanged, malin, coja, bora, mad3v, wingaxe, nothke, txrpe, euffrat, netstat. </p>
|
<p> The current members of the voting body are using pseudonyms malin, coja, bora, mad3v, txrpe, euffrat, netstat.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Meetings</h2>
|
<h2>Meetings</h2>
|
||||||
|
|||||||
@@ -29,11 +29,11 @@
|
|||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
||||||
<li>
|
<!-- <li>
|
||||||
Monero:
|
Monero:
|
||||||
<i
|
<i
|
||||||
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
||||||
>
|
>
|
||||||
</li>
|
</li> -->
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@@ -2,4 +2,5 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://pionir.org">Pionir school</a></li>
|
<li><a href="https://pionir.org">Pionir school</a></li>
|
||||||
<li><a href="https://tilda.center">Tilda Center</a></li>
|
<li><a href="https://tilda.center">Tilda Center</a></li>
|
||||||
|
<li><a href="https://xecut.me/">Xecut</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -1,8 +1,22 @@
|
|||||||
<h1>Nalog</h1>
|
<h1>Nalog</h1>
|
||||||
<p>Ako si napravio nalog na dmz.rs možeš koristiti naš XMPP i e-mail server, kao i ostale servise koji podržavaju LDAP login.<p>
|
<p>
|
||||||
<p>Za više o XMPP-u pogledaj <a href="https://wiki.dmz.rs/en/tutorial/conversations-srpski">tutorial</a>. <p>
|
Ako si napravio nalog na dmz.rs možeš koristiti naš XMPP i e-mail server, kao
|
||||||
<p>Podešavanja za <a href="https://www.thunderbird.net">Thunderbird</a> mail klijent možeš pogledati na <a href="/img/mailsettings.png">slici</a>.<p>
|
i ostale servise koji podržavaju LDAP login.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Za više o XMPP-u pogledaj
|
||||||
|
<a href="https://wiki.dmz.rs/en/tutorial/conversations-srpski">tutorial</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Podešavanja za <a href="https://www.thunderbird.net">Thunderbird</a> mail
|
||||||
|
klijent možeš pogledati na <a href="/img/mailsettings.png">slici</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p><a href="/account/register/">Registruj se</a><p>
|
<div class="auth-wrap">
|
||||||
<p><a href="/account/unregister/">Izbriši nalog</a><p>
|
<p><a href="/account/register/">Registruj se</a></p>
|
||||||
<p><a href="/account/changepassword/">Promeni lozinku</a><p>
|
<p></p>
|
||||||
|
<p><a href="/account/unregister/">Izbriši nalog</a></p>
|
||||||
|
<p></p>
|
||||||
|
<p><a href="/account/changepassword/">Promeni lozinku</a></p>
|
||||||
|
<p></p>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -3,9 +3,16 @@
|
|||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
Decentrala je zajednica okupljena oko decentralizacije tehnologija i širenja
|
Decentrala je zajednica okupljena oko decentralizacije tehnologija i širenja
|
||||||
znanja. Decentralizacija uključuje ravnopravnost korišćenja tehnologije,
|
znanja.
|
||||||
slobodnog softvera, privatnost i bezbednost.
|
|
||||||
</p>
|
</p>
|
||||||
|
<div class="values">
|
||||||
|
<label> Decentralizacija uključuje: </label>
|
||||||
|
<ul>
|
||||||
|
<li>Ravnopravnost korišćenja tehnologije</li>
|
||||||
|
<li>Slobodan software otvorenog koda</li>
|
||||||
|
<li>Privatnost i bezbednost.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<p>
|
<p>
|
||||||
Na Decentralinoj arhitekturi hostuju se samo servisi koji su otvorenog koda
|
Na Decentralinoj arhitekturi hostuju se samo servisi koji su otvorenog koda
|
||||||
</p>
|
</p>
|
||||||
@@ -51,8 +58,8 @@
|
|||||||
dodavanja novog clana, ako je prisutan na tom sastanku.
|
dodavanja novog clana, ako je prisutan na tom sastanku.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Trenutni članovi glasačkog tela su pod pseudonimom climatechanged,
|
Trenutni članovi glasačkog tela su pod pseudonimom malin, coja, bora, mad3v,
|
||||||
malin, coja, bora, mad3v, wingaxe, nothke, txrpe, fl3ka, euffrat, netstat.
|
txrpe, euffrat, netstat.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -27,11 +27,13 @@
|
|||||||
<p>Takođe primamo donacije u bitcoinu i moneru na adresama:</p>
|
<p>Takođe primamo donacije u bitcoinu i moneru na adresama:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
<li>Bitcoin: <i>bc1qjhsfgq79wuzzv32yml9zglwzf9qcwfj3atuy74</i></li>
|
||||||
|
<!--
|
||||||
<li>
|
<li>
|
||||||
Monero:
|
Monero:
|
||||||
<i
|
<i
|
||||||
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
>8BESz45LnxrgCwZP32KieiN1D4LinCfsS1YjdFHfGXrVCmPs35167QsW1gd7qbff4UAtBbT6oWrkbfZnJm71HornVRiRZFS</i
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
|
-->
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@@ -2,4 +2,5 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://pionir.org">Slobodna škola Pionir</a></li>
|
<li><a href="https://pionir.org">Slobodna škola Pionir</a></li>
|
||||||
<li><a href="https://tilda.center">Tilda Centar</a></li>
|
<li><a href="https://tilda.center">Tilda Centar</a></li>
|
||||||
|
<li><a href="https://xecut.me/">Xecut</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
23
prep.py
23
prep.py
@@ -20,20 +20,16 @@ TYPES_DICT = {
|
|||||||
|
|
||||||
def load_events(csv_path:str) -> list[dict]:
|
def load_events(csv_path:str) -> list[dict]:
|
||||||
events = []
|
events = []
|
||||||
with open(csv_path) as csv_file:
|
with open(csv_path, encoding='utf-8') as csv_file:
|
||||||
csv_reader = csv.reader(csv_file, skipinitialspace=True)
|
csv_reader = csv.DictReader(csv_file, skipinitialspace=True)
|
||||||
next(csv_reader, None)
|
|
||||||
for event in csv_reader:
|
for event in csv_reader:
|
||||||
event_date = event[0]
|
event_date = event["datum"]
|
||||||
event_date_parsed = datetime.strptime(event_date, "%d-%m-%Y").date()
|
event_date_parsed = datetime.strptime(event_date, "%d-%m-%Y").date()
|
||||||
event_time = event[1]
|
event_time = event["vreme"]
|
||||||
event_location = event[2]
|
event_location = event["lokacija"]
|
||||||
event_title = event[3]
|
event_title = event["tema"]
|
||||||
types = event[4].split()
|
types = event["tip"].split()
|
||||||
try:
|
link = event.get("link", "")
|
||||||
link = event[5]
|
|
||||||
except IndexError:
|
|
||||||
link = ""
|
|
||||||
current_event = {"date":event_date_parsed,
|
current_event = {"date":event_date_parsed,
|
||||||
"time":event_time,
|
"time":event_time,
|
||||||
"location": event_location,
|
"location": event_location,
|
||||||
@@ -43,6 +39,7 @@ def load_events(csv_path:str) -> list[dict]:
|
|||||||
events.append(current_event)
|
events.append(current_event)
|
||||||
return events
|
return events
|
||||||
|
|
||||||
|
|
||||||
def build_html(events: list[dict], dayNames: list[str], typesNames: dict) -> str:
|
def build_html(events: list[dict], dayNames: list[str], typesNames: dict) -> str:
|
||||||
events_html = []
|
events_html = []
|
||||||
for event in events:
|
for event in events:
|
||||||
@@ -59,7 +56,7 @@ def build_html(events: list[dict], dayNames: list[str], typesNames: dict) -> str
|
|||||||
event_html.append(f"<div class='title'>{title}</div>")
|
event_html.append(f"<div class='title'>{title}</div>")
|
||||||
if "https://" in location:
|
if "https://" in location:
|
||||||
place,link = location.split("https://")
|
place,link = location.split("https://")
|
||||||
event_html.append(f"<div class='place'><a href=\"https://{link}\">@{place.strip()}</a></div>")
|
event_html.append(f"<div class='place'><a href=\"https://{link}\" target='_blank'>@{place.strip()}</a></div>")
|
||||||
else:
|
else:
|
||||||
event_html.append(f"<div class='place'>@{location.strip()}</div>")
|
event_html.append(f"<div class='place'>@{location.strip()}</div>")
|
||||||
|
|
||||||
|
|||||||
@@ -2,3 +2,5 @@ cairosvg
|
|||||||
markdown
|
markdown
|
||||||
freetype-py
|
freetype-py
|
||||||
python-dateutil
|
python-dateutil
|
||||||
|
feedgen
|
||||||
|
pillow
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="sr">
|
<html lang="sr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<script>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
(function () {
|
||||||
|
const theme = localStorage.getItem("theme");
|
||||||
|
const prefersDark = window.matchMedia(
|
||||||
|
"(prefers-color-scheme: dark)",
|
||||||
|
).matches;
|
||||||
|
if (theme === "dark" || (!theme && prefersDark))
|
||||||
|
document.documentElement.classList.add("dark");
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
<!--
|
<!-- <pre>
|
||||||
<pre>
|
|
||||||
|
|
||||||
*@@*
|
*@@*
|
||||||
*@@@@*
|
*@@@@*
|
||||||
@@ -27,24 +36,27 @@
|
|||||||
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
||||||
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
||||||
|
|
||||||
</pre>
|
</pre> -->
|
||||||
-->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/styles/reset.css">
|
<link rel="stylesheet" href="/styles/reset.css" />
|
||||||
<link rel="stylesheet" href="/styles/style.css">
|
<link rel="stylesheet" href="/styles/style.css" />
|
||||||
<link rel="stylesheet" href="/styles/deconference.css">
|
<link rel="stylesheet" href="/styles/deconference.css">
|
||||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
|
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||||
<script src="/scripts/main.js" defer></script>
|
<script src="/scripts/main.js" defer></script>
|
||||||
<title>Dekonferencija Decentrala</title>
|
<title>Dekonferencija Decentrala</title>
|
||||||
<link rel="alternate" hreflang="en" href="/en/deconference" />
|
<link rel="alternate" hreflang="en" href="/en/deconference" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
|
<a id="logo" href="/">
|
||||||
|
<img src="/img/logo-light.svg" alt="Logo" />
|
||||||
|
Decentrala
|
||||||
|
</a>
|
||||||
<button id="theme-switcher"></button>
|
<button id="theme-switcher"></button>
|
||||||
<a class="lang" hreflang="en" href="/en/deconference">EN</a>
|
<a class="lang" hreflang="en" href="/en/deconference">EN</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="page-wrap">
|
||||||
<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div><h1>Dekonferencija</h1>
|
<div class='cover-wrap'><img src='/img/students_bug.jpg' alt='Studenti su nasli bug' /></div><h1>Dekonferencija</h1>
|
||||||
|
|
||||||
<h2 id="program"><a href="#program">Program</a></h2>
|
<h2 id="program"><a href="#program">Program</a></h2>
|
||||||
@@ -81,22 +93,33 @@
|
|||||||
|
|
||||||
<p>Decentrala prihvata donacije isključivo od fizičkih lica.</p>
|
<p>Decentrala prihvata donacije isključivo od fizičkih lica.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button class="hamburger closed">
|
||||||
<nav>
|
<img src="/img/strelica-closed-light.svg" alt="Menu" />
|
||||||
|
</button>
|
||||||
|
<nav class="menu">
|
||||||
<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="/statute">Statut</a>
|
||||||
<a href="/about">O nama</>
|
<a href="/about">O nama</a>
|
||||||
<a class="account" href="/account">Nalog</a>
|
<a class="account" href="/account">Nalog</a>
|
||||||
<a href="/support">Podrška</a>
|
<a href="/support">Podrška</a>
|
||||||
</nav>
|
</nav>
|
||||||
<span class="links">
|
<span class="links">
|
||||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
|
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
|
||||||
<a href="/webring"><img src="/img/w-light.svg" alt="Webring"></a>
|
<img src="/img/cc-light.svg" alt="CreativeCommons" />
|
||||||
<a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
|
</a>
|
||||||
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
|
<a href="/webring">
|
||||||
|
<img src="/img/w-light.svg" alt="Webring" />
|
||||||
|
</a>
|
||||||
|
<a href="https://gitea.dmz.rs/Decentrala/website">
|
||||||
|
<img src="/img/git-light.svg" alt="SourceCode" />
|
||||||
|
</a>
|
||||||
|
<a href="https://balkan.fedive.rs/@decentrala">
|
||||||
|
<img src="/img/mastodon-light.svg" alt="Mastodon" />
|
||||||
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="sr">
|
<html lang="sr">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<title>Linux Install Fest 2025</title>
|
<title>Linux Install Fest 2025</title>
|
||||||
<style>
|
<style>
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Iosevka";
|
font-family: "Iosevka";
|
||||||
src: url('/font/iosevka-regular.woff') format('woff');
|
src: url("/font/iosevka-regular.woff") format("woff");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Lobster";
|
font-family: "Lobster";
|
||||||
src: url('/font/Lobster-Regular.ttf') format('truetype');
|
src: url("/font/Lobster-Regular.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #082142;
|
background-color: #082142;
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
@@ -31,7 +30,7 @@
|
|||||||
a,
|
a,
|
||||||
a:visited,
|
a:visited,
|
||||||
a:hover {
|
a:hover {
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
@@ -59,7 +58,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
main {
|
main {
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
@@ -81,127 +79,197 @@
|
|||||||
|
|
||||||
<h2>Gde i kad</h2>
|
<h2>Gde i kad</h2>
|
||||||
|
|
||||||
<p>Linux Install Fest će se održati 9. decembra 2025 godine u učionici JAG3 Matematičkog fakulteta, na adresi
|
<p>
|
||||||
<a href="https://www.openstreetmap.org/node/3807078606">Jagićeva 5, Beograd</a>. Ulazak u učionicu је moguć od 18h do 21h.</p>
|
Linux Install Fest će se održati 9. decembra 2025 godine u učionici JAG3
|
||||||
|
Matematičkog fakulteta, na adresi
|
||||||
|
<a href="https://www.openstreetmap.org/node/3807078606"
|
||||||
|
>Jagićeva 5, Beograd</a
|
||||||
|
>. Ulazak u učionicu је moguć od 18h do 21h.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Jagićeva ulica se nalazi između stanice <a href="https://www.openstreetmap.org/node/6670711291"><em>Pijaca
|
<p>
|
||||||
Đeram</em></a> na kojoj staju tramvaji 5, 6, 7L
|
Jagićeva ulica se nalazi između stanice
|
||||||
i 14, i
|
<a href="https://www.openstreetmap.org/node/6670711291"
|
||||||
stanice <a href="https://www.openstreetmap.org/node/1693535022"><em>Crveni krst</em></a> na kojoj staju
|
><em>Pijaca Đeram</em></a
|
||||||
autobusi 21 i 83, kao i trolebusi 19, 22 i 29.</p>
|
>
|
||||||
|
na kojoj staju tramvaji 5, 6, 7L i 14, i stanice
|
||||||
|
<a href="https://www.openstreetmap.org/node/1693535022"
|
||||||
|
><em>Crveni krst</em></a
|
||||||
|
>
|
||||||
|
na kojoj staju autobusi 21 i 83, kao i trolebusi 19, 22 i 29.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Plan programa</h2>
|
<h2>Plan programa</h2>
|
||||||
|
|
||||||
<p>Cilj okupljanja je da zainteresovanima za Linux pomognemo pri instalaciji Linux operativnog sistema na
|
<p>
|
||||||
laptopove. Na događaju će biti prisutno više osoba koje imaju višegodišnje iskustvo u radu sa Linuxom. Pored
|
Cilj okupljanja je da zainteresovanima za Linux pomognemo pri
|
||||||
toga, u zavisnosti od zainteresovanosti prisutnih, mogu se održati i kratke obuke vezane za komandnu liniju,
|
instalaciji Linux operativnog sistema na laptopove. Na događaju će biti
|
||||||
git, web servise, C programiranje, itd...</p>
|
prisutno više osoba koje imaju višegodišnje iskustvo u radu sa Linuxom.
|
||||||
|
Pored toga, u zavisnosti od zainteresovanosti prisutnih, mogu se održati
|
||||||
|
i kratke obuke vezane za komandnu liniju, git, web servise, C
|
||||||
|
programiranje, itd...
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Nakon 21h, druženje možemo nastaviti u nekom od obližnjih lokala.</p>
|
<p>Nakon 21h, druženje možemo nastaviti u nekom od obližnjih lokala.</p>
|
||||||
|
|
||||||
<h2>Linux distribucije</h2>
|
<h2>Linux distribucije</h2>
|
||||||
|
|
||||||
<p>Linux je jezgro operativnog sistema, na koji se instaliraju drugi programi. Sve to zajedno čini određenu
|
<p>
|
||||||
<em>Linux distribuciju</em>. Postoji mnogo distribucija, ali mi preporučujemo one sa dugom tradicijom poput
|
Linux je jezgro operativnog sistema, na koji se instaliraju drugi
|
||||||
sledećih:
|
programi. Sve to zajedno čini određenu <em>Linux distribuciju</em>.
|
||||||
|
Postoji mnogo distribucija, ali mi preporučujemo one sa dugom tradicijom
|
||||||
|
poput sledećih:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Debian</strong> distribucija je verovatno najprimerenija za Linux početnike. Poznati derivati
|
<li>
|
||||||
Debiana su <strong>Ubuntu</strong>, <strong>Mint</strong> i <strong>Zorin</strong>.
|
<strong>Debian</strong> distribucija je verovatno najprimerenija za
|
||||||
|
Linux početnike. Poznati derivati Debiana su <strong>Ubuntu</strong>,
|
||||||
|
<strong>Mint</strong> i <strong>Zorin</strong>.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Fedora</strong> je takođe pogodna za Linux početnike.
|
||||||
|
Razlikuje se od Debian distribucije, po bržem izlasku novih verzija,
|
||||||
|
što u praksi znači da korisnici imaju svežije verzije programa.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Arch</strong> je Linux distribucija koja dozvoljava korisniku
|
||||||
|
da lako konfiguriše sve delove sistema. Ova distribucija je namenjena
|
||||||
|
osobama sa značajnim Linux iskustvom.
|
||||||
</li>
|
</li>
|
||||||
<li><strong>Fedora</strong> je takođe pogodna za Linux početnike. Razlikuje se od Debian
|
|
||||||
distribucije, po bržem izlasku novih verzija, što u praksi znači da korisnici imaju svežije
|
|
||||||
verzije programa.</li>
|
|
||||||
<li><strong>Arch</strong> je Linux distribucija koja dozvoljava korisniku da lako konfiguriše sve delove
|
|
||||||
sistema. Ova distribucija je namenjena osobama sa značajnim Linux iskustvom.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Ako ste početnik, i niste se odlučili koju distribuciju želite da instalirate, preporučujemo vam Fedoru ili Debian.
|
<p>
|
||||||
Bez obzira koju distribuciju posedujete, moći ćete da pokrenete sve programe namenjene za Linux.
|
Ako ste početnik, i niste se odlučili koju distribuciju želite da
|
||||||
|
instalirate, preporučujemo vam Fedoru ili Debian. Bez obzira koju
|
||||||
|
distribuciju posedujete, moći ćete da pokrenete sve programe namenjene
|
||||||
|
za Linux.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>End of 10</h2>
|
<h2>End of 10</h2>
|
||||||
|
|
||||||
<p>Ovogodišnji Linux Install Fest, organizuje se u sklopu globalne <a href="https://endof10.org/">End of 10</a>
|
<p>
|
||||||
kampanje, koja promoviše Linux operativni sistem kao zamenu za Windows 10.</p>
|
Ovogodišnji Linux Install Fest, organizuje se u sklopu globalne
|
||||||
|
<a href="https://endof10.org/">End of 10</a> kampanje, koja promoviše
|
||||||
|
Linux operativni sistem kao zamenu za Windows 10.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Već duže vreme Windows
|
<p>
|
||||||
operativni sistem postaje sve više neprijateljski prema korisnicima. Nasuprot tome,
|
Već duže vreme Windows operativni sistem postaje sve više neprijateljski
|
||||||
mnoge Linux distribucije su maksimalno unapredile korisnički doživljaj, te danas
|
prema korisnicima. Nasuprot tome, mnoge Linux distribucije su maksimalno
|
||||||
možemo tvrditi da Linux omogućava značajno ugodniji rad, bez obzira na korisnikovo tehničko znanje.</p>
|
unapredile korisnički doživljaj, te danas možemo tvrditi da Linux
|
||||||
|
omogućava značajno ugodniji rad, bez obzira na korisnikovo tehničko
|
||||||
|
znanje.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Windows nameće korisnicima funkcionalnosti koje korisnici ne žele da koriste, kao što
|
<p>
|
||||||
su: cloud integracije, AI, reklame, obavezni nalozi, i slično. Ove
|
Windows nameće korisnicima funkcionalnosti koje korisnici ne žele da
|
||||||
funkcionalnosti služe pre svega za povećanje Microsoftovog profita, a nemaju benefita za većinu krajnjih
|
koriste, kao što su: cloud integracije, AI, reklame, obavezni nalozi, i
|
||||||
korisnika. Takođe, osnovni programi poput kalendara, kalkulatora ili editora teksta, postali su spori
|
slično. Ove funkcionalnosti služe pre svega za povećanje Microsoftovog
|
||||||
i puni bug-ova.
|
profita, a nemaju benefita za većinu krajnjih korisnika. Takođe, osnovni
|
||||||
Sa beskorisnim funkcionalnostima, Windows svake godine postaje sve više zahtevan i
|
programi poput kalendara, kalkulatora ili editora teksta, postali su
|
||||||
iziskuje kupovinu boljeg hardvera, što dovodi do povećanja elektronskog otpada. Nasuprot Windowsu, i
|
spori i puni bug-ova. Sa beskorisnim funkcionalnostima, Windows svake
|
||||||
najnovije Linux distribucije rade veoma performantno na računarima starijim od deceniju.</p>
|
godine postaje sve više zahtevan i iziskuje kupovinu boljeg hardvera,
|
||||||
|
što dovodi do povećanja elektronskog otpada. Nasuprot Windowsu, i
|
||||||
|
najnovije Linux distribucije rade veoma performantno na računarima
|
||||||
|
starijim od deceniju.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Izbor operativnog sistema nije više samo tehnička odluka, već i ekološki stav.</p>
|
<p>
|
||||||
|
Izbor operativnog sistema nije više samo tehnička odluka, već i ekološki
|
||||||
|
stav.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Načini instalacije</h2>
|
<h2>Načini instalacije</h2>
|
||||||
|
|
||||||
<p>Linux možemo instalirati na tri načina:</p>
|
<p>Linux možemo instalirati na tri načina:</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li><strong>Unutar virtualne mašine na Windows-u</strong>. Na ovaj način korisnik zadržava svoj postojeći
|
<li>
|
||||||
operativni sistem i
|
<strong>Unutar virtualne mašine na Windows-u</strong>. Na ovaj način
|
||||||
podatke na njemu. Linux u virtualnoj mašini će biti značajno sporiji u odnosu na instalaciju bez
|
korisnik zadržava svoj postojeći operativni sistem i podatke na njemu.
|
||||||
virtualizacije.
|
Linux u virtualnoj mašini će biti značajno sporiji u odnosu na
|
||||||
|
instalaciju bez virtualizacije.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Pored postojećeg operativnog sistema</strong>. U slučaju da je
|
||||||
|
moguće neku od vaših particija umanjiti (<em>partition shrink</em>), i
|
||||||
|
osloboditi barem 10GB prostora, može se instalirati Linux operativni
|
||||||
|
sistem pored Windows-a. Prilikom pokretanja računara, korisnik će moći
|
||||||
|
da bira da li želi da pokrene Windows ili Linux. Pri ovakvoj
|
||||||
|
instalaciji postoji određeni rizik da će neko od narednih ažuriranja
|
||||||
|
Windowsa resetovati podešavanja bootloader-a, nakon čega je potrebna
|
||||||
|
mala intervencija da bi Linux sistem bio ponovo dostupan.
|
||||||
</li>
|
</li>
|
||||||
<li><strong>Pored postojećeg operativnog sistema</strong>. U slučaju da je moguće neku od vaših
|
|
||||||
particija umanjiti
|
|
||||||
(<em>partition shrink</em>), i osloboditi barem 10GB prostora, može se instalirati Linux operativni
|
|
||||||
sistem pored Windows-a. Prilikom pokretanja računara, korisnik će moći da bira da li želi da pokrene
|
|
||||||
Windows ili Linux. Pri ovakvoj instalaciji postoji određeni rizik da će neko od narednih ažuriranja
|
|
||||||
Windowsa resetovati podešavanja bootloader-a, nakon čega je potrebna mala intervencija da bi
|
|
||||||
Linux sistem bio ponovo dostupan.</li>
|
|
||||||
|
|
||||||
<li><strong>Kompletnim uklanjanjem Windows sistema</strong>. Na mestu Windows particije,
|
<li>
|
||||||
biće postavljena nova particija sa Linux distribucijom. Dodatne particije koje postoje mogu, i ne moraju biti uklonjene.</li>
|
<strong>Kompletnim uklanjanjem Windows sistema</strong>. Na mestu
|
||||||
|
Windows particije, biće postavljena nova particija sa Linux
|
||||||
|
distribucijom. Dodatne particije koje postoje mogu, i ne moraju biti
|
||||||
|
uklonjene.
|
||||||
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>Pre dolaska</h2>
|
<h2>Pre dolaska</h2>
|
||||||
|
|
||||||
<p>Da bi instalacija bila efikasna, pre dolaska na Linux Instal Fest neophodno je da napravite <em>backup</em>
|
<p>
|
||||||
podataka sa sistemske particije ako se odlučujete za drugu ili treću opciju instalacije. Ako posedujete dve
|
Da bi instalacija bila efikasna, pre dolaska na Linux Instal Fest
|
||||||
particije (na primer, C i D), podatke sa sistemske particije (C:) koje želite da zadržite prebacite na nesistemsku particiju (D:).
|
neophodno je da napravite <em>backup</em> podataka sa sistemske
|
||||||
Ako nemate dodatnu particiju, možete iskoristiti USB fleš. Obratite pažnju na datoteke unutar korisničkog direkotrijuma (<em>Desktop,
|
particije ako se odlučujete za drugu ili treću opciju instalacije. Ako
|
||||||
Downloads, Documents,...</em>), a iz pretraživača izvezite bookmarkove i lozinke.</p>
|
posedujete dve particije (na primer, C i D), podatke sa sistemske
|
||||||
|
particije (C:) koje želite da zadržite prebacite na nesistemsku
|
||||||
|
particiju (D:). Ako nemate dodatnu particiju, možete iskoristiti USB
|
||||||
|
fleš. Obratite pažnju na datoteke unutar korisničkog direkotrijuma (<em
|
||||||
|
>Desktop, Downloads, Documents,...</em
|
||||||
|
>), a iz pretraživača izvezite bookmarkove i lozinke.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Takođe, pre dolaska možete se upoznati sa izgledom i načinom funkcionisanja različitih Linux distubucija.
|
<p>
|
||||||
Neke Linux distribucije možete probati kroz pretraživač, bez bilo kakve instalacije, na sajtu
|
Takođe, pre dolaska možete se upoznati sa izgledom i načinom
|
||||||
<a href="https://distrosea.com/">DistroSea</a> (ponekad je potrebno sačekati kratko vreme da se oslobode
|
funkcionisanja različitih Linux distubucija. Neke Linux distribucije
|
||||||
resursi na sajtu). Imajte na umu da je operativni sistem na ovom sajtu višestruko sporiji od sistema koji je
|
možete probati kroz pretraživač, bez bilo kakve instalacije, na sajtu
|
||||||
|
<a href="https://distrosea.com/">DistroSea</a> (ponekad je potrebno
|
||||||
|
sačekati kratko vreme da se oslobode resursi na sajtu). Imajte na umu da
|
||||||
|
je operativni sistem na ovom sajtu višestruko sporiji od sistema koji je
|
||||||
instaliran na vašem računaru.
|
instaliran na vašem računaru.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Pre dolaska napunite baterije loptopova. Obevezno ponesite i punjač.</p>
|
<p>
|
||||||
|
Pre dolaska napunite baterije loptopova. Obevezno ponesite i punjač.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Organizator</h2>
|
<h2>Organizator</h2>
|
||||||
|
|
||||||
<p>Organizator događaja je <a href="https://dmz.rs/">Decentrala</a> - grupa entuzijasta okupljena oko ideja
|
<p>
|
||||||
decentralizacije i slobodnog širenja znanja. Do sada smo organizovali više od <a
|
Organizator događaja je <a href="https://dmz.rs/">Decentrala</a> - grupa
|
||||||
href="https://dmz.rs/events_archive">300 događaja</a>, a naredne događaje redovno najavljujemo na
|
entuzijasta okupljena oko ideja decentralizacije i slobodnog širenja
|
||||||
stranici <a href="https://dmz.rs/events">Događaji</a>.
|
znanja. Do sada smo organizovali više od
|
||||||
|
<a href="https://dmz.rs/events_archive">300 događaja</a>, a naredne
|
||||||
|
događaje redovno najavljujemo na stranici
|
||||||
|
<a href="https://dmz.rs/events">Događaji</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>U narednom periodu, na istoj lokaciji (učionica JAG3) biće održano još dva događaja za Linux početnike:</p>
|
<p>
|
||||||
|
U narednom periodu, na istoj lokaciji (učionica JAG3) biće održano još
|
||||||
|
dva događaja za Linux početnike:
|
||||||
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Utorak 16. decembar</strong> - Uvod u Linux komandnu liniju</li>
|
<li>
|
||||||
|
<strong>Utorak 16. decembar</strong> - Uvod u Linux komandnu liniju
|
||||||
|
</li>
|
||||||
<li><strong>Utorak 23. decembar</strong> - Uvod u Git</li>
|
<li><strong>Utorak 23. decembar</strong> - Uvod u Git</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Događaji počinju od 18h.</p>
|
<p>Događaji počinju od 18h.</p>
|
||||||
|
|
||||||
<h2>Ponovo</h2>
|
<h2>Ponovo</h2>
|
||||||
<p>Na Linux install fest možete doneti neispravne uređje: laptopove, telefone, desktop računare, monitore....
|
<p>
|
||||||
Mi ćemo ih tokom januara isporočuiti organizaciji <a href="https://ponovo.rs/">Ponovo</a> u Kikindi.
|
Na Linux install fest možete doneti neispravne uređje: laptopove,
|
||||||
Ova organizacija će popraviti ove uređaje i time sprečiti uvećavanje elektronskog otpada.</p>
|
telefone, desktop računare, monitore.... Mi ćemo ih tokom januara
|
||||||
|
isporočuiti organizaciji <a href="https://ponovo.rs/">Ponovo</a> u
|
||||||
|
Kikindi. Ova organizacija će popraviti ove uređaje i time sprečiti
|
||||||
|
uvećavanje elektronskog otpada.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="sr">
|
<html lang="sr">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<title>Linux Install Fest 2025</title>
|
<title>Linux Install Fest 2025</title>
|
||||||
<style>
|
<style>
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Iosevka";
|
font-family: "Iosevka";
|
||||||
src: url('/font/iosevka-regular.woff') format('woff');
|
src: url("/font/iosevka-regular.woff") format("woff");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Lobster";
|
font-family: "Lobster";
|
||||||
src: url('/font/Lobster-Regular.ttf') format('truetype');
|
src: url("/font/Lobster-Regular.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #082142;
|
background-color: #082142;
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
@@ -31,7 +30,7 @@
|
|||||||
a,
|
a,
|
||||||
a:visited,
|
a:visited,
|
||||||
a:hover {
|
a:hover {
|
||||||
color: #FFF;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
@@ -59,7 +58,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
main {
|
main {
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
@@ -81,77 +79,197 @@
|
|||||||
|
|
||||||
<h2>Where and when</h2>
|
<h2>Where and when</h2>
|
||||||
|
|
||||||
<p>Linux Install Fest will be held on December 9, 2025 in the JAG3 classroom of the Faculty of Mathematics, at
|
<p>
|
||||||
<a href="https://www.openstreetmap.org/node/3807078606">Jagićeva 5, Belgrade</a>. Entry to the classroom is possible from 6 pm to 9 pm.</p>
|
Linux Install Fest will be held on December 9, 2025 in the JAG3
|
||||||
|
classroom of the Faculty of Mathematics, at
|
||||||
|
<a href="https://www.openstreetmap.org/node/3807078606"
|
||||||
|
>Jagićeva 5, Belgrade</a
|
||||||
|
>. Entry to the classroom is possible from 6 pm to 9 pm.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Jagićeva street is located between the <a href="https://www.openstreetmap.org/node/6670711291"><em>Pijaca
|
<p>
|
||||||
Đeram</em></a> station where trams 5, 6, 7L and 14 stop, and the <a href="https://www.openstreetmap.org/node/1693535022"><em>Crveni krst</em></a> station where buses 21 and 83 stop, as well as trolleybuses 19, 22 and 29.</p>
|
Jagićeva street is located between the
|
||||||
|
<a href="https://www.openstreetmap.org/node/6670711291"
|
||||||
|
><em>Pijaca Đeram</em></a
|
||||||
|
>
|
||||||
|
station where trams 5, 6, 7L and 14 stop, and the
|
||||||
|
<a href="https://www.openstreetmap.org/node/1693535022"
|
||||||
|
><em>Crveni krst</em></a
|
||||||
|
>
|
||||||
|
station where buses 21 and 83 stop, as well as trolleybuses 19, 22 and
|
||||||
|
29.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Program schedule</h2>
|
<h2>Program schedule</h2>
|
||||||
|
|
||||||
<p>The goal of the gathering is to help interested install the Linux operating system on laptops. Several people with working Linux experience will be present at the event. In addition, depending on the interest of those present, short trainings related to the command line, git, web services, C programming, etc. can be held.</p>
|
<p>
|
||||||
|
The goal of the gathering is to help interested install the Linux
|
||||||
|
operating system on laptops. Several people with working Linux
|
||||||
|
experience will be present at the event. In addition, depending on the
|
||||||
|
interest of those present, short trainings related to the command line,
|
||||||
|
git, web services, C programming, etc. can be held.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>After 9 p.m., we can continue socializing in one of the nearby bars.</p>
|
<p>
|
||||||
|
After 9 p.m., we can continue socializing in one of the nearby bars.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Linux distributions</h2>
|
<h2>Linux distributions</h2>
|
||||||
|
|
||||||
<p>Linux is the core of the operating system, on which other programs are installed. All of these together make up a particular <em>Linux distribution</em>. There are many distributions, but we recommend the ones with a long tradition like the following:
|
<p>
|
||||||
|
Linux is the core of the operating system, on which other programs are
|
||||||
|
installed. All of these together make up a particular
|
||||||
|
<em>Linux distribution</em>. There are many distributions, but we
|
||||||
|
recommend the ones with a long tradition like the following:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>The Debian</strong> distribution is probably the most suitable for Linux beginners. Known derivatives of Debian are Ubuntu, Mint and Zorin.</li>
|
<li>
|
||||||
<li><strong>Fedora</strong> is also suitable for Linux beginners. It differs from the Debian distribution by the faster release of new versions, which in practice means that users have newer versions of the program.</li>
|
<strong>The Debian</strong> distribution is probably the most suitable
|
||||||
<li><strong>Arch</strong> is a Linux distribution that allows the user to easily configure all parts of the system. This distribution is intended for people with significant Linux experience.</li>
|
for Linux beginners. Known derivatives of Debian are Ubuntu, Mint and
|
||||||
|
Zorin.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Fedora</strong> is also suitable for Linux beginners. It
|
||||||
|
differs from the Debian distribution by the faster release of new
|
||||||
|
versions, which in practice means that users have newer versions of
|
||||||
|
the program.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Arch</strong> is a Linux distribution that allows the user to
|
||||||
|
easily configure all parts of the system. This distribution is
|
||||||
|
intended for people with significant Linux experience.
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>If you are a beginner and haven't decided which distribution you want to install, we recommend Fedora or Debian. Regardless of which distribution you have, you will be able to run all programs intended for Linux.</p>
|
<p>
|
||||||
|
If you are a beginner and haven't decided which distribution you want to
|
||||||
|
install, we recommend Fedora or Debian. Regardless of which distribution
|
||||||
|
you have, you will be able to run all programs intended for Linux.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>End of 10</h2>
|
<h2>End of 10</h2>
|
||||||
|
|
||||||
<p>This year's Linux Install Fest is organized as part of the global <a href="https://endof10.org/">End of 10</a>
|
<p>
|
||||||
campaign, which promotes the Linux operating system as a replacement for Windows 10.</p>
|
This year's Linux Install Fest is organized as part of the global
|
||||||
|
<a href="https://endof10.org/">End of 10</a> campaign, which promotes
|
||||||
|
the Linux operating system as a replacement for Windows 10.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>For a long time now, the Windows operating system has become increasingly unfriendly to users. On the contrary, many Linux distributions have improved the user experience to the maximum, and today we can claim that Linux enables significantly more pleasant work, regardless of the user's technical knowledge.</p>
|
<p>
|
||||||
|
For a long time now, the Windows operating system has become
|
||||||
|
increasingly unfriendly to users. On the contrary, many Linux
|
||||||
|
distributions have improved the user experience to the maximum, and
|
||||||
|
today we can claim that Linux enables significantly more pleasant work,
|
||||||
|
regardless of the user's technical knowledge.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Windows imposes on users functionalities that users do not want to use, such as: cloud integrations, AI, advertisements, mandatory accounts, and the like. These functionalities serve above all to increase Microsoft's profits, and have no benefit for most end users. Also, basic programs such as calendars, calculators or text editors have become slow and full of bugs. With useless functionalities, Windows becomes more demanding every year and requires the purchase of better hardware, leading to an increase in electronic waste. Unlike Windows, the latest Linux distributions work very well on computers that are more than a decade old.</p>
|
<p>
|
||||||
|
Windows imposes on users functionalities that users do not want to use,
|
||||||
|
such as: cloud integrations, AI, advertisements, mandatory accounts, and
|
||||||
|
the like. These functionalities serve above all to increase Microsoft's
|
||||||
|
profits, and have no benefit for most end users. Also, basic programs
|
||||||
|
such as calendars, calculators or text editors have become slow and full
|
||||||
|
of bugs. With useless functionalities, Windows becomes more demanding
|
||||||
|
every year and requires the purchase of better hardware, leading to an
|
||||||
|
increase in electronic waste. Unlike Windows, the latest Linux
|
||||||
|
distributions work very well on computers that are more than a decade
|
||||||
|
old.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>The choice of an operating system is no longer just a technical decision, but also an environmental attitude.</p>
|
<p>
|
||||||
|
The choice of an operating system is no longer just a technical
|
||||||
|
decision, but also an environmental attitude.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Installation methods</h2>
|
<h2>Installation methods</h2>
|
||||||
|
|
||||||
<p>We can install Linux in three ways:</p>
|
<p>We can install Linux in three ways:</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li><strong>Inside a virtual machine on Windows.</strong> In this way, the user retains his existing operating system and the data on it. Linux in a virtual machine will be significantly slower than an installation without virtualization.
|
<li>
|
||||||
|
<strong>Inside a virtual machine on Windows.</strong> In this way, the
|
||||||
|
user retains his existing operating system and the data on it. Linux
|
||||||
|
in a virtual machine will be significantly slower than an installation
|
||||||
|
without virtualization.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>In addition to the existing operating system.</strong> If it
|
||||||
|
is possible to shrink one of your partitions and free up at least 10GB
|
||||||
|
of space, you can install a Linux operating system in addition to
|
||||||
|
Windows. When booting the computer, the user will be able to choose
|
||||||
|
whether to boot Windows or Linux. With such an installation, there is
|
||||||
|
a certain risk that one of the subsequent Windows updates will reset
|
||||||
|
the bootloader settings, after which a small intervention is required
|
||||||
|
to make the Linux system accessible again.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>By completely removing the Windows system.</strong> In place
|
||||||
|
of the Windows partition, a new partition with the Linux distribution
|
||||||
|
will be placed. Additional partitions that exist may or may not be
|
||||||
|
removed.
|
||||||
</li>
|
</li>
|
||||||
<li><strong>In addition to the existing operating system.</strong> If it is possible to shrink one of your partitions and free up at least 10GB of space, you can install a Linux operating system in addition to Windows. When booting the computer, the user will be able to choose whether to boot Windows or Linux. With such an installation, there is a certain risk that one of the subsequent Windows updates will reset the bootloader settings, after which a small intervention is required to make the Linux system accessible again.</li>
|
|
||||||
<li><strong>By completely removing the Windows system.</strong> In place of the Windows partition, a new partition with the Linux distribution will be placed. Additional partitions that exist may or may not be removed.</li>
|
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>Before arrival</h2>
|
<h2>Before arrival</h2>
|
||||||
|
|
||||||
<p>In order for the installation to be effective, before coming to the Linux Instal Fest, it is necessary to make a backup of the data from the system partition if you decide on the second or third installation option. If you have two partitions (for example, C and D), move the data from the system partition (C:) that you want to keep to the non-system partition (D:). If you don't have an additional partition, you can use a USB flash drive. Pay attention to the files inside the user directory (Desktop, Downloads, Documents,... ), and export bookmarks and passwords from the browser.</p>
|
<p>
|
||||||
|
In order for the installation to be effective, before coming to the
|
||||||
|
Linux Instal Fest, it is necessary to make a backup of the data from the
|
||||||
|
system partition if you decide on the second or third installation
|
||||||
|
option. If you have two partitions (for example, C and D), move the data
|
||||||
|
from the system partition (C:) that you want to keep to the non-system
|
||||||
|
partition (D:). If you don't have an additional partition, you can use a
|
||||||
|
USB flash drive. Pay attention to the files inside the user directory
|
||||||
|
(Desktop, Downloads, Documents,... ), and export bookmarks and passwords
|
||||||
|
from the browser.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Also, before your arrival, you can familiarize yourself with the appearance and way of functioning of various Linux distributions. You can try some Linux distributions through the browser, without any installation, on the
|
<p>
|
||||||
<a href="https://distrosea.com/">DistroSea</a> website (sometimes it is necessary to wait a short time to free up resources on the site). Please note that the operating system on this site is many times slower than the system installed on your computer.
|
Also, before your arrival, you can familiarize yourself with the
|
||||||
|
appearance and way of functioning of various Linux distributions. You
|
||||||
|
can try some Linux distributions through the browser, without any
|
||||||
|
installation, on the
|
||||||
|
<a href="https://distrosea.com/">DistroSea</a> website (sometimes it is
|
||||||
|
necessary to wait a short time to free up resources on the site). Please
|
||||||
|
note that the operating system on this site is many times slower than
|
||||||
|
the system installed on your computer.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>Organizer</h2>
|
<h2>Organizer</h2>
|
||||||
|
|
||||||
<p>The organizer of the event is <a href="https://dmz.rs/en/">Decentrala</a> - a group of enthusiasts gathered around the ideas of decentralization and free dissemination of knowledge. So far, we have organized more than <a
|
<p>
|
||||||
href="https://dmz.rs/en/events_archive">300 events</a>, and we regularly announce the next events on the <a href="https://dmz.rs/en/events">Events</a> page.
|
The organizer of the event is
|
||||||
|
<a href="https://dmz.rs/en/">Decentrala</a> - a group of enthusiasts
|
||||||
|
gathered around the ideas of decentralization and free dissemination of
|
||||||
|
knowledge. So far, we have organized more than
|
||||||
|
<a href="https://dmz.rs/en/events_archive">300 events</a>, and we
|
||||||
|
regularly announce the next events on the
|
||||||
|
<a href="https://dmz.rs/en/events">Events</a> page.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>In the following period, two more events for Linux beginners will be held at the same location (classroom JAG3):</p>
|
<p>
|
||||||
|
In the following period, two more events for Linux beginners will be
|
||||||
|
held at the same location (classroom JAG3):
|
||||||
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Tuesday December 16</strong> - Introduction to the Linux command line</li>
|
<li>
|
||||||
|
<strong>Tuesday December 16</strong> - Introduction to the Linux
|
||||||
|
command line
|
||||||
|
</li>
|
||||||
<li><strong>Tuesday, December 23</strong> - Introduction to Git</li>
|
<li><strong>Tuesday, December 23</strong> - Introduction to Git</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Events start at 6pm.</p>
|
<p>Events start at 6pm.</p>
|
||||||
|
|
||||||
<h2>Ponovo</h2>
|
<h2>Ponovo</h2>
|
||||||
<p>You can bring defective devices to the Linux install fest: laptops, phones, desktop computers, monitors... We will deliver them to the organization <a href="https://ponovo.rs/">Ponovo</a> in Kikinda during January. This organization will repair these devices and thereby prevent the increase of electronic waste.</p>
|
<p>
|
||||||
|
You can bring defective devices to the Linux install fest: laptops,
|
||||||
|
phones, desktop computers, monitors... We will deliver them to the
|
||||||
|
organization <a href="https://ponovo.rs/">Ponovo</a> in Kikinda during
|
||||||
|
January. This organization will repair these devices and thereby prevent
|
||||||
|
the increase of electronic waste.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -1,94 +1,62 @@
|
|||||||
const theme_switcher = document.getElementById("theme-switcher");
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
|
|
||||||
|
const getById = (id) => document.getElementById(id);
|
||||||
|
const getByClass = (className) => document.getElementsByClassName(className)[0];
|
||||||
|
|
||||||
|
const themeBtn = getById("theme-switcher");
|
||||||
|
const hamburger = getByClass("hamburger");
|
||||||
|
const hamburgerIcon = hamburger.children[0]
|
||||||
|
const menu = document.getElementsByTagName("nav")[0];
|
||||||
const imgs = document.getElementsByTagName("img");
|
const imgs = document.getElementsByTagName("img");
|
||||||
const sections_button = document.getElementById("sections-button");
|
|
||||||
const sections_menu = document.getElementsByTagName("nav")[0];
|
|
||||||
const main = document.getElementsByTagName("main")[0];
|
const main = document.getElementsByTagName("main")[0];
|
||||||
|
const isMenuOpen = () => hamburger.classList.contains("open");
|
||||||
|
const theme = window.localStorage.getItem("theme");
|
||||||
|
|
||||||
let theme = window.localStorage.getItem("theme");
|
/* Functions */
|
||||||
|
|
||||||
if (theme !== null) {
|
const changeToDarkTheme = () => {
|
||||||
if (theme === "light") {
|
document.documentElement.classList.add("dark");
|
||||||
changeToLightTheme();
|
themeBtn?.setAttribute("title", "turn the light on");
|
||||||
} else {
|
Array.from(imgs).forEach((img) => {
|
||||||
changeToDarkTheme();
|
if (img.src.includes("-light")) img.src = img.src.replace("-light", "-dark");
|
||||||
}
|
});
|
||||||
} else {
|
|
||||||
if (
|
|
||||||
window.matchMedia &&
|
|
||||||
window.matchMedia("(prefers-color-scheme: dark)").matches
|
|
||||||
) {
|
|
||||||
changeToDarkTheme();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
theme_switcher.addEventListener("click", () => {
|
const changeToLightTheme = () => {
|
||||||
const attribute = theme_switcher.getAttribute("title") ?? "off"
|
document.documentElement.classList.remove("dark");
|
||||||
if (attribute.indexOf("off") !== -1) {
|
themeBtn?.setAttribute("title", "turn the light off");
|
||||||
changeToDarkTheme();
|
Array.from(imgs).forEach((img) => {
|
||||||
} else {
|
if (img.src.includes("-dark")) img.src = img.src.replace("-dark", "-light");
|
||||||
changeToLightTheme();
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function changeToDarkTheme() {
|
|
||||||
theme_switcher?.setAttribute("title", "turn the light on");
|
|
||||||
document.documentElement.style.setProperty("--border", "var(--dark-border)");
|
|
||||||
document.documentElement.style.setProperty("--text", "var(--dark-text)");
|
|
||||||
document.documentElement.style.setProperty("--bg", "var(--dark-bg)");
|
|
||||||
window.localStorage.setItem("theme", "dark");
|
|
||||||
for (let i = 0; i < imgs.length; i += 1) {
|
|
||||||
imgs[i].src = imgs[i].src.replace("-light", "-dark");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function changeToLightTheme() {
|
|
||||||
theme_switcher?.setAttribute("title", "turn the light off");
|
|
||||||
document.documentElement.style.setProperty("--border", "var(--light-border)");
|
|
||||||
document.documentElement.style.setProperty("--text", "var(--light-text)");
|
|
||||||
document.documentElement.style.setProperty("--bg", "var(--light-bg)");
|
|
||||||
window.localStorage.setItem("theme", "light");
|
|
||||||
for (let i = 0; i < imgs.length; i += 1) {
|
|
||||||
imgs[i].src = imgs[i].src.replace("-dark", "-light");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function closeMenu() {
|
|
||||||
sections_button.setAttribute("opened", "false");
|
|
||||||
sections_button.children[0].src = sections_button.children[0].src.replace(
|
|
||||||
"opened",
|
|
||||||
"closed",
|
|
||||||
);
|
|
||||||
sections_menu.style.display = "none";
|
|
||||||
}
|
|
||||||
|
|
||||||
function openMenu() {
|
|
||||||
sections_button.setAttribute("opened", "true");
|
|
||||||
sections_button.children[0].src = sections_button.children[0].src.replace(
|
|
||||||
"closed",
|
|
||||||
"opened",
|
|
||||||
);
|
|
||||||
sections_menu.style.display = "flex";
|
|
||||||
sections_menu.style.flexDirection = "column";
|
|
||||||
}
|
|
||||||
|
|
||||||
sections_button.addEventListener("click", () => {
|
|
||||||
if (sections_button.getAttribute("opened") === "false") {
|
|
||||||
openMenu();
|
|
||||||
} else {
|
|
||||||
closeMenu();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
window.addEventListener("resize", () => {
|
|
||||||
if (sections_button.getAttribute("opened") === "true") {
|
|
||||||
closeMenu();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
main.addEventListener("click", () => {
|
|
||||||
if (sections_button.getAttribute("opened") === "true") {
|
|
||||||
closeMenu();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const closeMenu = () => {
|
||||||
|
hamburger.classList = "hamburger closed"
|
||||||
|
hamburgerIcon.src = hamburgerIcon.src.replace("opened", "closed");
|
||||||
|
menu.classList = "menu closed";
|
||||||
|
}
|
||||||
|
|
||||||
|
const openMenu = () => {
|
||||||
|
hamburger.classList = "hamburger open"
|
||||||
|
hamburgerIcon.src = hamburgerIcon.src.replace("closed", "opened");
|
||||||
|
menu.classList = "menu open";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Listeners */
|
||||||
|
|
||||||
|
window.addEventListener("resize", () => isMenuOpen() && closeMenu());
|
||||||
|
main.addEventListener("click", () => isMenuOpen() && closeMenu());
|
||||||
|
hamburger?.addEventListener("click", () => isMenuOpen() ? closeMenu() : openMenu());
|
||||||
|
|
||||||
|
themeBtn.addEventListener("click", () => {
|
||||||
|
const title = themeBtn.getAttribute("title") ?? "off"
|
||||||
|
if (title.indexOf("off") !== -1) changeToDarkTheme();
|
||||||
|
else changeToLightTheme();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Rest */
|
||||||
|
|
||||||
|
const userPerfersDark = window?.matchMedia?.("(prefers-color-scheme: dark)").matches
|
||||||
|
if (!theme && userPerfersDark) changeToDarkTheme();
|
||||||
|
else theme === "light" ? changeToLightTheme() : changeToDarkTheme();
|
||||||
|
})
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ main {
|
|||||||
main img {
|
main img {
|
||||||
width: min(70vw, 15rem);
|
width: min(70vw, 15rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ dl {
|
|||||||
|
|
||||||
dt {
|
dt {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
margin: 1rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
margin: 0 0 1rem 1rem;
|
margin: 0 0 0.5rem 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
.auth-wrap {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 2px;
|
||||||
|
padding-top: 24px;
|
||||||
|
a {
|
||||||
|
font-size: 18px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#mesh {
|
#mesh {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,3 +9,4 @@ dt {
|
|||||||
dd {
|
dd {
|
||||||
margin: 0 0 1rem 1rem;
|
margin: 0 0 1rem 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,30 @@
|
|||||||
|
.description {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 4px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.event {
|
.event {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
|
||||||
|
|
||||||
.event:hover {
|
&:hover {
|
||||||
border-bottom: 5px var(--hightlight) solid;
|
border-bottom: 5px var(--hightlight) solid;
|
||||||
}
|
& > div {
|
||||||
|
|
||||||
.event:hover > div {
|
|
||||||
padding-bottom: calc(0.5rem - 5px);
|
padding-bottom: calc(0.5rem - 5px);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.event > div {
|
& > div {
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
padding-bottom: 0.5rem;
|
padding-bottom: 0.5rem;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
width: 250px;
|
width: 220px;
|
||||||
font-size: 0.9em;
|
font-size: 0.75em;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
@@ -27,38 +32,44 @@
|
|||||||
.title {
|
.title {
|
||||||
border-left: 2px solid var(--border);
|
border-left: 2px solid var(--border);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding-left: 1rem;
|
padding-left: 2rem;
|
||||||
padding-right: 0.5em;
|
padding-right: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.place {
|
.place {
|
||||||
font-size: 0.9em;
|
font-size: 0.7em;
|
||||||
|
opacity: 0.7;
|
||||||
|
&:before {
|
||||||
|
content: "-";
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.types {
|
.types {
|
||||||
font-size: 0.9em;
|
font-size: 0.8em;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
font-weight: 900;
|
||||||
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1160px) {
|
@media screen and (max-width: 1160px) {
|
||||||
.event {
|
.event {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 2.2rem;
|
||||||
border-left: 3px solid var(--border);
|
border-left: 3px solid var(--border);
|
||||||
|
&:hover {
|
||||||
|
border-bottom: none;
|
||||||
|
border-left: 3px solid var(--hightlight);
|
||||||
|
& > div {
|
||||||
|
padding-bottom: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.event > div {
|
& > div {
|
||||||
padding: 0 0.5rem;
|
padding: 0 0.5rem;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.event:hover {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.event:hover > div {
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
@@ -68,6 +79,9 @@
|
|||||||
.title {
|
.title {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
|
.place:before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.types {
|
.types {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
|
|||||||
@@ -9,3 +9,4 @@ dt {
|
|||||||
dd {
|
dd {
|
||||||
margin: 0 0 1rem 1rem;
|
margin: 0 0 1rem 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
|
|
||||||
html {
|
html {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
@@ -8,13 +6,13 @@ html {
|
|||||||
src: url(../font/Facade-Sud.woff);
|
src: url(../font/Facade-Sud.woff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: jetbrains-mono;
|
font-family: jetbrains-mono;
|
||||||
src: url(../font/JetBrainsMono-Regular.ttf);
|
src: url(../font/JetBrainsMono-Regular.ttf);
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body {
|
html,
|
||||||
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
@@ -22,12 +20,12 @@ html, body {
|
|||||||
main {
|
main {
|
||||||
max-width: 1200px;
|
max-width: 1200px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
font-family: 'jetbrains-mono';
|
font-family: "jetbrains-mono";
|
||||||
padding: 2.3rem;
|
padding: 2.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-family: 'Facade';
|
font-family: "Facade";
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 5rem;
|
font-size: 5rem;
|
||||||
margin: 0rem;
|
margin: 0rem;
|
||||||
@@ -35,7 +33,7 @@ h1 {
|
|||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-top: 0.0rem;
|
margin-top: 0rem;
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ blockquote {
|
|||||||
|
|
||||||
blockquote::before,
|
blockquote::before,
|
||||||
blockquote::after {
|
blockquote::after {
|
||||||
content: '';
|
content: "";
|
||||||
content: none;
|
content: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,3 +147,4 @@ h6 {
|
|||||||
overflow-wrap: break-word;
|
overflow-wrap: break-word;
|
||||||
hyphens: auto;
|
hyphens: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,21 +6,19 @@ table {
|
|||||||
|
|
||||||
th,
|
th,
|
||||||
td {
|
td {
|
||||||
padding: 0 1rem 0 1rem;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
border-left: 2px solid var(--border);
|
border-left: 2px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
th {
|
th {
|
||||||
padding: 1rem 1rem 0 1rem;
|
padding: 1rem;
|
||||||
border-bottom: 2px solid var(--border);
|
border-bottom: 2px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
padding: 0 1rem 1rem 1rem;
|
padding: 1rem 1rem 0 1rem;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
a {
|
||||||
|
|
||||||
td a {
|
|
||||||
word-break: keep-all;
|
word-break: keep-all;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,3 +8,15 @@ h2 {
|
|||||||
p {
|
p {
|
||||||
padding-bottom: 1.5rem;
|
padding-bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.values {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
label {
|
||||||
|
display: block;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul > li {
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,9 +11,15 @@
|
|||||||
--bg: var(--light-bg);
|
--bg: var(--light-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html.dark {
|
||||||
|
--border: var(--dark-border);
|
||||||
|
--text: var(--dark-text);
|
||||||
|
--bg: var(--dark-bg);
|
||||||
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Iosevka";
|
font-family: "Iosevka";
|
||||||
src: url('/font/iosevka-regular.woff') format('woff');
|
src: url("/font/iosevka-regular.woff") format("woff");
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
@@ -39,7 +45,7 @@ body {
|
|||||||
"footer" 4rem
|
"footer" 4rem
|
||||||
/ 1fr;
|
/ 1fr;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
font-family: 'Iosevka';
|
font-family: "Iosevka";
|
||||||
}
|
}
|
||||||
|
|
||||||
header,
|
header,
|
||||||
@@ -65,33 +71,32 @@ main {
|
|||||||
padding: 3rem;
|
padding: 3rem;
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
line-height: 2rem;
|
line-height: 2rem;
|
||||||
max-width: 120ch;
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
.page-wrap {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
max-width: 1152px;
|
||||||
|
h1 {
|
||||||
main h1 {
|
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
font-variant-caps: small-caps;
|
font-variant-caps: small-caps;
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
a:visited {
|
a:visited {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
}
|
&:hover,
|
||||||
|
&:focus {
|
||||||
main a {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover,
|
|
||||||
a:focus {
|
|
||||||
background-color: var(--hightlight);
|
background-color: var(--hightlight);
|
||||||
text-decoration: line-through var(--text);
|
text-decoration: line-through var(--text);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#logo {
|
#logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -100,11 +105,10 @@ a:focus {
|
|||||||
font-size: 2.5rem;
|
font-size: 2.5rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-variant: small-caps;
|
font-variant: small-caps;
|
||||||
}
|
img {
|
||||||
|
|
||||||
#logo img {
|
|
||||||
width: 3rem;
|
width: 3rem;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#theme-switcher {
|
#theme-switcher {
|
||||||
border: 3px solid var(--border);
|
border: 3px solid var(--border);
|
||||||
@@ -112,12 +116,24 @@ a:focus {
|
|||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
border-radius: 3rem;
|
border-radius: 3rem;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
background: linear-gradient(90deg, var(--border) 0%, var(--border) 50%, var(--bg) 51%, var(--bg) 100%);
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
var(--border) 0%,
|
||||||
|
var(--border) 50%,
|
||||||
|
var(--bg) 51%,
|
||||||
|
var(--bg) 100%
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#theme-switcher:hover {
|
#theme-switcher:hover {
|
||||||
border-color: var(--hightlight);
|
border-color: var(--hightlight);
|
||||||
background: linear-gradient(90deg, var(--hightlight) 0%, var(--hightlight) 50%, var(--bg) 51%, var(--bg) 100%);
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
var(--hightlight) 0%,
|
||||||
|
var(--hightlight) 50%,
|
||||||
|
var(--bg) 51%,
|
||||||
|
var(--bg) 100%
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
.lang {
|
.lang {
|
||||||
@@ -135,17 +151,15 @@ a:focus {
|
|||||||
.links {
|
.links {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
}
|
& > a {
|
||||||
|
|
||||||
.links>a {
|
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
}
|
& > img {
|
||||||
|
|
||||||
.links>a>img {
|
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#sections-button {
|
.hamburger {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,15 +185,14 @@ button {
|
|||||||
margin-bottom: 3rem;
|
margin-bottom: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-height: 860px),
|
@media screen and (max-height: 860px), screen and (max-width: 1500px) {
|
||||||
screen and (max-width: 1500px) {
|
|
||||||
#mesh {
|
#mesh {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1160px) {
|
@media screen and (max-width: 1160px) {
|
||||||
nav {
|
nav.menu {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
border: 2px solid var(--border);
|
border: 2px solid var(--border);
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
@@ -191,9 +204,13 @@ screen and (max-width: 1500px) {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 2rem 3rem;
|
padding: 2rem 3rem;
|
||||||
display: none;
|
display: none;
|
||||||
|
&.open {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#sections-button {
|
.hamburger {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -209,11 +226,11 @@ screen and (max-width: 1500px) {
|
|||||||
|
|
||||||
.links {
|
.links {
|
||||||
gap: 1.2rem;
|
gap: 1.2rem;
|
||||||
}
|
|
||||||
|
|
||||||
.links a {
|
a {
|
||||||
width: 1.5rem;
|
width: 1.5rem;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
header,
|
header,
|
||||||
footer {
|
footer {
|
||||||
|
|||||||
@@ -4,11 +4,8 @@ p {
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
padding-left: 1.5rem;
|
padding-left: 1.5rem;
|
||||||
}
|
i {
|
||||||
|
|
||||||
li i {
|
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,19 @@
|
|||||||
<h1>Events</h1>
|
<h1>Events</h1>
|
||||||
|
|
||||||
|
<div class="description">
|
||||||
<p>
|
<p>
|
||||||
Following list contains all forthcoming events. Held events are listed in
|
Following list contains all forthcoming events. Held events are listed in
|
||||||
<a href="/en/events_archive">archive</a>.
|
<a href="/en/events_archive">archive</a>.
|
||||||
</p>
|
</p>
|
||||||
<br />
|
<p>
|
||||||
<p>We also provide <a href="https://dmz.rs/events.ical">ical file</a></p>
|
Events are also available as an
|
||||||
<br />
|
<a href="https://dmz.rs/events.ical">ical</a> file.
|
||||||
|
</p>
|
||||||
|
<p>We also provide <a href="https://dmz.rs/events.ical">ical</a> file</p>
|
||||||
|
<p>
|
||||||
|
<a href="https://wiki.dmz.rs/en/kako-pronaci-prostor" target="_blank">
|
||||||
|
Short description
|
||||||
|
</a>
|
||||||
|
how to find a space
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
<h1>Događaji</h1>
|
<h1>Događaji</h1>
|
||||||
|
|
||||||
|
<div class="description">
|
||||||
<p>
|
<p>
|
||||||
Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja
|
Naredna lista sadrži sve predstojeće događaje. Za listu održanih događaja
|
||||||
pogledaj <a href="/events_archive">arhivu</a>.
|
pogledaj <a href="/events_archive">arhivu</a>.
|
||||||
</p>
|
</p>
|
||||||
<br />
|
|
||||||
<p>
|
<p>
|
||||||
Događaje možeš učitati i sa
|
Događaje možeš učitati i sa
|
||||||
<a href="https://dmz.rs/events.ical">ical</a> datotekom.
|
<a href="https://dmz.rs/events.ical">ical</a> datotekom.
|
||||||
</p>
|
</p>
|
||||||
<br />
|
|
||||||
<p>
|
<p>
|
||||||
<a href="https://wiki.dmz.rs/en/kako-pronaci-prostor" target="_blank">Kratako uputstvo</a> kako pronaci prostor
|
<a href="https://wiki.dmz.rs/en/kako-pronaci-prostor" target="_blank">
|
||||||
|
Kratako uputstvo
|
||||||
|
</a>
|
||||||
|
kako pronaci prostor
|
||||||
</p>
|
</p>
|
||||||
<br />
|
</div>
|
||||||
<br />
|
|
||||||
|
|||||||
@@ -1,2 +1,6 @@
|
|||||||
<h1>Events archive</h1>
|
<h1>Events archive</h1>
|
||||||
<p>All events that we organized so far. You can find future events on <a href="/en/events">Events page</a></p><br>
|
<p>
|
||||||
|
All events that we organized so far. You can find future events on
|
||||||
|
<a href="/en/events">Events page</a>
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|||||||
@@ -1,2 +1,6 @@
|
|||||||
<h1>Arhiva događaja</h1>
|
<h1>Arhiva događaja</h1>
|
||||||
<p>Svi događaji koje smo do sada organzivali. Predstojeće događaje možeš naći <a href="/events">ovde</a></p><br>
|
<p>
|
||||||
|
Svi događaji koje smo do sada organzivali. Predstojeće događaje možeš naći
|
||||||
|
<a href="/events">ovde</a>
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
const theme = localStorage.getItem("theme");
|
||||||
|
const prefersDark = window.matchMedia(
|
||||||
|
"(prefers-color-scheme: dark)",
|
||||||
|
).matches;
|
||||||
|
if (theme === "dark" || (!theme && prefersDark))
|
||||||
|
document.documentElement.classList.add("dark");
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
<!--
|
<!-- <pre>
|
||||||
<pre>
|
|
||||||
|
|
||||||
*@@*
|
*@@*
|
||||||
*@@@@*
|
*@@@@*
|
||||||
@@ -27,33 +36,34 @@
|
|||||||
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
||||||
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
||||||
|
|
||||||
</pre>
|
</pre> -->
|
||||||
-->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/styles/reset.css" />
|
<link rel="stylesheet" href="/styles/reset.css" />
|
||||||
<link rel="stylesheet" href="/styles/style.css" />
|
<link rel="stylesheet" href="/styles/style.css" />
|
||||||
<!--ADDITIONAL_STYLE-->
|
<!--ADDITIONAL_STYLE-->
|
||||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||||
<script src="/scripts/main.js" defer></script>
|
<script src="/scripts/main.js"></script>
|
||||||
<title><!--TITLE--> Decentrala</title>
|
<title><!--TITLE--> Decentrala</title>
|
||||||
<link rel="alternate" hreflang="sr" href="/PAGE_NAME" />
|
<link rel="alternate" hreflang="sr" href="/PAGE_NAME" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a id="logo" href="/en/index"
|
<a id="logo" href="/en/index">
|
||||||
><img src="/img/logo-light.svg" alt="Logo" /> Decentrala</a
|
<img src="/img/logo-light.svg" alt="Logo" /> Decentrala
|
||||||
>
|
</a>
|
||||||
<button id="theme-switcher"></button>
|
<button id="theme-switcher"></button>
|
||||||
<a class="lang" hreflang="sr" href="/PAGE_NAME">SR</a>
|
<a class="lang" hreflang="sr" href="/PAGE_NAME">SR</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="page-wrap">
|
||||||
<!--MAIN-->
|
<!--MAIN-->
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
<button id="sections-button" opened="false">
|
<button class="hamburger closed">
|
||||||
<img src="/img/strelica-closed-light.svg" alt="OpenMenu" />
|
<img src="/img/strelica-closed-light.svg" alt="Menu" />
|
||||||
</button>
|
</button>
|
||||||
<nav>
|
<nav class="menu">
|
||||||
<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/statute">Statute</a>
|
||||||
@@ -62,16 +72,18 @@
|
|||||||
<a href="/en/support">Support</a>
|
<a href="/en/support">Support</a>
|
||||||
</nav>
|
</nav>
|
||||||
<span class="links">
|
<span class="links">
|
||||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"
|
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
|
||||||
><img src="/img/cc-light.svg" alt="CreativeCommons"
|
<img src="/img/cc-light.svg" alt="CreativeCommons" />
|
||||||
/></a>
|
</a>
|
||||||
<a href="/en/webring"><img src="/img/w-light.svg" alt="Webring" /></a>
|
<a href="/en/webring">
|
||||||
<a href="https://gitea.dmz.rs/Decentrala/website"
|
<img src="/img/w-light.svg" alt="Webring" />
|
||||||
><img src="/img/git-light.svg" alt="SourceCode"
|
</a>
|
||||||
/></a>
|
<a href="https://gitea.dmz.rs/Decentrala/website">
|
||||||
<a href="https://balkan.fedive.rs/@decentrala"
|
<img src="/img/git-light.svg" alt="SourceCode" />
|
||||||
><img src="/img/mastodon-light.svg" alt="Mastodon"
|
</a>
|
||||||
/></a>
|
<a href="https://balkan.fedive.rs/@decentrala">
|
||||||
|
<img src="/img/mastodon-light.svg" alt="Mastodon" />
|
||||||
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -1,11 +1,20 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="sr">
|
<html lang="sr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<script>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
(function () {
|
||||||
|
const theme = localStorage.getItem("theme");
|
||||||
|
const prefersDark = window.matchMedia(
|
||||||
|
"(prefers-color-scheme: dark)",
|
||||||
|
).matches;
|
||||||
|
if (theme === "dark" || (!theme && prefersDark))
|
||||||
|
document.documentElement.classList.add("dark");
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
<!--
|
<!-- <pre>
|
||||||
<pre>
|
|
||||||
|
|
||||||
*@@*
|
*@@*
|
||||||
*@@@@*
|
*@@@@*
|
||||||
@@ -27,41 +36,55 @@
|
|||||||
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
| |_| | |__| |___| |___| |\ | | | | _ < / ___ \| |___ / ___ \
|
||||||
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
|____/|_____\____|_____|_| \_| |_| |_| \_\/_/ \_\_____/_/ \_\
|
||||||
|
|
||||||
</pre>
|
</pre> -->
|
||||||
-->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/styles/reset.css">
|
<link rel="stylesheet" href="/styles/reset.css" />
|
||||||
<link rel="stylesheet" href="/styles/style.css">
|
<link rel="stylesheet" href="/styles/style.css" />
|
||||||
<!--ADDITIONAL_STYLE-->
|
<!--ADDITIONAL_STYLE-->
|
||||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
|
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||||
<script src="/scripts/main.js" defer></script>
|
<script src="/scripts/main.js" defer></script>
|
||||||
<title><!--TITLE--> Decentrala</title>
|
<title><!--TITLE--> Decentrala</title>
|
||||||
<link rel="alternate" hreflang="en" href="/en/PAGE_NAME" />
|
<link rel="alternate" hreflang="en" href="/en/PAGE_NAME" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<a id="logo" href="/"><img src="/img/logo-light.svg" alt="Logo"> Decentrala</a>
|
<a id="logo" href="/">
|
||||||
|
<img src="/img/logo-light.svg" alt="Logo" />
|
||||||
|
Decentrala
|
||||||
|
</a>
|
||||||
<button id="theme-switcher"></button>
|
<button id="theme-switcher"></button>
|
||||||
<a class="lang" hreflang="en" href="/en/PAGE_NAME">EN</a>
|
<a class="lang" hreflang="en" href="/en/PAGE_NAME">EN</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
|
<div class="page-wrap">
|
||||||
<!--MAIN-->
|
<!--MAIN-->
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
<button id="sections-button" opened="false"><img src="/img/strelica-closed-light.svg" alt="OpenMenu"></button>
|
<button class="hamburger closed">
|
||||||
<nav>
|
<img src="/img/strelica-closed-light.svg" alt="Menu" />
|
||||||
|
</button>
|
||||||
|
<nav class="menu">
|
||||||
<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="/statute">Statut</a>
|
||||||
<a href="/about">O nama</>
|
<a href="/about">O nama</a>
|
||||||
<a class="account" href="/account">Nalog</a>
|
<a class="account" href="/account">Nalog</a>
|
||||||
<a href="/support">Podrška</a>
|
<a href="/support">Podrška</a>
|
||||||
</nav>
|
</nav>
|
||||||
<span class="links">
|
<span class="links">
|
||||||
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><img src="/img/cc-light.svg" alt="CreativeCommons"></a>
|
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
|
||||||
<a href="/webring"><img src="/img/w-light.svg" alt="Webring"></a>
|
<img src="/img/cc-light.svg" alt="CreativeCommons" />
|
||||||
<a href="https://gitea.dmz.rs/Decentrala/website"><img src="/img/git-light.svg" alt="SourceCode"></a>
|
</a>
|
||||||
<a href="https://balkan.fedive.rs/@decentrala"><img src="/img/mastodon-light.svg" alt="Mastodon"></a>
|
<a href="/webring">
|
||||||
|
<img src="/img/w-light.svg" alt="Webring" />
|
||||||
|
</a>
|
||||||
|
<a href="https://gitea.dmz.rs/Decentrala/website">
|
||||||
|
<img src="/img/git-light.svg" alt="SourceCode" />
|
||||||
|
</a>
|
||||||
|
<a href="https://balkan.fedive.rs/@decentrala">
|
||||||
|
<img src="/img/mastodon-light.svg" alt="Mastodon" />
|
||||||
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user