white version

This commit is contained in:
romo 2023-10-17 19:03:45 +02:00
parent 59eadcb7ba
commit a84ce45a27
5 changed files with 242 additions and 1 deletions

View file

@ -13,3 +13,9 @@ flask run
In teoria sto coso supporta più template ma non ho ancora finito di sistemarlo.
Se vuoi aggiungerne uno nuovo metti il template in `templates/flyers/nometemplate.html` e crea la directory `static/flyers/nometemplate` per i files css.
# Come usare i tamplate esistenti
Vai nel file app.py ed alla riga #13 passi, come valore di "template_name" il nome del template che vuoi utilizzare.
Ad esempio:
template_name = 'simple_white'

View file

@ -58,7 +58,7 @@ h3 {
grid-template-rows: auto auto auto auto auto;
/* grid-gap: 1.5em; */
grid-gap: 0.5em;
border: 1px dotted black;
/* border: 1px dotted black; */
padding-left: 24px;
padding-right: 24px;
}

View file

@ -0,0 +1,50 @@
@page {
margin: 0;
}
body {
margin: 0;
position: relative;
box-sizing: border-box;
page-break-after: always;
}
body.A3 {
width: 297mm;
height: 420mm;
}
body.A3.landscape .sheet {
width: 420mm;
height: 297mm;
}
body.A4 .sheet {
width: 210mm;
height: 297mm;
}
body.A4.landscape .sheet {
width: 297mm;
height: 210mm;
}
body.A5 .sheet {
width: 148mm;
height: 210mm;
}
body.A5.landscape .sheet {
width: 210mm;
height: 148mm;
}
body.letter .sheet {
width: 216mm;
height: 280mm;
}
body.letter.landscape .sheet {
width: 280mm;
height: 216mm;
}
body.legal .sheet {
width: 216mm;
height: 357mm;
}
body.legal.landscape .sheet {
width: 357mm;
height: 216mm;
}

View file

@ -0,0 +1,121 @@
body {
border: 1px solid yellow;
font: 18px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
color: #c9d1d9;
display: flex;
justify-content: space-between;
}
h1, h2, h3 {
line-height: 1.2;
}
h1 {
margin: 0 0 .1em;
color: #ff6e40;
font-size: 10mm;
}
.subtitle {
color: #0d1117;
font-size: 14px;
}
h3 {
margin-top: 0;
margin-bottom: .2em;
color: #ff6e40;
}
.intestazione {
padding: 0.5rem 1.5rem;
display: grid;
grid-template-columns: auto auto auto;
margin-bottom: 0.5rem;
}
.logo,
.qrcode {
display: flex;
align-items: center;
height: 100%;
}
.qrcode {
justify-content: flex-end;
}
.logo img,
.qrcode img {
width: 15%;
}
#events {
display: grid;
grid-template-columns: auto auto auto auto;
grid-template-rows: auto auto auto auto auto;
grid-gap: 0.5em;
padding-left: 24px;
padding-right: 24px;
}
.event {
background-color: #1e1e1e;
border-radius: 4px;
box-shadow: 0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);
}
.event_info {
margin: 0.5rem 1rem;
}
.event_info svg {
height: 12px;
width: 12px;
fill: white;
margin-right: 0.2em;
}
.title {
font-size: 14px;
}
.place_name,
.flex {
font-size: 12px;
}
.center {
display: flex;
flex-direction: column;
align-items: center;
}
.flex,
.location {
display: flex;
align-items: center;
}
.place_name {
color: #ff6e40;
}
.flyer {
width: 100%;
object-fit: cover;
max-height: 30mm;
border-radius: 4px 4px 0 0;
}
footer {
color: #0d1117;
width: 100%;
padding: 1rem;
display: grid;
grid-template-columns: 66% 33%;
padding-left: 24px;
padding-right: 24px;
}
.contacts {
padding-left: 24px;
}
.contacts span {
padding-right: 1rem;
}
.contacts svg {
width: 1rem;
fill:#0d1117;
}
.published {
text-align: right;
padding-right: 24px;
}

View file

@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8">
<title>Balotta cartecea</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{{ url_for('static', filename='flyers/simple_white/style.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='flyers/simple_white/paper.css') }} ">
</head>
<body class="A3 center">
<header class="intestazione">
<div class="logo">
<img src="https://balotta.org/logo.png" alt="">
</div>
<div class="titolo center">
<h1>Balotta</h1>
<div class="subtitle">Agenda condivisa per Bologna</div>
</div>
<div class="qrcode">
<img src="{{ url_for('static', filename='qr-code.png') }}" alt="">
</div>
</header>
<main id="events">
{% for event in events %}
<div class="event">
<div class="center flyer-container">
<img class="flyer" src="https://balotta.org/media/thumb/{{event.media[0].url}}" style="object-position: {{ event.media[0].thumbnailPosition }}"></img>
</div>
<div class="event_info">
<h3 class="title">{{ event.title }}</h3>
<div class="flex"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-hidden="true" class="v-icon__svg"><path d="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z"></path></svg><span class="time">{{ event.when }}</span></div>
<div class="location">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-hidden="true" class="v-icon__svg"><path d="M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z"></path>
<div class="">
<span class="place_name">{{ event.place.name }}</span>
</div>
</div>
</div>
</div>
{% endfor %}
</main>
<footer>
<div class="contacts">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"/></svg>
<span>https://balotta.org</span>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
info@balotta.org
</div>
<div class="published">
stampato il <span id="publish_time"></span>
</div>
<script>
let today = new Date();
let publish_time = today.toLocaleDateString('it-IT');
document.getElementById("publish_time").innerHTML = publish_time;
</script>
</footer>
</body>
</html>