Refactored header

This commit is contained in:
Fabio Manganiello 2021-02-05 02:17:23 +01:00
parent 15ad2a0a20
commit a2d77a7f30
8 changed files with 62 additions and 20 deletions

View file

@ -14,6 +14,7 @@ static_dir = os.path.join(basedir, 'static')
pages_dir = os.path.join(static_dir, 'pages') pages_dir = os.path.join(static_dir, 'pages')
img_dir = os.path.join(static_dir, 'img') img_dir = os.path.join(static_dir, 'img')
css_dir = os.path.join(static_dir, 'css') css_dir = os.path.join(static_dir, 'css')
fonts_dir = os.path.join(static_dir, 'fonts')
app = Flask(__name__, template_folder=templates_dir) app = Flask(__name__, template_folder=templates_dir)
@ -58,7 +59,7 @@ def get_page(page: str, title: Optional[str] = None, skip_header: bool = False):
metadata = get_page_metadata(page) metadata = get_page_metadata(page)
with open(os.path.join(pages_dir, page), 'r') as f: with open(os.path.join(pages_dir, page), 'r') as f:
return render_template('article.html', return render_template('article.html',
title=title if title else metadata.get('title', 'Platypush blog'), title=title if title else metadata.get('title', 'Platypush - Blog'),
image=metadata.get('image'), image=metadata.get('image'),
description=metadata.get('description'), description=metadata.get('description'),
author=re.match(r'(.+?)\s+<([^>]+>)', metadata['author'])[1] if 'author' in metadata else None, author=re.match(r'(.+?)\s+<([^>]+>)', metadata['author'])[1] if 'author' in metadata else None,
@ -100,6 +101,11 @@ def css_route(style: str):
return send_from_directory(css_dir, style) return send_from_directory(css_dir, style)
@app.route('/fonts/<file>', methods=['GET'])
def fonts_route(file: str):
return send_from_directory(fonts_dir, file)
@app.route('/article/<article>', methods=['GET']) @app.route('/article/<article>', methods=['GET'])
def article_route(article: str): def article_route(article: str):
return get_page(article) return get_page(article)

View file

@ -21,15 +21,33 @@ a, a:visited {
header { header {
display: flex; display: flex;
align-items: center; align-items: center;
height: 8%; height: 3em;
padding: 0 .5em; padding: 0 .5em;
font-size: .9em;
box-shadow: 1px 3px 3px 0 #bbb; box-shadow: 1px 3px 3px 0 #bbb;
} }
header a { header a {
color: initial;
opacity: .8;
text-decoration: none;
border-bottom: 0;
}
header .left a {
display: flex; display: flex;
align-items: center; align-items: center;
border-bottom: none; color: initial !important;
opacity: .9;
}
header a:hover {
opacity: .6;
}
header .title {
font-family: 'Poppins', sans-serif;
margin-left: .333em;
} }
header .left, header .left,
@ -55,8 +73,9 @@ header .icon {
} }
header .left .icon { header .left .icon {
background: url(/img/icon.png); width: 2.5em;
margin-right: 1em; height: 2.5em;
margin-right: .5em;
} }
header .right .icon { header .right .icon {
@ -68,7 +87,7 @@ header .title {
} }
main { main {
height: 92%; height: calc(100% - 3em);
overflow: auto; overflow: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -86,12 +105,3 @@ h2 {
line-height: 1.1em; line-height: 1.1em;
} }
@media screen and (min-width: 768px) {
header {
height: 6%;
}
main {
height: 94%;
}
}

BIN
static/fonts/Poppins.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,14 @@
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(./fira-sans-200.ttf) format('truetype');
}
@font-face {
font-family: 'Fira Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(./fira-sans-300.ttf) format('truetype');
}

7
static/fonts/poppins.css Normal file
View file

@ -0,0 +1,7 @@
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(./Poppins.ttf) format('truetype');
}

View file

@ -4,7 +4,9 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link rel="alternate" type="application/rss+xml" title="RSS Feed for the Platypush blog" href="/rss" /> <link rel="alternate" type="application/rss+xml" title="RSS Feed for the Platypush blog" href="/rss" />
<link rel="stylesheet" type="text/css" href="/css/common.css"> <link rel="stylesheet" href="/fonts/poppins.css">
<link rel="stylesheet" href="/fonts/fira-sans.css">
<link rel="stylesheet" href="/css/common.css">
{% if styles %} {% if styles %}
{% for style in styles %} {% for style in styles %}
@ -17,14 +19,17 @@
{% if not skip_header %} {% if not skip_header %}
<header> <header>
<div class="left"> <div class="left">
<a href="/"> <a href="https://platypush.tech" title="Home">
<div class="icon"></div> <img src="/img/icon.png" class="icon" alt="Logo">
<div class="title">PlatyBlog</div> </a>
<a href="/" title="Blog">
<span class="title">Blog</span>
</a> </a>
</div> </div>
<div class="right"> <div class="right">
<a href="/rss" target="_blank"> <a href="/rss" target="_blank" title="RSS feeds">
<div class="icon"></div> <div class="icon"></div>
</a> </a>
</div> </div>