prvi commit

This commit is contained in:
marin 2025-03-05 21:02:39 +01:00
commit bd39af7663
4 changed files with 260 additions and 0 deletions

71
code/main.py Normal file
View file

@ -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 = """
<nav>
<a href="index.html">Početna</a>
<a href="projects.html">Projekti</a>
<a href="contribute.html">Kako doprinijeti</a>
</nav>
"""
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'''
<footer>
<p><strong>Git Commit:</strong> {git_commit}</p>
<p><strong>Broj posjeta stranici:</strong> {visits}</p>
<p><strong>Server pokrenut:</strong> {pocelo.strftime("%d.%m.%Y %H:%M:%S")}</p>
</footer>
'''
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('/<page>')
def other_pages(page):
if page in html_files:
content = replace_placeholders(html_files[page])
return content
else:
return "<h1>Stranica nije pronađena</h1>", 404
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=8000)

58
html/contribute.html Normal file
View file

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html lang="hr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kako doprinijeti Open Source zajednici</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
text-align: center;
}
nav {
background: #333;
padding: 10px;
}
nav a {
color: white;
text-decoration: none;
margin: 15px;
font-size: 18px;
}
.container {
max-width: 800px;
margin: auto;
background: white;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
margin-top: 20px;
border-radius: 10px;
}
ul {
text-align: left;
margin-left: 20px;
}
</style>
</head>
<body>
{{nav}}
<div class="container">
<h1>Kako doprinijeti Open Source zajednici?</h1>
<p>Ako želite postati dio open-source svijeta, evo nekoliko načina kako možete doprinijeti:</p>
<ul>
<li><strong>Razvoj koda:</strong> Pridružite se projektima na GitHubu, GitLab-u ili Bitbucketu i pomažite u razvoju novih značajki, ispravljanju grešaka i optimizaciji koda.</li>
<li><strong>Prijavljivanje grešaka:</strong> Ako pronađete bug, prijavite ga developerima. Opišite korake za reprodukciju greške kako bi razvojni tim mogao brzo reagirati.</li>
<li><strong>Prevođenje:</strong> Pomozite u prevođenju softvera na druge jezike. Mnogo projekata ima zajednice volontera koji prevođenjem čine softver dostupnijim globalnoj publici.</li>
<li><strong>Pisanje dokumentacije:</strong> 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.</li>
<li><strong>Donacije:</strong> 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.</li>
<li><strong>Testiranje:</strong> 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.</li>
<li><strong>Promocija:</strong> Š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.</li>
</ul>
<p>Pridružite se open-source zajednici i doprinesite razvoju besplatnog softvera! Svaka mala pomoć je značajna.</p>
</div>
{{footer}}
</body>
</html>

72
html/index.html Normal file
View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<html lang="hr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dobrodošli u Open Source Svijet</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
text-align: center;
}
nav {
background: #333;
padding: 10px;
}
nav a {
color: white;
text-decoration: none;
margin: 15px;
font-size: 18px;
}
.container {
max-width: 800px;
margin: auto;
background: white;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
margin-top: 20px;
border-radius: 10px;
}
.section {
margin: 40px 0;
}
.section h2 {
font-size: 24px;
margin-bottom: 10px;
}
.section p {
font-size: 18px;
line-height: 1.6;
}
</style>
</head>
<body>
{{nav}}
<div class="container">
<h1>Dobrodošli u Open Source Svijet!</h1>
<p>Open-source softver je temelj modernog IT-a. Ovdje možete saznati više o najpoznatijim projektima i kako možete doprinijeti zajednici.</p>
</div>
<div class="container">
<h2>Što je FOSS (Free and Open Source Software)?</h2>
<p>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.</p>
<p>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.</p>
</div>
<div class="container">
<h2>Prednosti FOSS-a</h2>
<p>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:</p>
<ul style="text-align: left; margin-left: 20px;">
<li><strong>Sloboda i fleksibilnost:</strong> Korisnici mogu slobodno koristiti, modificirati i distribuirati softver prema svojim potrebama.</li>
<li><strong>Transparentnost:</strong> Budući da je izvorni kod dostupan, svatko može provjeriti kako softver funkcionira, što povećava sigurnost i povjerenje.</li>
<li><strong>Zajednica i suradnja:</strong> FOSS omogućava suradnju između korisnika i programera širom svijeta, čime se potiče brzi razvoj i inovacije.</li>
<li><strong>Ušteda novca:</strong> FOSS je besplatan za korištenje, što omogućava organizacijama i pojedincima da uštede na licencnim troškovima.</li>
<li><strong>Bolja sigurnost:</strong> Otvoreni kod omogućava brzo prepoznavanje i ispravljanje sigurnosnih propusta, čineći FOSS sigurnijim od mnogih komercijalnih alternativa.</li>
</ul>
</div>
{{footer}}
</body>
</html>

59
html/projects.html Normal file
View file

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="hr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Open Source Projekti</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
text-align: center;
}
nav {
background: #333;
padding: 10px;
}
nav a {
color: white;
text-decoration: none;
margin: 15px;
font-size: 18px;
}
.container {
max-width: 800px;
margin: auto;
background: white;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
margin-top: 20px;
border-radius: 10px;
}
ul {
text-align: left;
margin-left: 20px;
}
</style>
</head>
<body>
{{nav}}
<div class="container">
<h1>Popularni Open Source Projekti</h1>
<p>Ovdje su neki od najpoznatijih open-source projekata koje možete koristiti i kojima možete doprinositi:</p>
<ul>
<li><strong><a href="https://www.kernel.org/" target="_blank">Linux</a></strong> 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.</li>
<li><strong><a href="https://www.blender.org/" target="_blank">Blender</a></strong> 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.</li>
<li><strong><a href="https://www.gimp.org/" target="_blank">GIMP</a></strong> 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.</li>
<li><strong><a href="https://www.mozilla.org/en-US/firefox/" target="_blank">Mozilla Firefox</a></strong> 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.</li>
<li><strong><a href="https://www.libreoffice.org/" target="_blank">LibreOffice</a></strong> 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.</li>
<li><strong><a href="https://wordpress.org/" target="_blank">WordPress</a></strong> 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.</li>
<li><strong><a href="https://www.git-scm.com/" target="_blank">Git</a></strong> 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.</li>
<li><strong><a href="https://www.docker.com/" target="_blank">Docker</a></strong> 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.</li>
<li><strong><a href="https://www.apache.org/" target="_blank">Apache HTTP Server</a></strong> 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.</li>
</ul>
</div>
{{footer}}
</body>
</html>