From f417330b0862416cdfa13f31d1a1d00b0256e4c2 Mon Sep 17 00:00:00 2001 From: Kilokem Date: Sun, 12 Jan 2025 20:17:25 +0100 Subject: [PATCH] Main page updated --- main.py | 44 ++++++- posts.json | 26 ++++ static/images/posts/post1.jpg | Bin 0 -> 68698 bytes static/text_files/home/quotes.json | 162 +++++++++++++++++++++++++ templates/about/about.html | 6 - templates/home.html | 35 ------ templates/home/home.html | 46 +++++++ templates/posts/my-fIrst-post.html | 5 + templates/{ => projects}/projects.html | 0 9 files changed, 281 insertions(+), 43 deletions(-) create mode 100644 posts.json create mode 100644 static/images/posts/post1.jpg create mode 100644 static/text_files/home/quotes.json delete mode 100644 templates/home.html create mode 100644 templates/home/home.html create mode 100644 templates/posts/my-fIrst-post.html rename templates/{ => projects}/projects.html (100%) diff --git a/main.py b/main.py index ee32533..cdc2bb5 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,8 @@ from flask import Flask, render_template, request, redirect, url_for, session +import random +import json +import os +import datetime from templates.uni.subjects.halozatok.halozatok_app import halozatok_vizsga_teszt from templates.uni.subjects.portalfejlesztes_net_ben.portalfejlesztes_app import portalfejlesztes_net_ben @@ -8,10 +12,23 @@ from templates.uni.subjects.szamitogepek_mukodese.szgm_app import szamitogepek_m app = Flask(__name__) app.secret_key = 'your_secret_key' + + @app.route('/') @app.route('/home') def home(): - return render_template('home.html') + quotes = [] + with open('./static/text_files/home/quotes.json', 'r', encoding='utf-8') as f: + quotes = json.load(f) + quote = random.sample(quotes, 1) + + posts = [] + with open("posts.json", "r") as f: + posts = json.load(f) + + posts.reverse() + print(posts) + return render_template('home/home.html', quote=quote[0], post_data=posts[:6]) @app.route('/about') def about(): @@ -26,12 +43,35 @@ def uni(): @app.route('/projects') def projects(): - return render_template('projects.html') + return render_template('projects/projects.html') @app.route('/git') def git(): return render_template('git.html') +@app.route('/posts/') +def post(slug): + posts = [] + with open("posts.json", "r") as f: + posts = json.load(f) + # Find the post with the matching slug + post = next((p for p in posts if p['slug'] == slug), None) + + if not post: + abort(404) + + # Now we need to render a template that corresponds to the slug. + # Let's assume that the HTML file is named like the slug (e.g., 'my-first-post.html'). + template_name = f"posts/{slug}.html" # looks for a file like posts/my-first-post.html + + # Check if the template file exists before rendering + if not os.path.exists(os.path.join('templates', template_name)): + abort(404) # If the file does not exist, show 404 error + + # Render the post template + return render_template(template_name, post=post) + + # Register the blueprints with appropriate URL prefixes app.register_blueprint(halozatok_vizsga_teszt, url_prefix='/uni/halozatok') app.register_blueprint(portalfejlesztes_net_ben, url_prefix='/uni/portalfejlesztes_net_ben') diff --git a/posts.json b/posts.json new file mode 100644 index 0000000..e49460a --- /dev/null +++ b/posts.json @@ -0,0 +1,26 @@ +[ + { + "slug": "my-first-post", + "title": "My First Post Ever", + "content": "This is the content of my first post. It's an exciting moment to share my thoughts with the world!", + "date": "2025-01-12", + "image_location": "images/posts/post1.jpg", + "topics": ["Introduction", "Technology", "Personal"] + }, + { + "slug": "second-post-title", + "title": "Another Exciting Post", + "content": "This is the content of the second post. Here, I share some thoughts on a variety of topics.", + "date": "2025-01-13", + "image_location": "images/post2.jpg", + "topics": ["Technology", "Science"] + }, + { + "slug": "third-post-title", + "title": "My Third Post", + "content": "This is the content for my third post. It's about a new journey I'm embarking on.", + "date": "2025-01-14", + "image_location": "images/post3.jpg", + "topics": ["Adventure", "Personal", "Growth"] + } +] diff --git a/static/images/posts/post1.jpg b/static/images/posts/post1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b08b752ba56408bce95b5f3ed013993b5b72286c GIT binary patch literal 68698 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 g3C`;G -
-
Git
-
-
-
-
GDScript
diff --git a/templates/home.html b/templates/home.html deleted file mode 100644 index ce496ce..0000000 --- a/templates/home.html +++ /dev/null @@ -1,35 +0,0 @@ -{% extends "main.html" %} -{% block content %} -
-
- Welcome to my portfolio! I'm a passionate Computer Science Engineer dedicated to crafting innovative and efficient digital solutions. - Feel free to explore my projects, read my blogs, and learn more about me and my work. -
-
"Programs must be written for people to read, and only incidentally for machines to execute."
-
– Harold Abelson
-
-
- Post Image -

Post Title 1

-
January 5, 2025
-

Explore the basics of computer science and its applications in the modern world.

- Read More -
-
- Post Image -

Post Title 2

-
January 6, 2025
-

Dive into advanced programming concepts and learn the secrets of clean code.

- Read More -
-
- Post Image -

Post Title 3

-
January 7, 2025
-

Discover the latest trends in AI and machine learning and their impact on society.

- Read More -
-
-
- -{% endblock %} \ No newline at end of file diff --git a/templates/home/home.html b/templates/home/home.html new file mode 100644 index 0000000..f9d18eb --- /dev/null +++ b/templates/home/home.html @@ -0,0 +1,46 @@ +{% extends "main.html" %} +{% block content %} + +
+
+ Welcome to my personal website! I'm a passionate Computer Science Engineer dedicated to crafting innovative and efficient digital solutions. + Feel free to explore my projects, read my blogs, and learn more about me and my work. +
+
{{ quote.quote }}
+
– {{ quote.author }}
+
+ {% for post in post_data %} +
+ Post Image +

{{ post['title'] }}

+
{{ post['date'] }}
+

{{ post['description'] }}

+

+ {% for topic in post['topics'] %} + {{ topic }} + {% endfor %} +

+ Read More +
+ {% endfor %} +
+
+ +{% endblock %} \ No newline at end of file diff --git a/templates/posts/my-fIrst-post.html b/templates/posts/my-fIrst-post.html new file mode 100644 index 0000000..e0f258d --- /dev/null +++ b/templates/posts/my-fIrst-post.html @@ -0,0 +1,5 @@ +{% extends "main.html" %} + +{% block content %} +

THIS IS FINALY MY FIRST FREAKING POST!!!!

+{% endblock %} \ No newline at end of file diff --git a/templates/projects.html b/templates/projects/projects.html similarity index 100% rename from templates/projects.html rename to templates/projects/projects.html