diff options
| author | altaf-creator <dev@altafcreator.com> | 2026-05-31 10:45:44 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2026-05-31 10:45:44 +0800 |
| commit | e944308db6de30153fdb86a67d6c913186fe8d89 (patch) | |
| tree | 134db26ba4da6c75ba75cc3d26e70f11d801a6d9 /pages.py | |
| parent | 8fea6e4be4a61cd2bfcb310166fbe6b2541b9ff4 (diff) | |
youtube videos, events, about me wip
Diffstat (limited to 'pages.py')
| -rw-r--r-- | pages.py | 38 |
1 files changed, 35 insertions, 3 deletions
@@ -148,6 +148,8 @@ def render_video(video_name: str) -> tuple: metadata, rendered_content = markdown_renderer.md_to_html(source) metadata["path"] = VIDEO_INDEX[video_name]["path"] + if "download_path" in VIDEO_INDEX[video_name]: + metadata["download_path"] = VIDEO_INDEX[video_name]["download_path"] print(metadata, rendered_content) html = html.replace("{[{content}]}", rendered_content) @@ -159,7 +161,16 @@ def render_video(video_name: str) -> tuple: soup = BeautifulSoup(html, "html.parser") soup.title.string = soup.title.string.replace("{[{title}]}", metadata["title"]) - soup.select_one("#video")["src"] = metadata["path"] + if "youtube" in metadata["path"]: + pass + iframe = BeautifulSoup(f""" + <iframe src="{metadata["path"]}" id="iframe-yt" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> + """, "html.parser") + soup.select_one("#video-parent").append(iframe) + soup.select_one("#video").decompose() + soup.select_one("#video-controls").decompose() + else: + soup.select_one("#video")["src"] = metadata["path"] if metadata["default_copyright"]: soup.select_one("#video-license-parent").string = "©️ All rights reserved" @@ -167,9 +178,30 @@ def render_video(video_name: str) -> tuple: soup.select_one("#video-license-info")["href"] = metadata["license_url"] soup.select_one("#video-license-info").insert(0, BeautifulSoup(metadata["license"], "html.parser")) - if metadata["downloadable"] and not metadata["default_copyright"]: - soup.select_one("#video-download-btn").href = metadata["path"] + if "download_path" in metadata and not metadata["default_copyright"]: + soup.select_one("#video-download-btn")["href"] = metadata["download_path"] else: soup.select_one("#video-download-btn").decompose() return (200, str(soup)) + + +def render_event(event_name: str) -> tuple: + html = HTML_EVENT_TEMPLATE + source = "" + + if event_name not in EVENT_INDEX: + return (404, "") + + with open("." + EVENT_INDEX[event_name]["path"], "r") as f: + source = f.read() + + metadata, rendered_content = markdown_renderer.md_to_html(source) + print(metadata, rendered_content) + + html = html.replace("{[{content}]}", rendered_content) + + soup = BeautifulSoup(html, "html.parser") + soup.title.string = soup.title.string.replace("{[{title}]}", metadata["title"]) + + return (200, str(soup)) |
