From 9851b4468556f0c042a5518033db0008c0303381 Mon Sep 17 00:00:00 2001 From: "Christoph J. Scherr" Date: Sat, 8 Feb 2025 17:35:23 +0100 Subject: [PATCH] feat: basic flask website --- run.sh | 2 + senju/main.py | 13 ++- senju/static/img/senju-nobg.png | Bin 0 -> 17684 bytes senju/static/img/senju-nobg.svg | 113 ++++++++++++++++++++++++++ senju/static/img/senju.png | Bin 0 -> 18734 bytes senju/static/img/senju.svg | 110 +++++++++++++++++++++++++ senju/templates/base.jinja | 137 ++++++++++++++++++++++++++++++++ senju/templates/index.jinja | 4 + 8 files changed, 376 insertions(+), 3 deletions(-) create mode 100755 run.sh create mode 100644 senju/static/img/senju-nobg.png create mode 100644 senju/static/img/senju-nobg.svg create mode 100644 senju/static/img/senju.png create mode 100644 senju/static/img/senju.svg create mode 100644 senju/templates/base.jinja create mode 100644 senju/templates/index.jinja diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..47658a8 --- /dev/null +++ b/run.sh @@ -0,0 +1,2 @@ +#!/bin/bash +flask --app senju/main run --debug diff --git a/senju/main.py b/senju/main.py index ba7cc7d..11cc56d 100644 --- a/senju/main.py +++ b/senju/main.py @@ -1,5 +1,12 @@ -from __future__ import annotations +from flask import Flask, url_for, render_template +from markupsafe import escape + +app = Flask(__name__) -def main(): - print("hello world") +@app.route("/") +def index(): + context = { + "number": 1337 + } + return render_template("index.jinja", context=context, title="Senju") diff --git a/senju/static/img/senju-nobg.png b/senju/static/img/senju-nobg.png new file mode 100644 index 0000000000000000000000000000000000000000..6c88f3c66af1b82b5dcfd54c6ec1d353ab419fb0 GIT binary patch literal 17684 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 literal 0 HcmV?d00001 diff --git a/senju/static/img/senju-nobg.svg b/senju/static/img/senju-nobg.svg new file mode 100644 index 0000000..2fa3790 --- /dev/null +++ b/senju/static/img/senju-nobg.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + 選集 + せんじゅう + + diff --git a/senju/static/img/senju.png b/senju/static/img/senju.png new file mode 100644 index 0000000000000000000000000000000000000000..dff566c1f888946cb1774058082d8c615b35233c GIT binary patch literal 18734 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 II;Vst0AvWuYXATM literal 0 HcmV?d00001 diff --git a/senju/static/img/senju.svg b/senju/static/img/senju.svg new file mode 100644 index 0000000..0afb3b1 --- /dev/null +++ b/senju/static/img/senju.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + 選集 + せんじゅう + + diff --git a/senju/templates/base.jinja b/senju/templates/base.jinja new file mode 100644 index 0000000..8ccb184 --- /dev/null +++ b/senju/templates/base.jinja @@ -0,0 +1,137 @@ + + + + + + + {{ title }} + + + + + {% block head %} + {% endblock %} + + + +
+ + +
+
+

{{ title }}

+
+
+
+ 紫の
+ 花が強くも
+ 生きている。
+
+
+
+
+
+ {% block content %} + {% endblock %} +
+
+
+ diff --git a/senju/templates/index.jinja b/senju/templates/index.jinja new file mode 100644 index 0000000..4f8e829 --- /dev/null +++ b/senju/templates/index.jinja @@ -0,0 +1,4 @@ +{% extends "base.jinja" %} +{% block content %} +

yo mama

+{% endblock %}