Put personal pages into subdomains
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from htmlmin import minify
|
||||
from flask import Blueprint, render_template, send_from_directory, send_file, abort
|
||||
|
||||
bp = Blueprint(
|
||||
"risdeveau",
|
||||
__name__,
|
||||
subdomain="risdeveau",
|
||||
template_folder="..",
|
||||
static_folder=None
|
||||
)
|
||||
|
||||
def render_tmpl(filename: str) -> str:
|
||||
template_path = os.path.join("risdeveau/templates", filename)
|
||||
return minify(
|
||||
render_template(template_path),
|
||||
remove_empty_space=True
|
||||
)
|
||||
|
||||
@bp.route("/static/<path:filename>")
|
||||
def static(filename: str):
|
||||
static_folders = ("static", "../root/static")
|
||||
for dir in static_folders:
|
||||
if os.path.exists(path := os.path.join("blueprints/risdeveau", dir, filename)):
|
||||
return send_file(path)
|
||||
return abort(404)
|
||||
|
||||
@bp.route("/")
|
||||
def index():
|
||||
return render_tmpl('index.html')
|
||||
@@ -0,0 +1,9 @@
|
||||
from os import system as console
|
||||
from os.path import join
|
||||
|
||||
def compile_styles():
|
||||
dir = "blueprints/risdeveau/static/style"
|
||||
files = ("risdeveau",)
|
||||
|
||||
for file in files:
|
||||
console(f"sass {join(dir, file+'.scss')} {join(dir, file+'.css')}")
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,33 @@
|
||||
h3 {
|
||||
margin-block-end: 0;
|
||||
}
|
||||
|
||||
.qr {
|
||||
img { width: 100% }
|
||||
p { text-align: center; }
|
||||
|
||||
&.blocks {
|
||||
flex-wrap: nowrap;
|
||||
overflow-x: auto;
|
||||
width: calc(100vw - 1rem);
|
||||
max-width: 45rem;
|
||||
scroll: {
|
||||
behavior: smooth;
|
||||
snap-type: x mandatory;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar { display: none; }
|
||||
|
||||
&:hover .block.qr:not(:hover) {
|
||||
filter: blur(5px);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
&.block {
|
||||
flex: 0 0 calc(100vw - 2rem);
|
||||
scroll-snap-align: start;
|
||||
max-width: 13.666rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Sweet Bread</title>
|
||||
|
||||
<link rel="stylesheet" href="/static/style/main.css">
|
||||
<link rel="stylesheet" href="/static/style/risdeveau.css">
|
||||
<link rel="icon" type="image/webp" href="/static/icon/us/risdeveau.webp" />
|
||||
<script
|
||||
src="https://track.lair.moe/api/script.js"
|
||||
data-site-id="1"
|
||||
defer
|
||||
></script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<a href="{{ url_for('root.index') }}">Lair</a>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<h3>Development</h3>
|
||||
<div class="blocks badges">
|
||||
<a class="block" href="//g.lair.moe/Sweetbread">
|
||||
<img class="icon" src="/static/icon/service/gitea.webp" />
|
||||
Gitea
|
||||
</a>
|
||||
<a class="block" href="https://github.com/VerySweetBread">
|
||||
<img class="icon" src="https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png" />
|
||||
GitHub
|
||||
</a>
|
||||
<a class="block" href="https://git.kolibrios.org/Sweetbread">
|
||||
<img class="icon" src="https://git.kolibrios.org/assets/img/logo.svg" />
|
||||
KolibriOS Git
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3>Contacts</h3>
|
||||
<div class="blocks badges">
|
||||
<a class="block" href="https://matrix.to/#/@risdeveau:codrs.ru">
|
||||
<img class="icon" src="https://matrix.org/assets/favicon.ico" />
|
||||
Matrix
|
||||
</a>
|
||||
<a class="block" href="//b.lair.moe/@risdeveau">
|
||||
<img class="icon" src="/static/icon/service/sharkey.webp" />
|
||||
Fediverse
|
||||
</a>
|
||||
<a class="block" href="https://discord.com/users/459823895256498186">
|
||||
<img class="icon" src="https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/66e3d80db9971f10a9757c99_Symbol.svg" />
|
||||
Discord
|
||||
</a>
|
||||
<a class="block" href="mailto:risdeveau@lair.moe">
|
||||
Mail
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3>Game accounts</h3>
|
||||
<div class="blocks badges">
|
||||
<a class="block" href="https://steamcommunity.com/id/risdeveau">
|
||||
<img class="icon" src="https://store.steampowered.com/favicon.ico" />
|
||||
Steam
|
||||
</a>
|
||||
<a class="block" href="https://gamebanana.com/members/3899828">
|
||||
<img class="icon" src="https://images.gamebanana.com/static/img/favicon/favicon.ico" />
|
||||
GameBanana
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3>Wallets</h3>
|
||||
<div class="blocks qr">
|
||||
<div class="block qr">
|
||||
<p>POL, BNB</p>
|
||||
<img src="/static/img/wallets/evm.webp">
|
||||
</div>
|
||||
|
||||
<div class="block qr">
|
||||
<p>TON</p>
|
||||
<img src="/static/img/wallets/ton.webp">
|
||||
</div>
|
||||
|
||||
<div class="block qr">
|
||||
<p>XMR</p>
|
||||
<img src="/static/img/wallets/xmr.webp">
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user