Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e4b5578c0 | ||
|
|
a2768058c2 | ||
|
|
bea87185d1 | ||
|
|
b1d1f18664 | ||
|
|
63d694408b | ||
|
|
b1735ea6ac | ||
|
|
8d83658a25 | ||
|
|
184bc16a30 | ||
|
|
f38a8badcf | ||
|
|
58e2e347bc | ||
|
|
0b2498dc7f | ||
|
|
2d342e8c66 | ||
|
|
bd00562100 |
@@ -1,5 +1,6 @@
|
|||||||
from os import system as console
|
from os import system as console
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
|
from flask_mobility import Mobility
|
||||||
from flask import (
|
from flask import (
|
||||||
Flask,
|
Flask,
|
||||||
g,
|
g,
|
||||||
@@ -29,6 +30,7 @@ def get_locale():
|
|||||||
return request.accept_languages.best_match(('en', 'ru', 'de', 'fr', 'ja'), 'en')
|
return request.accept_languages.best_match(('en', 'ru', 'de', 'fr', 'ja'), 'en')
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
Mobility(app)
|
||||||
|
|
||||||
|
|
||||||
@app.before_request
|
@app.before_request
|
||||||
@@ -59,7 +61,6 @@ def inject_translations():
|
|||||||
|
|
||||||
if app.debug:
|
if app.debug:
|
||||||
console("sass static/style/main.scss static/style/main.css")
|
console("sass static/style/main.scss static/style/main.css")
|
||||||
console("sass static/style/risdeveau.scss static/style/risdeveau.css")
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def index():
|
def index():
|
||||||
@@ -75,4 +76,4 @@ def us():
|
|||||||
|
|
||||||
@app.route("/risdeveau")
|
@app.route("/risdeveau")
|
||||||
def risdeveau():
|
def risdeveau():
|
||||||
return render_template('personal/risdeveau.html')
|
return render_template('personal/risdeveau/index.html')
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ gitea = Open-Source, selbst gehosteter Git-Repository-Hoster
|
|||||||
matrix = Föderierter Messenger
|
matrix = Föderierter Messenger
|
||||||
copyparty = Cloud-Dateispeicher
|
copyparty = Cloud-Dateispeicher
|
||||||
4get = Proxy-Suchmaschine
|
4get = Proxy-Suchmaschine
|
||||||
tools = Satz verschiedener Werkzeuge
|
|
||||||
vert = Dateiumwandler
|
|
||||||
|
|
||||||
|
|
||||||
[host]
|
[host]
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ gitea = Opensource selfhosted Git repository hosting
|
|||||||
matrix = federated instant messenger
|
matrix = federated instant messenger
|
||||||
copyparty = cloud file storage
|
copyparty = cloud file storage
|
||||||
4get = proxy search engine
|
4get = proxy search engine
|
||||||
tools = set of various tools
|
|
||||||
vert = file converter
|
|
||||||
|
|
||||||
|
|
||||||
[host]
|
[host]
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ gitea = Hébergement de dépôts Git open source en auto-hébergé
|
|||||||
matrix = Messagerie fédérée
|
matrix = Messagerie fédérée
|
||||||
copyparty = Stockage de fichiers en cloud
|
copyparty = Stockage de fichiers en cloud
|
||||||
4get = Moteur de recherche proxy
|
4get = Moteur de recherche proxy
|
||||||
tools = ensemble d'outils variés
|
|
||||||
vert = convertisseur de fichiers
|
|
||||||
|
|
||||||
|
|
||||||
[host]
|
[host]
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ gitea = オープンソースのセルフホスティングGitリポジトリ
|
|||||||
matrix = 連合型メッセンジャー
|
matrix = 連合型メッセンジャー
|
||||||
copyparty = クラウドファイルストレージ
|
copyparty = クラウドファイルストレージ
|
||||||
4get = プロキシ検索エンジン
|
4get = プロキシ検索エンジン
|
||||||
tools = 様々なツールのセット
|
|
||||||
vert = ファイル変換ツール
|
|
||||||
|
|
||||||
|
|
||||||
[host]
|
[host]
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ gitea = Selfhosted хранилище Git-репозиториев со своб
|
|||||||
matrix = федеративный мессенджер
|
matrix = федеративный мессенджер
|
||||||
copyparty = облачное хранилище файлов
|
copyparty = облачное хранилище файлов
|
||||||
4get = прокси-поисковик
|
4get = прокси-поисковик
|
||||||
tools = набор разнообразных утилит
|
|
||||||
vert = конвертация файлов
|
|
||||||
|
|
||||||
|
|
||||||
[host]
|
[host]
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
Flask==3.1.1
|
Flask==3.1.1
|
||||||
|
flask_mobility
|
||||||
gunicorn
|
gunicorn
|
||||||
|
|||||||
+4
-17
@@ -54,10 +54,9 @@ h1 {
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
color: unset;
|
color: unset;
|
||||||
text: {
|
text-decoration: underline;
|
||||||
decoration: underline {color: $blue};
|
text-decoration-color: $blue;
|
||||||
underline-offset: 1px;
|
text-underline-offset: 1px;
|
||||||
}
|
|
||||||
transition: 0.3s ease;
|
transition: 0.3s ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -91,6 +90,7 @@ ul {
|
|||||||
|
|
||||||
header {
|
header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
background-color: $mantle;
|
background-color: $mantle;
|
||||||
padding: .5rem;
|
padding: .5rem;
|
||||||
@@ -171,19 +171,6 @@ footer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.badges {
|
|
||||||
.block {
|
|
||||||
flex: 1;
|
|
||||||
text-wrap-mode: nowrap;
|
|
||||||
text-align: -webkit-center;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
flex: 1.5;
|
|
||||||
transform: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 1.5em;
|
width: 1.5em;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,10 +1,4 @@
|
|||||||
<header>
|
<header>
|
||||||
{%- if request.path != url_for('index') %}
|
|
||||||
<a href="{{ url_for('index') }}">Coders Squad</a>
|
|
||||||
{%- else %}
|
|
||||||
<div></div>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<div class="header-links">
|
<div class="header-links">
|
||||||
{%- for (l, t) in (
|
{%- for (l, t) in (
|
||||||
('us', _('about us')),
|
('us', _('about us')),
|
||||||
@@ -17,4 +11,8 @@
|
|||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{%- if request.path != url_for('index') %}
|
||||||
|
<a href="{{ url_for('index') }}">Coders Squad</a>
|
||||||
|
{%- endif %}
|
||||||
</header>
|
</header>
|
||||||
@@ -25,8 +25,6 @@
|
|||||||
<p><a href="https://m.codrs.ru" target="_blank"><strong>Matrix</strong></a> — {{ _('index.descr:matrix') }}</p>
|
<p><a href="https://m.codrs.ru" target="_blank"><strong>Matrix</strong></a> — {{ _('index.descr:matrix') }}</p>
|
||||||
<p><a href="https://c.codrs.ru" target="_blank"><strong>Copyparty</strong></a> — {{ _('index.descr:copyparty') }}</p>
|
<p><a href="https://c.codrs.ru" target="_blank"><strong>Copyparty</strong></a> — {{ _('index.descr:copyparty') }}</p>
|
||||||
<p><a href="https://s.codrs.ru" target="_blank"><strong>4get</strong></a> — {{ _('index.descr:4get') }}</p>
|
<p><a href="https://s.codrs.ru" target="_blank"><strong>4get</strong></a> — {{ _('index.descr:4get') }}</p>
|
||||||
<p><a href="https://tools.codrs.ru" target="_blank"><strong>IT-tools</strong></a> — {{ _('index.descr:tools') }}</p>
|
|
||||||
<p><a href="https://vert.codrs.ru" target="_blank"><strong>Vert</strong></a> — {{ _('index.descr:vert') }}</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="block">
|
<div class="block">
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
<title>Sweet Bread</title>
|
<title>Sweet Bread</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/static/style/main.css">
|
<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" />
|
<link rel="icon" type="image/webp" href="/static/icon/us/risdeveau.webp" />
|
||||||
<script
|
<script
|
||||||
src="https://track.codrs.ru/api/script.js"
|
src="https://track.codrs.ru/api/script.js"
|
||||||
@@ -12,12 +11,49 @@
|
|||||||
defer
|
defer
|
||||||
></script>
|
></script>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
h3 {
|
||||||
|
margin-block-end: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qr img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blocks.qr {
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
overflow-x: auto;
|
||||||
|
width: calc(100vw - 1rem);
|
||||||
|
max-width: 45rem;
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
scroll-snap-type: x mandatory;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blocks.qr::-webkit-scrollbar { display: none; }
|
||||||
|
|
||||||
|
.block.qr {
|
||||||
|
flex: 0 0 calc(100vw - 2rem);
|
||||||
|
scroll-snap-align: start;
|
||||||
|
max-width: 13.666rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qr p {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badges .block {
|
||||||
|
flex: 1;
|
||||||
|
text-wrap-mode: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badges .block:hover {
|
||||||
|
flex: 1.5;
|
||||||
|
transform: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
|
||||||
<a href="{{ url_for('index') }}">Coders Squad</a>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<h3>Development</h3>
|
<h3>Development</h3>
|
||||||
<div class="blocks badges">
|
<div class="blocks badges">
|
||||||
@@ -38,7 +74,6 @@
|
|||||||
<h3>Contacts</h3>
|
<h3>Contacts</h3>
|
||||||
<div class="blocks badges">
|
<div class="blocks badges">
|
||||||
<a class="block" href="https://matrix.to/#/@risdeveau:codrs.ru">
|
<a class="block" href="https://matrix.to/#/@risdeveau:codrs.ru">
|
||||||
<img class="icon" src="https://matrix.org/assets/favicon.ico" />
|
|
||||||
Matrix
|
Matrix
|
||||||
</a>
|
</a>
|
||||||
<a class="block" href="//b.codrs.ru/@risdeveau">
|
<a class="block" href="//b.codrs.ru/@risdeveau">
|
||||||
@@ -50,6 +85,7 @@
|
|||||||
Discord
|
Discord
|
||||||
</a>
|
</a>
|
||||||
<a class="block" href="mailto:risdeveau@codrs.ru">
|
<a class="block" href="mailto:risdeveau@codrs.ru">
|
||||||
|
<img class="icon" src="" />
|
||||||
Mail
|
Mail
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user