Compare commits
84 Commits
a57a964c60
...
4ec4263e08
Author | SHA1 | Date | |
---|---|---|---|
|
4ec4263e08 | ||
|
a4c1a4cb7b | ||
|
d83ccb48ec | ||
|
d4bcfa7b8f | ||
|
db9279ea2a | ||
|
f0ff983fc8 | ||
|
132028c649 | ||
|
e11888c930 | ||
|
79196c3c9f | ||
|
382e50391c | ||
|
25725646cb | ||
|
f670bc9b2c | ||
|
f9c55713d4 | ||
|
eee63ed855 | ||
|
dfa38a20d3 | ||
|
7c4c3b4d25 | ||
|
0378e7e484 | ||
|
ad75b536f1 | ||
|
7c026e82bf | ||
|
8e0ddee465 | ||
|
fd5cb4140a | ||
|
4eb7bd8a50 | ||
|
ed9260ca66 | ||
|
b824370a43 | ||
|
39aa0a9687 | ||
|
bda72fc32d | ||
|
6d9caa78f2 | ||
|
6add3fe85d | ||
|
1d5369d73a | ||
|
10b0643899 | ||
|
9492835187 | ||
|
12cfadab19 | ||
|
ec724d0c18 | ||
|
4024f8f032 | ||
|
1173482a57 | ||
|
8739ad9313 | ||
|
9b7fae2a62 | ||
|
5e9d093589 | ||
|
216a35734c | ||
|
7e01cf90b5 | ||
|
3361533b62 | ||
|
9488d197dc | ||
|
8aa2d0b0bf | ||
|
012f55c18d | ||
|
98388b2021 | ||
|
697d2f5703 | ||
|
694c0bc1a9 | ||
|
bf8581a560 | ||
|
be8202d2b0 | ||
|
7510c10e9f | ||
|
34bb443b0d | ||
|
8c8fab8147 | ||
|
463d539ea4 | ||
|
c923785016 | ||
|
a2c552df47 | ||
|
329614ed3f | ||
|
33c7a8e59f | ||
|
f027a04c0f | ||
|
295381937c | ||
|
2876a00bed | ||
|
1222913234 | ||
|
8fde2c68ee | ||
|
faf6296efd | ||
|
c94424d110 | ||
|
fb336375c6 | ||
|
52769de237 | ||
|
da1a38971a | ||
|
c9d0424926 | ||
|
9ad17b25d4 | ||
|
e7955b9585 | ||
|
11f1cada7e | ||
|
1fef23b5a4 | ||
|
74233dd498 | ||
|
f3a0c82ef5 | ||
|
17d84638e3 | ||
|
7b1e40820f | ||
|
3e935e4d1b | ||
|
270b3f562b | ||
|
e7e34ff9f6 | ||
|
f064c0aedd | ||
|
974e1f52d6 | ||
|
b92b5c63b1 | ||
|
f1d5ef70ad | ||
|
6094f277b5 |
59
app.py
59
app.py
@ -23,6 +23,7 @@ js.build()
|
||||
|
||||
|
||||
|
||||
docker_short_id = socket.gethostname()
|
||||
|
||||
arango_client = ArangoClient(hosts='https://arango.vdk2ch.ru')
|
||||
db = arango_client.db('board1', username='root', password='stolendick527')
|
||||
@ -45,7 +46,6 @@ def healthz():
|
||||
|
||||
@app.route("/")
|
||||
def homepage():
|
||||
docker_short_id = socket.gethostname()
|
||||
return render_template("main-page.html", host_id=docker_short_id, boards=board_list)
|
||||
|
||||
|
||||
@ -53,12 +53,57 @@ def homepage():
|
||||
def page_board(board_id):
|
||||
|
||||
b_threads = [ open_threads[thread_id] for thread_id in open_threads if thread_id in threads_lists[board_id]]
|
||||
return render_template("board.html", board_id=board_id, boards=board_list, board_threads=b_threads)
|
||||
return render_template("board.html", host_id=docker_short_id, board_id=board_id, boards=board_list, board_threads=b_threads)
|
||||
|
||||
|
||||
# @app.route('/post_my_post', method=['POST'])
|
||||
# def post_a_post():
|
||||
# pass
|
||||
|
||||
@app.route("/db_posts")
|
||||
def page_posts_from_db():
|
||||
|
||||
postos = db.collection('posts')
|
||||
postos = [ p for p in postos]
|
||||
postos = sorted(postos, key=lambda posto: posto['_key'], reverse=False)
|
||||
|
||||
return render_template("interactive-posts.html", host_id=docker_short_id, postos=postos)
|
||||
|
||||
|
||||
@app.route('/post_my_post/<post_key>', methods=['POST'])
|
||||
def post_a_post(post_key):
|
||||
|
||||
|
||||
postos = db.collection('posts')
|
||||
|
||||
|
||||
#### TODO проверить как-то по-умному что мы таки его добавили
|
||||
metadata = postos.insert({
|
||||
'texto': 'next post is this',
|
||||
'parent_post': f'{post_key}'
|
||||
}, overwrite_mode='update')
|
||||
|
||||
metadata = db.collection('post_parents').insert({
|
||||
# '_key': post_key,
|
||||
'_from': f'posts/{post_key}',
|
||||
'_to': f'posts/{metadata["_key"]}'
|
||||
}, overwrite_mode='update')
|
||||
|
||||
|
||||
|
||||
cursor = db.aql.execute(
|
||||
"""FOR ppp IN posts
|
||||
LET children = (FOR v IN 1..9999 OUTBOUND ppp post_parents RETURN v)
|
||||
UPDATE ppp WITH { children_num : COUNT_DISTINCT( children[*]._key ) } IN posts"""
|
||||
)
|
||||
cursor = db.aql.execute(
|
||||
"""FOR ppp IN posts
|
||||
LET children = (FOR v IN 1OUTBOUND ppp post_parents RETURN v)
|
||||
UPDATE ppp WITH { answers_num : COUNT_DISTINCT( children[*]._key ) } IN posts"""
|
||||
)
|
||||
|
||||
postos = db.collection('posts')
|
||||
postos = sorted(postos, key=lambda posto: posto['_key'], reverse=False)
|
||||
|
||||
return render_template("i-posts.html", host_id=docker_short_id, postos=postos)
|
||||
|
||||
|
||||
# @app.route('/post_my_file', method=['POST'])
|
||||
# def post_a_file():
|
||||
@ -76,14 +121,14 @@ def search_todo():
|
||||
search_term = request.form.get("search")
|
||||
|
||||
if not len(search_term):
|
||||
return render_template("todo.html", todos=[])
|
||||
return render_template("todo.html", host_id=docker_short_id, todos=[])
|
||||
|
||||
res_todos = []
|
||||
for todo in todos:
|
||||
if search_term in todo["title"]:
|
||||
res_todos.append(todo)
|
||||
|
||||
return render_template("todo.html", todos=res_todos)
|
||||
return render_template("todo.html", host_id=docker_short_id, todos=res_todos)
|
||||
### /stolen
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -20,15 +20,15 @@
|
||||
display: inline-block;
|
||||
font-size:initial;
|
||||
clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
|
||||
background: red;
|
||||
background: transparent;
|
||||
margin-bottom: calc(var(--m) - var(--s)*0.2885);
|
||||
}
|
||||
|
||||
.hex-container img:nth-child(odd) {
|
||||
background:green;
|
||||
}
|
||||
background: transparent;
|
||||
}
|
||||
.hex-container::before {
|
||||
content: "";
|
||||
content: "";
|
||||
width: calc(var(--s)/2 + var(--m));
|
||||
float: left;
|
||||
height: 120%;
|
||||
@ -37,3 +37,5 @@ content: "";
|
||||
#000 0 var(--f));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -5,7 +5,11 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/purecss@3.0.0/build/pure-min.css" integrity="sha384-X38yfunGUhNzHpBaEBsWLO+A0HDYOQi8ufWDkZ0k9e0eXz/tH3II7uKZ9msv++Ls" crossorigin="anonymous">
|
||||
<!-- Compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
|
||||
<!-- Compiled and minified JavaScript -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
|
||||
|
||||
{% assets 'css' %}
|
||||
<link rel="stylesheet" href="{{ ASSET_URL }}">
|
||||
{% endassets %}
|
||||
@ -18,7 +22,29 @@
|
||||
<title>Board++</title>
|
||||
</head>
|
||||
<body class="bg-blue-100">
|
||||
|
||||
<div id="multi-bg">
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
</div>
|
||||
<style>
|
||||
#multi-bg{
|
||||
background-size: 100% 100%;
|
||||
height: 100%;
|
||||
background-repeat: repeat-y;
|
||||
background-attachment: fixed;
|
||||
/* height: 1080px;
|
||||
background-position: bottom center, 50%, 50%;
|
||||
*/
|
||||
display: block;
|
||||
background-color: #808;
|
||||
background-image:
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cpolygon fill='%23cc3f47' points='957 450 539 900 1396 900'/%3E%3Cpolygon fill='%23b3373e' points='957 450 872.9 900 1396 900'/%3E%3Cpolygon fill='%23c8364e' points='-60 900 398 662 816 900'/%3E%3Cpolygon fill='%23b02f44' points='337 900 398 662 816 900'/%3E%3Cpolygon fill='%23c22f55' points='1203 546 1552 900 876 900'/%3E%3Cpolygon fill='%23ab294b' points='1203 546 1552 900 1162 900'/%3E%3Cpolygon fill='%23bb285c' points='641 695 886 900 367 900'/%3E%3Cpolygon fill='%23a52351' points='587 900 641 695 886 900'/%3E%3Cpolygon fill='%23b32362' points='1710 900 1401 632 1096 900'/%3E%3Cpolygon fill='%239f1f57' points='1710 900 1401 632 1365 900'/%3E%3Cpolygon fill='%23aa2068' points='1210 900 971 687 725 900'/%3E%3Cpolygon fill='%23971c5d' points='943 900 1210 900 971 687'/%3E%3C/svg%3E"),
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200' viewBox='0 0 160 80'%3E%3Cg fill='%23FFF' fill-opacity='0.2'%3E%3Cpolygon points='0 10 0 0 10 0'/%3E%3Cpolygon points='0 40 0 30 10 30'/%3E%3Cpolygon points='0 30 0 20 10 20'/%3E%3Cpolygon points='0 70 0 60 10 60'/%3E%3Cpolygon points='0 80 0 70 10 70'/%3E%3Cpolygon points='50 80 50 70 60 70'/%3E%3Cpolygon points='10 20 10 10 20 10'/%3E%3Cpolygon points='10 40 10 30 20 30'/%3E%3Cpolygon points='20 10 20 0 30 0'/%3E%3Cpolygon points='10 10 10 0 20 0'/%3E%3Cpolygon points='30 20 30 10 40 10'/%3E%3Cpolygon points='20 20 20 40 40 20'/%3E%3Cpolygon points='40 10 40 0 50 0'/%3E%3Cpolygon points='40 20 40 10 50 10'/%3E%3Cpolygon points='40 40 40 30 50 30'/%3E%3Cpolygon points='30 40 30 30 40 30'/%3E%3Cpolygon points='40 60 40 50 50 50'/%3E%3Cpolygon points='50 30 50 20 60 20'/%3E%3Cpolygon points='40 60 40 80 60 60'/%3E%3Cpolygon points='50 40 50 60 70 40'/%3E%3Cpolygon points='60 0 60 20 80 0'/%3E%3Cpolygon points='70 30 70 20 80 20'/%3E%3Cpolygon points='70 40 70 30 80 30'/%3E%3Cpolygon points='60 60 60 80 80 60'/%3E%3Cpolygon points='80 10 80 0 90 0'/%3E%3Cpolygon points='70 40 70 60 90 40'/%3E%3Cpolygon points='80 60 80 50 90 50'/%3E%3Cpolygon points='60 30 60 20 70 20'/%3E%3Cpolygon points='80 70 80 80 90 80 100 70'/%3E%3Cpolygon points='80 10 80 40 110 10'/%3E%3Cpolygon points='110 40 110 30 120 30'/%3E%3Cpolygon points='90 40 90 70 120 40'/%3E%3Cpolygon points='10 50 10 80 40 50'/%3E%3Cpolygon points='110 60 110 50 120 50'/%3E%3Cpolygon points='100 60 100 80 120 60'/%3E%3Cpolygon points='110 0 110 20 130 0'/%3E%3Cpolygon points='120 30 120 20 130 20'/%3E%3Cpolygon points='130 10 130 0 140 0'/%3E%3Cpolygon points='130 30 130 20 140 20'/%3E%3Cpolygon points='120 40 120 30 130 30'/%3E%3Cpolygon points='130 50 130 40 140 40'/%3E%3Cpolygon points='120 50 120 70 140 50'/%3E%3Cpolygon points='110 70 110 80 130 80 140 70'/%3E%3Cpolygon points='140 10 140 0 150 0'/%3E%3Cpolygon points='140 20 140 10 150 10'/%3E%3Cpolygon points='140 40 140 30 150 30'/%3E%3Cpolygon points='140 50 140 40 150 40'/%3E%3Cpolygon points='140 70 140 60 150 60'/%3E%3Cpolygon points='150 20 150 40 160 30 160 20'/%3E%3Cpolygon points='150 60 150 50 160 50'/%3E%3Cpolygon points='140 70 140 80 150 80 160 70'/%3E%3C/g%3E%3C/svg%3E"),
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpolygon fill='%23740074' points='1600 160 0 460 0 350 1600 50'/%3E%3Cpolygon fill='%235f005f' points='1600 260 0 560 0 450 1600 150'/%3E%3Cpolygon fill='%234b004b' points='1600 360 0 660 0 550 1600 250'/%3E%3Cpolygon fill='%23360036' points='1600 460 0 760 0 650 1600 350'/%3E%3Cpolygon fill='%23220022' points='1600 800 0 800 0 750 1600 450'/%3E%3C/g%3E%3C/svg%3E");
|
||||
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -20,7 +20,6 @@
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<li>
|
||||
|
||||
{% include 'posts.html' %}
|
||||
|
||||
|
43
templates/i-posts.html
Normal file
43
templates/i-posts.html
Normal file
@ -0,0 +1,43 @@
|
||||
{% if postos | length > 0 %}
|
||||
{% for posto in postos %}
|
||||
<div class="row">
|
||||
{% if posto.root_post %}
|
||||
<div class="card s4 deep-orange accent-4 darken-1">
|
||||
{% else %}
|
||||
<div class="card s4 blue-grey darken-1">
|
||||
{% endif %}
|
||||
<div class="row" id="post-{{ posto._key }}">
|
||||
<div class="col s4">
|
||||
<div class="card-image">
|
||||
<div class="hex-main">
|
||||
<div class="hex-container">
|
||||
<a href="https://loremflickr.com/g/320/240/paris" target="_blank" ">
|
||||
<img src="https://loremflickr.com/g/320/240/paris">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s8">
|
||||
<div class="card-content white-text">
|
||||
<span class="card-title">#{{ posto._key }}
|
||||
<span class="new badge blue" data-badge-caption="">Ответов: {{ posto.answers_num }}</span>
|
||||
<span class="new badge red" data-badge-caption="">Длина треда: {{ posto.children_num }}</span>
|
||||
</span>
|
||||
|
||||
{% if posto.parent_post %}
|
||||
<a class="card-action" href="#post-{{ posto.parent_post }}"> >>{{ posto.parent_post }} </a>
|
||||
{% endif %}
|
||||
<p>{{ posto.texto }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col s12">
|
||||
<div class="card-action right">
|
||||
<a href="#" hx-post="/post_my_post/{{ posto._key }}" hx-target="#neu-posts" >Answer me!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
16
templates/interactive-posts.html
Normal file
16
templates/interactive-posts.html
Normal file
@ -0,0 +1,16 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
{% include 'navbar.html' %}
|
||||
|
||||
|
||||
<div class="row" >
|
||||
<div class="col s5" id="neu-posts">
|
||||
{% include 'i-posts.html' %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock content %}
|
@ -2,41 +2,21 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="multi-bg">
|
||||
<div class="host-id">Вас закинуло сюда: {{host_id}}</div>
|
||||
<div class="content">
|
||||
{% include 'navbar.html' %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col s4 center">
|
||||
<div class="card">
|
||||
<div class="card-image">
|
||||
<img class="img-responsive" src="https://static.vdk2ch.ru/test-public/sin.jpg" height="400px" width="320px">
|
||||
</div>
|
||||
<div class="card-content">
|
||||
<p>
|
||||
Dobro pozhalovat. AGAIN.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<a routerLink = "/">Напоминание </a>
|
||||
<br>
|
||||
<a routerLink = "/about">О нас </a>
|
||||
<br>
|
||||
Доски:
|
||||
<div class="boards">
|
||||
<ul>
|
||||
{% for board in boards %}
|
||||
|
||||
<li><a href="/boards/{{board}}">/{{board}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<img src="https://static.vdk2ch.ru/test-public/sin.jpg">
|
||||
</div>
|
||||
<style>
|
||||
#multi-bg{
|
||||
height: 300px;
|
||||
display: block;
|
||||
background-color: #808;
|
||||
background-image:
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cpolygon fill='%23cc3f47' points='957 450 539 900 1396 900'/%3E%3Cpolygon fill='%23b3373e' points='957 450 872.9 900 1396 900'/%3E%3Cpolygon fill='%23c8364e' points='-60 900 398 662 816 900'/%3E%3Cpolygon fill='%23b02f44' points='337 900 398 662 816 900'/%3E%3Cpolygon fill='%23c22f55' points='1203 546 1552 900 876 900'/%3E%3Cpolygon fill='%23ab294b' points='1203 546 1552 900 1162 900'/%3E%3Cpolygon fill='%23bb285c' points='641 695 886 900 367 900'/%3E%3Cpolygon fill='%23a52351' points='587 900 641 695 886 900'/%3E%3Cpolygon fill='%23b32362' points='1710 900 1401 632 1096 900'/%3E%3Cpolygon fill='%239f1f57' points='1710 900 1401 632 1365 900'/%3E%3Cpolygon fill='%23aa2068' points='1210 900 971 687 725 900'/%3E%3Cpolygon fill='%23971c5d' points='943 900 1210 900 971 687'/%3E%3C/svg%3E"),
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200' viewBox='0 0 160 80'%3E%3Cg fill='%23FFF' fill-opacity='0.2'%3E%3Cpolygon points='0 10 0 0 10 0'/%3E%3Cpolygon points='0 40 0 30 10 30'/%3E%3Cpolygon points='0 30 0 20 10 20'/%3E%3Cpolygon points='0 70 0 60 10 60'/%3E%3Cpolygon points='0 80 0 70 10 70'/%3E%3Cpolygon points='50 80 50 70 60 70'/%3E%3Cpolygon points='10 20 10 10 20 10'/%3E%3Cpolygon points='10 40 10 30 20 30'/%3E%3Cpolygon points='20 10 20 0 30 0'/%3E%3Cpolygon points='10 10 10 0 20 0'/%3E%3Cpolygon points='30 20 30 10 40 10'/%3E%3Cpolygon points='20 20 20 40 40 20'/%3E%3Cpolygon points='40 10 40 0 50 0'/%3E%3Cpolygon points='40 20 40 10 50 10'/%3E%3Cpolygon points='40 40 40 30 50 30'/%3E%3Cpolygon points='30 40 30 30 40 30'/%3E%3Cpolygon points='40 60 40 50 50 50'/%3E%3Cpolygon points='50 30 50 20 60 20'/%3E%3Cpolygon points='40 60 40 80 60 60'/%3E%3Cpolygon points='50 40 50 60 70 40'/%3E%3Cpolygon points='60 0 60 20 80 0'/%3E%3Cpolygon points='70 30 70 20 80 20'/%3E%3Cpolygon points='70 40 70 30 80 30'/%3E%3Cpolygon points='60 60 60 80 80 60'/%3E%3Cpolygon points='80 10 80 0 90 0'/%3E%3Cpolygon points='70 40 70 60 90 40'/%3E%3Cpolygon points='80 60 80 50 90 50'/%3E%3Cpolygon points='60 30 60 20 70 20'/%3E%3Cpolygon points='80 70 80 80 90 80 100 70'/%3E%3Cpolygon points='80 10 80 40 110 10'/%3E%3Cpolygon points='110 40 110 30 120 30'/%3E%3Cpolygon points='90 40 90 70 120 40'/%3E%3Cpolygon points='10 50 10 80 40 50'/%3E%3Cpolygon points='110 60 110 50 120 50'/%3E%3Cpolygon points='100 60 100 80 120 60'/%3E%3Cpolygon points='110 0 110 20 130 0'/%3E%3Cpolygon points='120 30 120 20 130 20'/%3E%3Cpolygon points='130 10 130 0 140 0'/%3E%3Cpolygon points='130 30 130 20 140 20'/%3E%3Cpolygon points='120 40 120 30 130 30'/%3E%3Cpolygon points='130 50 130 40 140 40'/%3E%3Cpolygon points='120 50 120 70 140 50'/%3E%3Cpolygon points='110 70 110 80 130 80 140 70'/%3E%3Cpolygon points='140 10 140 0 150 0'/%3E%3Cpolygon points='140 20 140 10 150 10'/%3E%3Cpolygon points='140 40 140 30 150 30'/%3E%3Cpolygon points='140 50 140 40 150 40'/%3E%3Cpolygon points='140 70 140 60 150 60'/%3E%3Cpolygon points='150 20 150 40 160 30 160 20'/%3E%3Cpolygon points='150 60 150 50 160 50'/%3E%3Cpolygon points='140 70 140 80 150 80 160 70'/%3E%3C/g%3E%3C/svg%3E"),
|
||||
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpolygon fill='%23740074' points='1600 160 0 460 0 350 1600 50'/%3E%3Cpolygon fill='%235f005f' points='1600 260 0 560 0 450 1600 150'/%3E%3Cpolygon fill='%234b004b' points='1600 360 0 660 0 550 1600 250'/%3E%3Cpolygon fill='%23360036' points='1600 460 0 760 0 650 1600 350'/%3E%3Cpolygon fill='%23220022' points='1600 800 0 800 0 750 1600 450'/%3E%3C/g%3E%3C/svg%3E");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: bottom center, 50%, 50%;
|
||||
}
|
||||
</style>
|
||||
{% endblock content %}
|
||||
|
13
templates/navbar.html
Normal file
13
templates/navbar.html
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
<nav>
|
||||
<div class="nav-wrapper purple darken-3">
|
||||
<ul id="nav-mobile" class="left ">
|
||||
<li> <a href="/">glavnaya</a> </li>
|
||||
<li><a href="/db_posts"><span class="new badge red" data-badge-caption="">here we go</span></a> </li>
|
||||
<li>
|
||||
<a href="#">Вас закинуло сюда: <span class="new badge blue" data-badge-caption="">{{host_id}}</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
Loading…
Reference in New Issue
Block a user