From 6981a79e732da4dfa0ea06f4039adc17d7747764 Mon Sep 17 00:00:00 2001 From: marin Date: Wed, 5 Mar 2025 21:00:30 +0100 Subject: [PATCH] prvi commit --- code/main.py | 71 ++++++++++++++++++++++++++++++++++++++ code/main.py~ | 81 ++++++++++++++++++++++++++++++++++++++++++++ html/contribute.html | 58 +++++++++++++++++++++++++++++++ html/index.html | 72 +++++++++++++++++++++++++++++++++++++++ html/projects.html | 59 ++++++++++++++++++++++++++++++++ 5 files changed, 341 insertions(+) create mode 100644 code/main.py create mode 100644 code/main.py~ create mode 100644 html/contribute.html create mode 100644 html/index.html create mode 100644 html/projects.html diff --git a/code/main.py b/code/main.py new file mode 100644 index 0000000..dc9cf46 --- /dev/null +++ b/code/main.py @@ -0,0 +1,71 @@ +from flask import Flask, render_template_string +import subprocess +import os +import re +import datetime +pocelo = datetime.datetime.now() +app = Flask(__name__) +visits = 0 + +navbar = """ + + + +""" + + +base_dir = os.path.abspath('..') +html_files = { + 'index.html': os.path.join(base_dir, 'html', 'index.html'), + 'projects.html': os.path.join(base_dir, 'html', 'projects.html'), + 'contribute.html': os.path.join(base_dir, 'html', 'contribute.html') +} + +visit_file = os.path.join(base_dir, 'visits.txt') + +git_commit = result = subprocess.run( + ['git', 'log', '-1', '--pretty=%B'], + capture_output=True, text=True, check=True +).stdout.splitlines()[0] + +motd = "Dobrodošli na našu stranicu!" + +def replace_placeholders(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + global visits + global pocelo + content = file.read() + footer = f''' + +''' + content = re.sub(r'{{GIT_COMMIT}}', git_commit, content) + content = re.sub(r'{{MOTD}}', motd, content) + content = re.sub(r'{{nav}}', navbar, content) + content = re.sub(r'{{footer}}', footer, content) + visits+=1 + return content + +@app.route('/') +def home(): + print(html_files) + content = replace_placeholders(html_files['index.html']) + return content + +@app.route('/') +def other_pages(page): + if page in html_files: + content = replace_placeholders(html_files[page]) + return content + else: + return "

Stranica nije pronađena

", 404 + +if __name__ == '__main__': + app.run(debug=True, host='0.0.0.0', port=8000) diff --git a/code/main.py~ b/code/main.py~ new file mode 100644 index 0000000..faecded --- /dev/null +++ b/code/main.py~ @@ -0,0 +1,81 @@ +from flask import Flask, render_template_string +import subprocess +import os +import re +import datetime +pocelo = datetime.datetime.now() +app = Flask(__name__) +visits = 0 + +navbar = """ + + + +""" + + +# Putanje do HTML datoteka +base_dir = os.path.abspath('..') +html_files = { + 'index.html': os.path.join(base_dir, 'html', 'index.html'), + 'projects.html': os.path.join(base_dir, 'html', 'projects.html'), + 'contribute.html': os.path.join(base_dir, 'html', 'contribute.html') +} + +# Putanja do fajla sa brojem posjeta +visit_file = os.path.join(base_dir, 'visits.txt') + +# Git commit info +git_commit = result = subprocess.run( + ['git', 'log', '-1', '--pretty=%B'], + capture_output=True, text=True, check=True +).stdout.splitlines()[0] + +# MOTD (Message of the Day) +motd = "Dobrodošli na našu stranicu!" + +# Funkcija za broj posjeta +# Funkcija za zamjenu placeholder-a u HTML sadržaju +def replace_placeholders(file_path): + with open(file_path, 'r', encoding='utf-8') as file: + global visits + global pocelo + content = file.read() + footer = f''' +
+

Git Commit: {git_commit}

+

Broj posjeta stranici: {visits}

+

Server pokrenut: {pocelo.strftime("%d.%m.%Y %H:%M:%S")}

+
+''' + content = re.sub(r'{{GIT_COMMIT}}', git_commit, content) + content = re.sub(r'{{MOTD}}', motd, content) + content = re.sub(r'{{nav}}', navbar, content) + content = re.sub(r'{{footer}}', footer, content) + visits+=1 + return content + +# Ruta za početnu stranicu +@app.route('/') +def home(): + # Učitavanje index.html i zamjena placeholder-a + print(html_files) + content = replace_placeholders(html_files['index.html']) + return content + +# Ruta za druge stranice (projects, contribute) +@app.route('/') +def other_pages(page): + # Provjera ako stranica postoji u mapiranju + if page in html_files: + content = replace_placeholders(html_files[page]) + return content + else: + return "

Stranica nije pronađena

", 404 + +if __name__ == '__main__': + app.run(debug=True, host='0.0.0.0', port=8000) diff --git a/html/contribute.html b/html/contribute.html new file mode 100644 index 0000000..d0a03cc --- /dev/null +++ b/html/contribute.html @@ -0,0 +1,58 @@ + + + + + + Kako doprinijeti Open Source zajednici + + + + {{nav}} +
+

Kako doprinijeti Open Source zajednici?

+

Ako želite postati dio open-source svijeta, evo nekoliko načina kako možete doprinijeti:

+
    +
  • Razvoj koda: Pridružite se projektima na GitHubu, GitLab-u ili Bitbucketu i pomažite u razvoju novih značajki, ispravljanju grešaka i optimizaciji koda.
  • +
  • Prijavljivanje grešaka: Ako pronađete bug, prijavite ga developerima. Opišite korake za reprodukciju greške kako bi razvojni tim mogao brzo reagirati.
  • +
  • Prevođenje: Pomozite u prevođenju softvera na druge jezike. Mnogo projekata ima zajednice volontera koji prevođenjem čine softver dostupnijim globalnoj publici.
  • +
  • Pisanje dokumentacije: Kvalitetna dokumentacija pomaže novim korisnicima i developerima da lakše razumiju kako koristiti ili doprinositi projektu. Pisanje vodiča i tutoriala također može biti vrlo korisno.
  • +
  • Donacije: Financijska podrška pomaže održavanju projekata. Donacije omogućuju projektima da pokriju troškove servera, plaće developera ili sponzoriraju događanja i konferencije.
  • +
  • Testiranje: Sudjelujte u beta testiranjima i prijavite povratne informacije. Testiranje novih verzija softvera pomaže u pronalaženju i ispravljanju grešaka prije nego što postanu javne.
  • +
  • Promocija: Širite vijest o open-source projektima na društvenim mrežama, blogovima i forumima. Više korisnika znači veću zajednicu, što rezultira boljim razvojem i održavanjem softvera.
  • +
+

Pridružite se open-source zajednici i doprinesite razvoju besplatnog softvera! Svaka mala pomoć je značajna.

+
+{{footer}} + + diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..b7202bd --- /dev/null +++ b/html/index.html @@ -0,0 +1,72 @@ + + + + + + Dobrodošli u Open Source Svijet + + + + {{nav}} +
+

Dobrodošli u Open Source Svijet!

+

Open-source softver je temelj modernog IT-a. Ovdje možete saznati više o najpoznatijim projektima i kako možete doprinijeti zajednici.

+
+ +
+

Što je FOSS (Free and Open Source Software)?

+

FOSS (Free and Open Source Software) odnosi se na softver koji je slobodno dostupan za korištenje, modifikaciju i distribuciju. To znači da korisnici imaju pravo pristupiti izvornom kodu i prilagoditi ga prema svojim potrebama, a istovremeno mogu podijeliti svoje izmjene s drugima.

+

Sloboda u korištenju, dijeljenju i razvijanju FOSS-a omogućava korisnicima da stvore zajednice koje surađuju na poboljšanju i rastu softverskih alata. Ovo omogućava brzo usvajanje novih tehnologija i bolju prilagodbu softvera specifičnim potrebama korisnika.

+
+
+

Prednosti FOSS-a

+

FOSS (Free and Open Source Software) nudi mnoge prednosti korisnicima, programerima i organizacijama. Neki od ključnih razloga zašto je FOSS tako popularan uključuju:

+
    +
  • Sloboda i fleksibilnost: Korisnici mogu slobodno koristiti, modificirati i distribuirati softver prema svojim potrebama.
  • +
  • Transparentnost: Budući da je izvorni kod dostupan, svatko može provjeriti kako softver funkcionira, što povećava sigurnost i povjerenje.
  • +
  • Zajednica i suradnja: FOSS omogućava suradnju između korisnika i programera širom svijeta, čime se potiče brzi razvoj i inovacije.
  • +
  • Ušteda novca: FOSS je besplatan za korištenje, što omogućava organizacijama i pojedincima da uštede na licencnim troškovima.
  • +
  • Bolja sigurnost: Otvoreni kod omogućava brzo prepoznavanje i ispravljanje sigurnosnih propusta, čineći FOSS sigurnijim od mnogih komercijalnih alternativa.
  • +
+
+ {{footer}} + + diff --git a/html/projects.html b/html/projects.html new file mode 100644 index 0000000..2fe1aa0 --- /dev/null +++ b/html/projects.html @@ -0,0 +1,59 @@ + + + + + + Open Source Projekti + + + + {{nav}} +
+

Popularni Open Source Projekti

+

Ovdje su neki od najpoznatijih open-source projekata koje možete koristiti i kojima možete doprinositi:

+
    +
  • Linux – Operativni sustav otvorenog koda koji pokreće milijune uređaja diljem svijeta. Linux je poznat po svojoj stabilnosti, sigurnosti i fleksibilnosti, te se koristi na serverima, desktop računalima, mobilnim uređajima i ugrađenim sustavima.
  • +
  • Blender – Alat za 3D modeliranje, animaciju, rendering i kreiranje igara. Blender je potpuno besplatan i nudi sve potrebne alate za profesionalnu izradu 3D sadržaja, od modeliranja do finalnog renderiranja.
  • +
  • GIMP – Alternativa Photoshopu za obradu slika, dizajn i digitalno slikarstvo. GIMP nudi napredne alate za uređivanje slika, crtanje i rad s grafikom, te podržava mnoge vrste datoteka i plug-inova.
  • +
  • Mozilla Firefox – Siguran i brz web preglednik koji štiti vašu privatnost. Firefox je poznat po svojim funkcijama vezanim uz sigurnost, poput zaštite od praćenja i privatnog pregledavanja.
  • +
  • LibreOffice – Kompletna alternativa Microsoft Office paketu s alatima za obradu teksta, proračunske tablice, prezentacije i još mnogo toga. LibreOffice je besplatan i podržava širok spektar formata, uključujući Microsoftove dokumente.
  • +
  • WordPress – Najpopularnija platforma za izradu i upravljanje web stranicama i blogovima. WordPress je jednostavan za korištenje, proširiv s tisućama tema i dodataka, te je idealan za sve vrste web stranica.
  • +
  • Git – Sustav za upravljanje verzijama koji omogućava programerima da učinkovito upravljaju promjenama u svom kodu. Git je ključan alat u mnogim open-source projektima i koristi se u kombinaciji s platformama poput GitHub-a i GitLab-a.
  • +
  • Docker – Platforma za razvoj, isporuku i pokretanje aplikacija u kontejnerima. Docker omogućava programerima da izoliraju aplikacije i njihove ovisnosti u lagane i prenosive kontejnerima, što pojednostavljuje razvoj i deployment.
  • +
  • Apache HTTP Server – Jedan od najpopularnijih web poslužitelja na svijetu, Apache omogućuje hosting web stranica i aplikacija s velikim brojem opcija za prilagodbu i proširenje putem modula.
  • +
+
+ {{footer}} + +