mirror of
https://github.com/senju1337/senju.git
synced 2025-12-23 23:39:27 +00:00
commit
25227c8767
8 changed files with 375 additions and 3 deletions
2
run.sh
Executable file
2
run.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
flask --app senju/main run --debug
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
from __future__ import annotations
|
||||
from flask import Flask, render_template
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
def main():
|
||||
print("hello world")
|
||||
@app.route("/")
|
||||
def index():
|
||||
context = {
|
||||
"number": 1337
|
||||
}
|
||||
return render_template("index.jinja", context=context, title="Senju")
|
||||
|
|
|
|||
BIN
senju/static/img/senju-nobg.png
Normal file
BIN
senju/static/img/senju-nobg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
113
senju/static/img/senju-nobg.svg
Normal file
113
senju/static/img/senju-nobg.svg
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="512"
|
||||
height="360"
|
||||
viewBox="0 0 512 360"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||
sodipodi:docname="senju-nobg.svg"
|
||||
inkscape:export-filename="senju.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
showgrid="true"
|
||||
showborder="true"
|
||||
labelstyle="default"
|
||||
inkscape:clip-to-page="true"
|
||||
inkscape:zoom="1.1048543"
|
||||
inkscape:cx="235.32514"
|
||||
inkscape:cy="257.95255"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2">
|
||||
<inkscape:grid
|
||||
id="grid3"
|
||||
units="px"
|
||||
originx="0"
|
||||
originy="0"
|
||||
spacingx="1"
|
||||
spacingy="1"
|
||||
empcolor="#0099e5"
|
||||
empopacity="0.30196078"
|
||||
color="#0099e5"
|
||||
opacity="0.14901961"
|
||||
empspacing="5"
|
||||
enabled="true"
|
||||
visible="true" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="94.130058"
|
||||
y="65.166962"
|
||||
width="226.27417"
|
||||
height="71.50264"
|
||||
id="rect3" />
|
||||
<rect
|
||||
x="175.36"
|
||||
y="155.52"
|
||||
width="126.72"
|
||||
height="119.68"
|
||||
id="rect1" />
|
||||
<rect
|
||||
x="175.36"
|
||||
y="155.52"
|
||||
width="126.72"
|
||||
height="119.68"
|
||||
id="rect4" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:none">
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:1.52484"
|
||||
id="rect2"
|
||||
width="512"
|
||||
height="512"
|
||||
x="0"
|
||||
y="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Ebene 2">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text1"
|
||||
style="font-weight:bold;font-size:53.3333px;font-family:'FiraCode Nerd Font Mono';-inkscape-font-specification:'FiraCode Nerd Font Mono, Bold';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect1);display:inline;fill:#ff00ad;fill-opacity:1"
|
||||
transform="matrix(4.5228708,0,0,3.7572476,-778.34743,-466.73906)"><tspan
|
||||
x="175.35938"
|
||||
y="202.86062"
|
||||
id="tspan2">選集</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.9159px;font-family:'FiraCode Nerd Font Mono';-inkscape-font-specification:'FiraCode Nerd Font Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect4);display:inline;fill:#00fcff;fill-opacity:1"
|
||||
transform="matrix(4.0317942,0,0,4.8366581,-589.41513,-713.39958)"><tspan
|
||||
x="175.35938"
|
||||
y="167.87192"
|
||||
id="tspan3">せんじゅう</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
BIN
senju/static/img/senju.png
Normal file
BIN
senju/static/img/senju.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
110
senju/static/img/senju.svg
Normal file
110
senju/static/img/senju.svg
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="512"
|
||||
height="360"
|
||||
viewBox="0 0 512 360"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||
sodipodi:docname="senju.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="false"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
showgrid="true"
|
||||
showborder="true"
|
||||
labelstyle="default"
|
||||
inkscape:clip-to-page="true"
|
||||
inkscape:zoom="1.1048543"
|
||||
inkscape:cx="235.32514"
|
||||
inkscape:cy="257.95255"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2">
|
||||
<inkscape:grid
|
||||
id="grid3"
|
||||
units="px"
|
||||
originx="0"
|
||||
originy="0"
|
||||
spacingx="1"
|
||||
spacingy="1"
|
||||
empcolor="#0099e5"
|
||||
empopacity="0.30196078"
|
||||
color="#0099e5"
|
||||
opacity="0.14901961"
|
||||
empspacing="5"
|
||||
enabled="true"
|
||||
visible="true" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs1">
|
||||
<rect
|
||||
x="94.130058"
|
||||
y="65.166962"
|
||||
width="226.27417"
|
||||
height="71.50264"
|
||||
id="rect3" />
|
||||
<rect
|
||||
x="175.36"
|
||||
y="155.52"
|
||||
width="126.72"
|
||||
height="119.68"
|
||||
id="rect1" />
|
||||
<rect
|
||||
x="175.36"
|
||||
y="155.52"
|
||||
width="126.72"
|
||||
height="119.68"
|
||||
id="rect4" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
sodipodi:insensitive="true"
|
||||
style="display:inline">
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke-width:1.52484"
|
||||
id="rect2"
|
||||
width="512"
|
||||
height="512"
|
||||
x="0"
|
||||
y="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Ebene 2">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text1"
|
||||
style="font-weight:bold;font-size:53.3333px;font-family:'FiraCode Nerd Font Mono';-inkscape-font-specification:'FiraCode Nerd Font Mono, Bold';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect1);display:inline;fill:#ff00ad;fill-opacity:1"
|
||||
transform="matrix(4.5228708,0,0,3.7572476,-778.34743,-466.73906)"><tspan
|
||||
x="175.35938"
|
||||
y="202.86062"
|
||||
id="tspan2">選集</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text3"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.9159px;font-family:'FiraCode Nerd Font Mono';-inkscape-font-specification:'FiraCode Nerd Font Mono, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect4);display:inline;fill:#00fcff;fill-opacity:1"
|
||||
transform="matrix(4.0317942,0,0,4.8366581,-589.41513,-713.39958)"><tspan
|
||||
x="175.35938"
|
||||
y="167.87192"
|
||||
id="tspan3">せんじゅう</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
137
senju/templates/base.jinja
Normal file
137
senju/templates/base.jinja
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="h-full bg-gray-100">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>{{ title }}</title>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<script src="https://unpkg.com/@tailwindcss/browser@4"></script>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
||||
{% block head %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
|
||||
<body class="h-full">
|
||||
<div class="min-h-full bg-violet-950">
|
||||
<nav class="bg-violet-600">
|
||||
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex h-16 items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0">
|
||||
<img class="size-8" src="{{ url_for('static', filename='img/senju-nobg.svg') }}" alt="選集">
|
||||
</div>
|
||||
<div class="hidden md:block">
|
||||
<div class="ml-10 flex items-baseline space-x-4">
|
||||
<!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" -->
|
||||
<a href="#" class="rounded-md bg-gray-900 px-3 py-2 text-sm font-medium text-white"
|
||||
aria-current="page">Start</a>
|
||||
<a href="#"
|
||||
class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Haiku</a>
|
||||
<a href="#"
|
||||
class="rounded-md px-3 py-2 text-sm font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Information</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden md:block">
|
||||
<div class="ml-4 flex items-center md:ml-6">
|
||||
{% block navside %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="-mr-2 flex md:hidden">
|
||||
<!-- Mobile menu button -->
|
||||
<button type="button"
|
||||
class="relative inline-flex items-center justify-center rounded-md bg-gray-800 p-2 text-gray-400 hover:bg-gray-700 hover:text-white focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800 focus:outline-hidden"
|
||||
aria-controls="mobile-menu" aria-expanded="false">
|
||||
<span class="absolute -inset-0.5"></span>
|
||||
<span class="sr-only">Open main menu</span>
|
||||
<!-- Menu open: "hidden", Menu closed: "block" -->
|
||||
<svg class="block size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
||||
stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round"
|
||||
d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
|
||||
</svg>
|
||||
<!-- Menu open: "block", Menu closed: "hidden" -->
|
||||
<svg class="hidden size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
|
||||
stroke="currentColor" aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mobile menu, show/hide based on menu state. -->
|
||||
<div class="md:hidden" id="mobile-menu">
|
||||
<div class="space-y-1 px-2 pt-2 pb-3 sm:px-3">
|
||||
<!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" -->
|
||||
<a href="#" class="block rounded-md bg-gray-900 px-3 py-2 text-base font-medium text-white"
|
||||
aria-current="page">Dashboard</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Team</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Projects</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Calendar</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-300 hover:bg-gray-700 hover:text-white">Reports</a>
|
||||
</div>
|
||||
<div class="border-t border-gray-700 pt-4 pb-3">
|
||||
<div class="flex items-center px-5">
|
||||
<div class="shrink-0">
|
||||
<img class="size-10 rounded-full"
|
||||
src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
|
||||
alt="">
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<div class="text-base/5 font-medium text-white">Tom Cook</div>
|
||||
<div class="text-sm font-medium text-gray-400">tom@example.com</div>
|
||||
</div>
|
||||
<button type="button"
|
||||
class="relative ml-auto shrink-0 rounded-full bg-gray-800 p-1 text-gray-400 hover:text-white focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800 focus:outline-hidden">
|
||||
<span class="absolute -inset-1.5"></span>
|
||||
<span class="sr-only">View notifications</span>
|
||||
<svg class="size-6" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
|
||||
aria-hidden="true" data-slot="icon">
|
||||
<path stroke-linecap="round" stroke-linejoin="round"
|
||||
d="M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="mt-3 space-y-1 px-2">
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-400 hover:bg-gray-700 hover:text-white">Your
|
||||
Profile</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-400 hover:bg-gray-700 hover:text-white">Settings</a>
|
||||
<a href="#"
|
||||
class="block rounded-md px-3 py-2 text-base font-medium text-gray-400 hover:bg-gray-700 hover:text-white">Sign
|
||||
out</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<header class="bg-violet-500 shadow-sm flex flex-row items-stretch gap-6
|
||||
px-6 py-3">
|
||||
<div class="flex-1 place-self-center">
|
||||
<h1 class="text-3xl font-bold tracking-tight text-gray-900">{{ title }}</h1>
|
||||
</div>
|
||||
<div class="flex-1 place-self-center grid place-items-end">
|
||||
<div class="haiku text-left text-color-black">
|
||||
紫の<br>
|
||||
花が強くも<br>
|
||||
生きている。<br>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main class="bg-violet-900 min-h-170">
|
||||
<div class="mx-auto max-w-7xl px-4 py-6 sm:px-6 lg:px-8">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
4
senju/templates/index.jinja
Normal file
4
senju/templates/index.jinja
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{% extends "base.jinja" %}
|
||||
{% block content %}
|
||||
<h1 class="text-center">yo mama</h1>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue