remove varia specific code
This commit is contained in:
parent
1a72a74184
commit
200b689f55
@ -19,7 +19,6 @@ from borrowform import BorrowForm
|
||||
from csvparser.csvparser import (editborrowedby, getfullpublication,
|
||||
getlicenses, getpublications, gettypes,
|
||||
getyears, writepublication)
|
||||
from rnrfeed.rnrfeeder import getevents, getlatestevent
|
||||
from search import search
|
||||
from uploadform import PublicationForm
|
||||
|
||||
@ -96,40 +95,6 @@ def searchbooks(search_query):
|
||||
return json.dumps(search_results)
|
||||
|
||||
|
||||
@APP.route("/pastevents")
|
||||
def pastevents():
|
||||
"""show past R&R events and book recommendations"""
|
||||
events = getevents()
|
||||
return render_template("pastevents.html", events=events)
|
||||
|
||||
|
||||
@APP.route("/upcoming")
|
||||
def latestevent():
|
||||
"""show upcoming or latest R&R events and book recommendations"""
|
||||
event = getlatestevent()
|
||||
return render_template("upcomingevent.html", event=event)
|
||||
|
||||
|
||||
@APP.context_processor
|
||||
def upcoming_or_latest():
|
||||
"""determines wether the newest R&R event is upcoming or not"""
|
||||
upcoming = True
|
||||
ics = get("https://varia.zone/events.ics").text
|
||||
gcal = Calendar.from_ical(ics)
|
||||
eventtimes = [
|
||||
c.get("dtstart").dt
|
||||
for c in gcal.walk()
|
||||
if c.name == "VEVENT" and "Read & Repair" in c.get("summary")
|
||||
]
|
||||
now = datetime.datetime.now()
|
||||
eventtimes.sort()
|
||||
eventtimes.reverse()
|
||||
if now > eventtimes[0]:
|
||||
upcoming = False
|
||||
|
||||
return dict(upcoming=upcoming)
|
||||
|
||||
|
||||
def saveimage(image, id):
|
||||
"""helper function that can save images"""
|
||||
image.save(os.path.join(APP.config["UPLOAD_FOLDER"], image.filename))
|
||||
|
@ -1,51 +0,0 @@
|
||||
from feedparser import parse
|
||||
from csvparser.csvparser import getfieldsofinterest, getfullpublication
|
||||
|
||||
feed = parse("http://varia.zone/en/feeds/all-en.rss.xml")
|
||||
|
||||
|
||||
def getentries():
|
||||
entries = {}
|
||||
for entry in feed.entries:
|
||||
if "readrepair" in entry.category:
|
||||
entries[entry.title] = []
|
||||
entrylist = entries[entry.title]
|
||||
entrylist.append(entry.description)
|
||||
entrylist.append(rabbithole(entry))
|
||||
return entries
|
||||
|
||||
|
||||
def getlatestevent():
|
||||
for entry in feed.entries:
|
||||
if "readrepair" in entry.category:
|
||||
entry[entry.title] = []
|
||||
entrylist = entry[entry.title]
|
||||
entrylist.append(entry.description)
|
||||
return entry
|
||||
|
||||
|
||||
def gettitles():
|
||||
titles = []
|
||||
for entry in feed.entries:
|
||||
if "readrepair" in entry.category:
|
||||
titles.append(entry.title)
|
||||
return titles
|
||||
|
||||
|
||||
def rabbithole(entry):
|
||||
pubtitles = {}
|
||||
fieldsofinterest = getfieldsofinterest()
|
||||
categories = [t.get('term').lower() for t in entry.tags]
|
||||
for id, fields in fieldsofinterest.items():
|
||||
if [f for f in fields if(f.strip().lower() in categories)]:
|
||||
# print("book found")
|
||||
publicationinfo = getfullpublication(id)
|
||||
fulltitle = "{0} - {1}".format(
|
||||
publicationinfo["Author"], publicationinfo["Title"])
|
||||
pubtitles[id] = fulltitle
|
||||
return pubtitles
|
||||
|
||||
|
||||
def getevents():
|
||||
events = getentries()
|
||||
return events
|
@ -31,7 +31,7 @@ body:after {
|
||||
src: url(../fonts/LibreBaskerville-Regular.otf);
|
||||
}
|
||||
|
||||
#varia {
|
||||
#library {
|
||||
line-height: 1.03em;
|
||||
position: relative;
|
||||
color: #FFFFFF;
|
||||
@ -59,7 +59,7 @@ body:after {
|
||||
|
||||
|
||||
@supports (-webkit-text-stroke: 1px lightpink) {
|
||||
#varia {
|
||||
#library {
|
||||
-webkit-text-stroke: 1px lightpink;
|
||||
}
|
||||
}
|
||||
@ -172,7 +172,7 @@ a:hover { text-decoration: none; }
|
||||
a:active { text-decoration: none; }
|
||||
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
|
||||
#varia {
|
||||
#library {
|
||||
text-align: left;
|
||||
max-width: 70%;
|
||||
}
|
||||
|
@ -1,32 +0,0 @@
|
||||
// Cloud section ===================== old school code divider =================
|
||||
function rn(from, to) {
|
||||
return ~~(Math.random() * (to - from + 1)) + from;
|
||||
}
|
||||
|
||||
function rs() {
|
||||
return arguments[rn(1, arguments.length) - 1];
|
||||
}
|
||||
|
||||
function boxShadows(max) {
|
||||
let ret = [];
|
||||
for (let i = 0; i < max; ++i) {
|
||||
ret.push(`
|
||||
${ rn(1, 110) }vw ${ rn(1, 110) }vh ${ rn(20, 30) }vmin ${ rn(10, 60) }vmin
|
||||
${ rs('#F52D75', '#CCBD4F', '#32497F', '#EB4377') }
|
||||
`)
|
||||
}
|
||||
return ret.join(',');
|
||||
}
|
||||
|
||||
const cloud = document.querySelector('#cloud');
|
||||
|
||||
function update() {
|
||||
if (window.screen.availWidth > 400 && window.screen.availHeight > 400 ) {
|
||||
cloud.style.boxShadow = boxShadows(30);
|
||||
}
|
||||
else {
|
||||
document.body.style.backgroundImage = "linear-gradient(to bottom right, white, #F52D75)";
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('load', update);
|
@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="197.81665"
|
||||
height="539.99939"
|
||||
viewBox="0 0 197.06678 537.95139"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="bookmark-upcoming.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
|
||||
id="metadata13"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs11"><rect
|
||||
x="207.04167"
|
||||
y="97.061699"
|
||||
width="111.52129"
|
||||
height="86.161156"
|
||||
id="rect17" /></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1041"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0725863"
|
||||
inkscape:cx="-8.3621061"
|
||||
inkscape:cy="267.6066"
|
||||
inkscape:window-x="1366"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<g
|
||||
id="g4"
|
||||
transform="translate(-170.442,-5e-4)">
|
||||
<path
|
||||
d="M 346.164,0 H 191.939 c -11.857,0 -21.497,9.716 -21.497,21.497 v 505.894 c 0,11.857 6.12,14.076 13.617,4.896 0,0 56.304,-68.697 70.609,-87.822 14.306,-19.125 15.683,-21.268 32.972,0 17.365,21.268 66.938,87.363 66.938,87.363 7.191,9.41 12.929,7.496 12.929,-4.283 V 21.497 C 367.66,9.716 357.945,0 346.164,0 Z"
|
||||
fill="#404d81"
|
||||
id="path2" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text15"
|
||||
style="font-size:40px;line-height:1.25;font-family:unscii;-inkscape-font-specification:unscii;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect17);"
|
||||
transform="translate(-182.94372,-1.3642201)" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:42.6667px;line-height:1.25;font-family:unscii;-inkscape-font-specification:unscii;letter-spacing:0px;word-spacing:0px"
|
||||
x="98.764069"
|
||||
y="245.41867"
|
||||
id="text23"
|
||||
inkscape:transform-center-x="-22.440464"
|
||||
inkscape:transform-center-y="6.5100632"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan21"
|
||||
x="98.764069"
|
||||
y="245.41867"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Latest</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="98.764069"
|
||||
y="300.75204"
|
||||
id="tspan25"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Read & </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="98.764069"
|
||||
y="356.08542"
|
||||
id="tspan27"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Repair</tspan></text></svg>
|
Before Width: | Height: | Size: 3.6 KiB |
@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="197.81665"
|
||||
height="539.99939"
|
||||
viewBox="0 0 197.06678 537.95139"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="bookmark-past.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
|
||||
id="metadata11"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs9"><rect
|
||||
x="177.97797"
|
||||
y="223.17792"
|
||||
width="182.00249"
|
||||
height="193.39874"
|
||||
id="rect21" /></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="956"
|
||||
inkscape:window-height="1041"
|
||||
id="namedview7"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0725863"
|
||||
inkscape:cx="97.88594"
|
||||
inkscape:cy="268.97551"
|
||||
inkscape:window-x="2326"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<g
|
||||
id="g4"
|
||||
transform="translate(-170.442,-5e-4)">
|
||||
<path
|
||||
d="M 346.164,0 H 191.939 c -11.857,0 -21.497,9.716 -21.497,21.497 v 505.894 c 0,11.857 6.12,14.076 13.617,4.896 0,0 56.304,-68.697 70.609,-87.822 14.306,-19.125 15.683,-21.268 32.972,0 17.365,21.268 66.938,87.363 66.938,87.363 7.191,9.41 12.929,7.496 12.929,-4.283 V 21.497 C 367.66,9.716 357.945,0 346.164,0 Z"
|
||||
fill="#dd4f77"
|
||||
id="path2" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text19"
|
||||
style="font-size:42.6667px;line-height:1.25;font-family:unscii;-inkscape-font-specification:unscii;text-align:center;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect21);"
|
||||
x="57.5"
|
||||
y="0"
|
||||
transform="translate(-170.442,-5e-4)"><tspan
|
||||
x="232.94822"
|
||||
y="262.5111"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Carlito;-inkscape-font-specification:Carlito;fill:#ffffff">Past </tspan></tspan><tspan
|
||||
x="212.52112"
|
||||
y="317.84447"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Carlito;-inkscape-font-specification:Carlito;fill:#ffffff">Events</tspan></tspan></text></svg>
|
Before Width: | Height: | Size: 2.8 KiB |
@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="197.81665"
|
||||
height="539.99939"
|
||||
viewBox="0 0 197.06678 537.95139"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="bookmark-upcoming.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"><metadata
|
||||
id="metadata13"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs11"><rect
|
||||
x="207.04167"
|
||||
y="97.061699"
|
||||
width="111.52129"
|
||||
height="86.161156"
|
||||
id="rect17" /></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1041"
|
||||
id="namedview9"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0725863"
|
||||
inkscape:cx="-8.3621061"
|
||||
inkscape:cy="267.6066"
|
||||
inkscape:window-x="1366"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<g
|
||||
id="g4"
|
||||
transform="translate(-170.442,-5e-4)">
|
||||
<path
|
||||
d="M 346.164,0 H 191.939 c -11.857,0 -21.497,9.716 -21.497,21.497 v 505.894 c 0,11.857 6.12,14.076 13.617,4.896 0,0 56.304,-68.697 70.609,-87.822 14.306,-19.125 15.683,-21.268 32.972,0 17.365,21.268 66.938,87.363 66.938,87.363 7.191,9.41 12.929,7.496 12.929,-4.283 V 21.497 C 367.66,9.716 357.945,0 346.164,0 Z"
|
||||
fill="#404d81"
|
||||
id="path2" />
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text15"
|
||||
style="font-size:40px;line-height:1.25;font-family:unscii;-inkscape-font-specification:unscii;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect17);"
|
||||
transform="translate(-182.94372,-1.3642201)" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:42.6667px;line-height:1.25;font-family:unscii;-inkscape-font-specification:unscii;letter-spacing:0px;word-spacing:0px"
|
||||
x="98.764069"
|
||||
y="245.41867"
|
||||
id="text23"
|
||||
inkscape:transform-center-x="-22.440464"
|
||||
inkscape:transform-center-y="6.5100632"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan21"
|
||||
x="98.764069"
|
||||
y="245.41867"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Upcoming</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="98.764069"
|
||||
y="300.75204"
|
||||
id="tspan25"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Read & </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="98.764069"
|
||||
y="356.08542"
|
||||
id="tspan27"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42.6667px;font-family:Carlito;-inkscape-font-specification:Carlito;text-align:center;text-anchor:middle;fill:#ffffff">Repair</tspan></text></svg>
|
Before Width: | Height: | Size: 3.6 KiB |
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>varia library zone</title>
|
||||
<title>library library zone</title>
|
||||
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/style.css')}}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/dropdown.css')}}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/bookmark.css')}}">
|
||||
@ -16,22 +16,8 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="cloud"></div>
|
||||
<a href="/"><h1 id="varia">VARIA LIBRARY COLLECTION</h1></a>
|
||||
<a href="pastevents"><img src="{{ url_for('static', filename='svg/bookmark-past.svg')}}" id="pastevents" /></a>
|
||||
{% if upcoming %}
|
||||
<a href="upcoming"><img src="{{ url_for('static', filename='svg/bookmark-upcoming.svg')}}" id="upcomingevents" /></a>
|
||||
{% else %}
|
||||
<a href="upcoming"><img src="{{ url_for('static', filename='svg/bookmark-latest.svg')}}" id="upcomingevents" /></a>
|
||||
{% endif %}
|
||||
<a href="/"><h1 id="library">LIBRARY COLLECTION</h1></a>
|
||||
{% block main %}
|
||||
{% endblock main %}
|
||||
<svg width="0">
|
||||
<filter id="filter">
|
||||
<feTurbulence type="fractalNoise"
|
||||
baseFrequency=".001" numOctaves="5" />
|
||||
<feDisplacementMap in="SourceGraphic" scale="240" />
|
||||
</filter>
|
||||
</svg>
|
||||
</body>
|
||||
<script src="{{ url_for('static', filename='js/script.js')}}"></script>
|
||||
</html>
|
||||
|
@ -1,22 +0,0 @@
|
||||
{% extends "base.html" %}
|
||||
{% block main %}
|
||||
<div id="nav" class="container">
|
||||
<button id="leftmostbtn"><a href="/">All books</a></button>
|
||||
<button><a href="/upload">Upload</a></button>
|
||||
<div class="dropdown" style="visibility: hidden">
|
||||
<button id="Year" class="dropbtn">Year</button>
|
||||
</div>
|
||||
</div>
|
||||
{% for eventtitle, text in events.items() %}
|
||||
<div class="event">
|
||||
<h2>{{ eventtitle }}</h2>
|
||||
{{ text[0]|safe }}
|
||||
<p>For those interested to learn more on the topics of this read and repair event the physical library at varia offers the following books:</p>
|
||||
<ul>
|
||||
{% for link, booktitle in text[1].items() %}
|
||||
<li><a href="/{{ link }}">{{ booktitle }}</a></li>
|
||||
{% endfor%}
|
||||
</ul>
|
||||
</div>
|
||||
{% endfor%}
|
||||
{% endblock %}
|
@ -1,20 +0,0 @@
|
||||
{% extends "base.html" %}
|
||||
{% block main %}
|
||||
<div id="nav" class="container">
|
||||
<button id="leftmostbtn"><a href="/">All books</a></button>
|
||||
<button><a href="/upload">Upload</a></button>
|
||||
<div class="dropdown" style="visibility: hidden">
|
||||
<button id="Year" class="dropbtn">Year</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="event">
|
||||
{% if upcoming %}
|
||||
<h2 id="upcomingevent">Upcoming event!</h2>
|
||||
{% else %}
|
||||
<p id="latestevent">Unfortunately this Read&Repair event has already happened, keep an eye on <a href="http://varia.zone/">varia.zone</a>
|
||||
or this site for upcoming Read&Repair and other Varia events!</p>
|
||||
{% endif %}
|
||||
<h2>{{ event.title }}</h2>
|
||||
{{ event.description|safe }}
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user