Browse Source

first commit DAAP

master
jules 4 years ago
commit
d19618a8e6
  1. 1
      README.md
  2. 265
      daapinterface.py
  3. 269
      static/css/style.css
  4. BIN
      static/css/webfonts/Roboto_Condensed.zip
  5. 202
      static/css/webfonts/Roboto_Condensed/LICENSE.txt
  6. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf
  7. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf
  8. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-Italic.ttf
  9. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-Light.ttf
  10. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf
  11. BIN
      static/css/webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf
  12. 9
      static/imgs/Icons/icn_arrow_left.svg
  13. 9
      static/imgs/Icons/icn_arrow_right.svg
  14. 12
      static/imgs/Icons/icn_audio.svg
  15. 9
      static/imgs/Icons/icn_close_large.svg
  16. 9
      static/imgs/Icons/icn_close_small.svg
  17. 12
      static/imgs/Icons/icn_download.svg
  18. 12
      static/imgs/Icons/icn_external_link.svg
  19. 12
      static/imgs/Icons/icn_image.svg
  20. 9
      static/imgs/Icons/icn_navigation_dot_active.svg
  21. 9
      static/imgs/Icons/icn_navigation_dot_inactive.svg
  22. 9
      static/imgs/Icons/icn_open_small.svg
  23. 11
      static/imgs/Icons/icn_search.svg
  24. 12
      static/imgs/Icons/icn_video.svg
  25. BIN
      static/imgs/Icons/placeholder_no-image2.png
  26. BIN
      static/imgs/Logos/Banner Repeater Logo.png
  27. BIN
      static/imgs/Logos/Banner-Repeater-logo.png
  28. BIN
      static/imgs/Logos/DAAP BR square logo -Animated Image (Large).gif
  29. BIN
      static/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif
  30. BIN
      static/imgs/Logos/Lottery-white on black.png
  31. BIN
      static/imgs/Logos/tate-logo.png
  32. BIN
      static/imgs/Logos/ual.png
  33. BIN
      static/imgs/Logos/wikimedia_logo.png
  34. 21
      static/imgs/Logos/wikimedia_logo.svg
  35. 497
      static/js/protoartists.json
  36. 15
      templates/about.html
  37. 68
      templates/artistsindex.html
  38. 22
      templates/artwork.html
  39. 7
      templates/browsebycategory.html
  40. 67
      templates/browsethearchive.html
  41. 11
      templates/home.html
  42. 50
      templates/layout.html
  43. 40
      templates/person.html
  44. 5
      templates/searchtools.html
  45. 15
      templates/tutorials.html
  46. 15
      templates/upload.html

1
README.md

@ -0,0 +1 @@
Interface for DAAP Wikibase

265
daapinterface.py

@ -0,0 +1,265 @@
# encoding=utf8
# # # # # # # # # # # # # # # # # # # # # # # #
# REQUIREMENTS
# # # # # # # # # # # # # # # # # # # # # # # #
from flask import send_file, Flask, Response, url_for, render_template, Markup, jsonify, redirect, request, flash, session, make_response
import requests
from SPARQLWrapper import SPARQLWrapper, JSON
import json
# import pandas as pd
# # # # # # # # # # # # # # # # # # # # # # # #
# GETTING STARTED
# # # # # # # # # # # # # # # # # # # # # # # #
app = Flask(__name__, static_url_path='', static_folder="static", template_folder="templates")
app.jinja_env.add_extension('jinja2.ext.loopcontrols')
# # # # # # # # # # # # # # # # # # # # # # # #
# GETTING WIKIBASE DATA
# # # # # # # # # # # # # # # # # # # # # # # #
sparql = SPARQLWrapper("https://query.daap.bannerrepeater.org/proxy/wdqs/bigdata/namespace/wdq/sparql")
sparql2 = SPARQLWrapper("https://query.daap.bannerrepeater.org/proxy/wdqs/bigdata/namespace/wdq/sparql")
sparql3 = SPARQLWrapper("https://query.daap.bannerrepeater.org/proxy/wdqs/bigdata/namespace/wdq/sparql")
# # # # # # # # # # # # # # # # # # # # # # # #
# PAGES
# # # # # # # # # # # # # # # # # # # # # # # #
@app.route("/")
def home():
# this doesn't show any results yet because I just added the data and I guess the query builder needs to be reloaded again, but the query code should work correctly.
sparql.setQuery('''
SELECT ?work ?workLabel ?image ?date ?dateadded
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?work wdt:P1 wd:Q1;
wdt:P87 ?dateadded.
OPTIONAL { ?work wdt:P30 ?image. }
OPTIONAL { ?work wdt:P13 ?date. }
FILTER(?work != wd:Q57)
}
ORDER BY (?dateadded)
LIMIT 24
''')
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
return render_template('home.html')
@app.route("/browsethearchive")
def browsethearchive():
sparql.setQuery('''
SELECT ?work ?workLabel ?image ?date
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?work wdt:P1 wd:Q1.
OPTIONAL { ?work wdt:P30 ?image. }
OPTIONAL { ?work wdt:P13 ?date. }
FILTER(?work != wd:Q57)
}
ORDER BY (?workLabel)
''')
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
# print(results)
for publication in results["results"]["bindings"]:
publication_title = publication["workLabel"]["value"]
publication_uri = publication["work"]["value"]
#if key exists
if "date" in publication:
publication_date = publication["date"]["value"]
if "image" in publication:
publication_image = publication["image"]["value"]
return render_template('browsethearchive.html', results=results)
@app.route("/browsebycategory")
def browsebycategory():
return render_template('browsebycategory.html')
######################### ARTIST INDEX
@app.route("/artistsindex")
def artistsindex():
sparql.setQuery('''
SELECT ?creators ?creatorsLabel ?creatorsAltLabel ?creatorsDescription
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?work wdt:P1 wd:Q1.
?work wdt:P9 ?creators.
FILTER (?creators != wd:Q82)
}
''')
sparql.setReturnFormat(JSON)
results = sparql.query().convert()
return render_template('artistsindex.html', results=results)
######################### ARTWORK
@app.route("/artwork", methods=['GET'])
def artwork():
artwork_id = request.args.get('id')
# sparql.setQuery('''
# SELECT ?workLabel ?workDescription
# ?creators ?creatorsLabel ?creatorRoles ?creatorRolesLabel
# ?publishers ?publishersLabel ?publisherRoles ?publisherRolesLabel
# ?date ?dateType ?dateTypeLabel ?dateSource
# ?image ?depicts ?depictsLabel ?annotation ?license ?licenseLabel
# ?descriptionPage ?accessURLdescriptionPage ?authordescriptionPage ?authordescriptionPageLabel ?datedescriptionPage ?sourcedescriptionPage
# ?exhibitionHisPage ?accessURLexhibitionHisPage ?authorexhibitionHisPage ?authorexhibitionHisPageLabel ?dateexhibitionHisPage ?sourceexhibitionHisPage
# ?digitalFacsimile ?digitalFacsimileExternal
# ?digitalArtefact ?format ?formatLabel
# ?distributorLinks
# ?copiesCollections ?collections ?collectionsLabel ?imageCollections
# ?relatedWorks ?relatedWorksLabel ?daterelatedWorks
# WHERE {
# SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
# VALUES ?work {wd:'''+artwork_id+'''}
# OPTIONAL { ?work wdt:P9 ?creators. }
# OPTIONAL { ?work p:P9 ?statement0.
# ?statement0 ps:P9 ?creators;
# pq:P49 ?creatorRoles. }
# OPTIONAL { ?work wdt:P13 ?date. }
# OPTIONAL { ?work p:P13 ?statement1.
# ?statement1 ps:P13 ?date;
# pq:P51 ?dateType. }
# OPTIONAL { ?work p:P13 ?statement1.
# ?statement1 ps:P13 ?date;
# pq:P50 ?dateSource. }
# OPTIONAL { ?work wdt:P10 ?publishers. }
# OPTIONAL { ?work p:P10 ?statement2.
# ?statement2 ps:P10 ?publishers;
# pq:P49 ?publisherRoles. }
# OPTIONAL { ?work wdt:P30 ?image. }
# OPTIONAL { ?work p:P30 ?statement3.
# ?statement3 ps:P30 ?image;
# pq:P54 ?depicts.}
# OPTIONAL { ?work p:P30 ?statement3.
# ?statement3 ps:P30 ?image;
# pq:P55 ?annotation.}
# OPTIONAL { ?work p:P30 ?statement3.
# ?statement3 ps:P30 ?image;
# pq:P56 ?license.}
# OPTIONAL { ?work wdt:P65 ?descriptionPage. }
# OPTIONAL { ?description wdt:P4 ?accessURLdescriptionPage. }
# OPTIONAL { ?description wdt:P9 ?authordescriptionPage. }
# OPTIONAL { ?description wdt:P13 ?datedescriptionPage. }
# OPTIONAL { ?description wdt:P50 ?sourcedescriptionPage. }
# OPTIONAL { ?work wdt:P66 ?exhibitionHisPage. }
# OPTIONAL { ?exhibitionHisPage wdt:P4 ?accessURLexhibitionHisPage. }
# OPTIONAL { ?exhibitionHisPage wdt:P9 ?authorexhibitionHisPage. }
# OPTIONAL { ?exhibitionHisPage wdt:P13 ?dateexhibitionHisPage. }
# OPTIONAL { ?exhibitionHisPage wdt:P50 ?sourceexhibitionHisPage. }
# OPTIONAL { ?work wdt:P32 ?digitalFacsimile. }
# OPTIONAL { ?work wdt:P34 ?digitalFacsimileExternal. }
# OPTIONAL { ?work wdt:P35 ?digitalArtefact. }
# OPTIONAL { ?work p:P35 ?statement4.
# ?statement4 ps:P35 ?digitalArtefact;
# pq:P16 ?format.}
# OPTIONAL { ?work wdt:P37 ?distributorLinks. }
# OPTIONAL { ?work wdt:P43 ?copiesCollections. }
# OPTIONAL { ?copiesCollections wdt:P47 ?collections. }
# OPTIONAL { ?copiesCollections wdt:P30 ?imageCollections. }
# OPTIONAL { ?work wdt:P44 ?relatedWorks.}
# OPTIONAL { ?relatedWorks wdt:P13 ?daterelatedWorks. }
# }
# ''')
# sparql.setReturnFormat(JSON)
# artwork = sparql.query().convert()
# print(artwork)
artwork_url = "https://daap.bannerrepeater.org/wiki/Item:Q92"
artwork_title = "the human printer"
artwork_description = "short description"
return render_template('artwork.html', artwork_title=artwork_title, artwork_description=artwork_description)
######################### PERSON
@app.route("/person", methods=['GET'])
def person():
person_id = request.args.get('id')
sparql.setQuery('''
SELECT ?work ?workLabel ?image ?date
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?work wdt:P1 wd:Q1.
?work wdt:P9 wd:'''+person_id+'''.
OPTIONAL { ?work wdt:P30 ?image. }
OPTIONAL { ?work wdt:P13 ?date. }
FILTER(?work != wd:Q57)
}
ORDER BY (?workLabel)
''')
sparql.setReturnFormat(JSON)
person_creatorof = sparql.query().convert()
sparql2.setQuery('''
SELECT ?work ?workLabel ?image ?date
WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?work wdt:P1 wd:Q1.
?work wdt:P10 wd:'''+person_id+'''.
OPTIONAL { ?work wdt:P30 ?image. }
OPTIONAL { ?work wdt:P13 ?date. }
FILTER(?work != wd:Q57)
}
ORDER BY (?workLabel)
''')
sparql2.setReturnFormat(JSON)
person_publisherof = sparql2.query().convert()
person_url = ""
person_name = "the name"
person_description = "short bio"
return render_template("person.html", person_id=person_id, person_creatorof=person_creatorof, person_publisherof=person_publisherof)
#########################
# PAGES FROM WIKI
#########################
######################### SEARCH TOOLS
@app.route("/searchtools")
def searchtools():
return render_template('searchtools.html')
######################### ABOUT
@app.route("/about")
def about():
return render_template('about.html')
######################### TUTORIAL
@app.route("/tutorials")
def tutorials():
return render_template('tutorials.html')
######################### UPLOAD
@app.route("/upload")
def upload():
return render_template('upload.html')
######################### LOGIN
#Goes to wikibase page
# ALL NAME SPACES
# https://daap.bannerrepeater.org/w/api.php?action=query&meta=siteinfo&siprop=namespaces|namespacealiases

269
static/css/style.css

@ -0,0 +1,269 @@
/************ FONTS ************/
@font-face {
font-family: 'Roboto Condensed';
src: url('webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
/************ LAYOUT ************/
html,body{
margin:0px;
padding:0px;
}
/*Header*/
div#header{
width: 100%;
border:1px solid blue;
background-color: #FFFFFF;
}
div#header-top div#header-title{
font-family: 'Roboto Condensed', sans-serif;
font-weight: bold;
font-size: 18px;
}
div#header-top div#header-keyword-search{
/*float: right;*/
border: 1px solid lime;
}
div#header-top, div#navigation{
border:red 1px solid;
width: 100%;
}
div#header-top div, div#navigation div{
display: inline-block;
padding: 3px;
}
div#navigation a{
font-family: 'Roboto Condensed', sans-serif;
text-decoration: none;
color: black;
}
div#navigation div#nav-right-side{
float: right;
}
/*Footer*/
div#footer{
width: 100%;
border: blue 1px solid;
position: absolute;
bottom: 0;
background-color: black;
color:white;
display: none;
}
div#footer div#footer-top,
div#footer div#footer-bottom{
border: red solid 1px;
width: 100%;
}
div#footer div #footertop{
/*position: absolute;*/
}
div#footer div#footer-top div#footer-top-left,
div#footer div#footer-top div#footer-top-right{
display: inline-flex;
border:lime 1px solid;
}
div#footer div#footer-top div#footer-top-left{
left: 0px;
width: 30%;
/*display: contents;*/
}
div#footer div#footer-top div#footer-top-right{
right: 0px;
width: 30%;
float: right;
/*position: absolute;*/
}
div#footer div#footer-top div#footer-top-left div,
div#footer div#footer-top div#footer-top-right div{
display: inline-block;
border:cyan 1px solid;
}
div#footer-bottom{
display: none;
}
input#newslettersubs{
background-color: #000000;
color:#FFFFFF;
border-radius: 6px;
height: 48px;
border: solid 1px;
}
input.submitemail{
background-color: #1B42D8;
color: #FFFFFF;
border:none;
border-radius: 6px;
height: 50px;
width: 50px;
}
/******************************************************/
/************ BROWSING SEARCHING INDEXING ************/
/****************************************************/
/************ INDEXES ************/
table, th, td {
border-bottom: 1px solid black;
border-collapse: collapse;
padding: 10px 30px 10px 30px;
}
/************ BROWSE THE ARCHIVE ************/
img.browsethearchive-imgs{
max-height: 200px;
max-width: 200px;
}
div.browsethearchive-items{
display: inline-block;
width: 250px;
height: 250px;
padding:10px;
/*border: red 1px solid;*/
margin: 0 auto;
}
div#browsethearchive-grid{
max-width: 90%;
margin: 0 auto;
display: grid;
grid-gap: 2rem;
/*border: 1px solid blue;*/
text-align: center;
}
.current {
color: red;
}
#pagin li {
display: inline-block;
}
@media (min-width: 600px) {
#browsethearchive-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1000px) {
#browsethearchive-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1400px) {
#browsethearchive-grid { grid-template-columns: repeat(5, 1fr); }
}
/************ BROWSE BY CATEGORY ************/
/************ SEARCH TOOLS ************/
/*********************************************/
/************ PERSON AND ARTWORK ************/
/*******************************************/
/************ PERSON ************/
div#person_creatorof{
border: blue 1px solid;
width: 100%;
height: 150px;
background-color: grey;
}
div.person_creatorof-item{
border: lime 1px solid;
width: 150px;
height: 150px;
display: inline-block;
vertical-align:middle;
}
img.person_creatorof-imgs{
max-height:75px;
max-width: 75px;
}
/************ ARTWORK ************/
/*************************************/
/************ WIKI PAGES ************/
/***********************************/
/************ ABOUT ************/
div#about-intro{
text-align: center;
padding-top: 5em;
}
div#about-intro h3, div#about-intro p {
text-align: center;
width: 50%;
margin: auto;
}
/************ TUTORIALS ************/
div#tutorials-intro{
text-align: center;
padding-top: 5em;
}
div#tutorials-intro h3, div#tutorials-intro p {
text-align: center;
width: 50%;
margin: auto;
}
/************ UPLOAD ************/
div#upload-intro{
text-align: center;
padding-top: 5em;
}
div#upload-intro h3, div#upload-intro p {
text-align: center;
width: 50%;
margin: auto;
}

BIN
static/css/webfonts/Roboto_Condensed.zip

Binary file not shown.

202
static/css/webfonts/Roboto_Condensed/LICENSE.txt

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf

Binary file not shown.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf

Binary file not shown.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-Italic.ttf

Binary file not shown.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-Light.ttf

Binary file not shown.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf

Binary file not shown.

BIN
static/css/webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf

Binary file not shown.

9
static/imgs/Icons/icn_arrow_left.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_arrow_left</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-223.000000, -1277.000000)" fill="#1B42D8" fill-rule="nonzero">
<path d="M230.093733,1290.81247 C230.197899,1290.81247 230.281233,1290.78122 230.343732,1290.71872 L230.343732,1290.71872 L236.874967,1284.15623 C236.9583,1284.09373 236.999967,1284.0104 236.999967,1283.90623 C236.999967,1283.80207 236.9583,1283.71873 236.874967,1283.65623 L236.874967,1283.65623 L230.343732,1277.09375 C230.281233,1277.03125 230.197899,1277 230.093733,1277 C229.989567,1277 229.895817,1277.03125 229.812484,1277.09375 L229.812484,1277.09375 L229.187485,1277.71875 C229.124985,1277.78125 229.093735,1277.86458 229.093735,1277.96875 C229.093735,1278.07291 229.124985,1278.16666 229.187485,1278.25 L229.187485,1278.25 L234.031224,1283.09374 L223.374999,1283.09374 C223.270833,1283.09374 223.182291,1283.13019 223.109375,1283.20311 C223.036458,1283.27603 223,1283.36457 223,1283.46873 L223,1283.46873 L223,1284.34373 C223,1284.4479 223.036458,1284.53644 223.109375,1284.60936 C223.182291,1284.68227 223.270833,1284.71873 223.374999,1284.71873 L223.374999,1284.71873 L234.031224,1284.71873 L229.187485,1289.56247 C229.124985,1289.6458 229.093735,1289.73955 229.093735,1289.84372 C229.093735,1289.94789 229.124985,1290.03122 229.187485,1290.09372 L229.187485,1290.09372 L229.812484,1290.71872 C229.895817,1290.78122 229.989567,1290.81247 230.093733,1290.81247 Z" id="icn_arrow_left" transform="translate(229.999983, 1283.906234) rotate(180.000000) translate(-229.999983, -1283.906234) "></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

9
static/imgs/Icons/icn_arrow_right.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="15px" height="14px" viewBox="0 0 15 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_arrow_right</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-408.000000, -1277.000000)" fill="#1B42D8" fill-rule="nonzero">
<path d="M415.593733,1290.90625 C415.697899,1290.90625 415.781233,1290.875 415.843732,1290.8125 L415.843732,1290.8125 L422.374967,1284.25001 C422.4583,1284.18751 422.499967,1284.10418 422.499967,1284.00001 C422.499967,1283.89585 422.4583,1283.81251 422.374967,1283.75001 L422.374967,1283.75001 L415.843732,1277.18753 C415.781233,1277.12503 415.697899,1277.09378 415.593733,1277.09378 C415.489567,1277.09378 415.395817,1277.12503 415.312484,1277.18753 L415.312484,1277.18753 L414.687485,1277.81253 C414.624985,1277.87503 414.593735,1277.95836 414.593735,1278.06253 C414.593735,1278.16669 414.624985,1278.26044 414.687485,1278.34378 L414.687485,1278.34378 L419.531224,1283.18752 L408.874999,1283.18752 C408.770833,1283.18752 408.682291,1283.22397 408.609375,1283.29689 C408.536458,1283.36981 408.5,1283.45835 408.5,1283.56252 L408.5,1283.56252 L408.5,1284.43751 C408.5,1284.54168 408.536458,1284.63022 408.609375,1284.70314 C408.682291,1284.77605 408.770833,1284.81251 408.874999,1284.81251 L408.874999,1284.81251 L419.531224,1284.81251 L414.687485,1289.65625 C414.624985,1289.73958 414.593735,1289.83333 414.593735,1289.9375 C414.593735,1290.04167 414.624985,1290.125 414.687485,1290.1875 L414.687485,1290.1875 L415.312484,1290.8125 C415.395817,1290.875 415.489567,1290.90625 415.593733,1290.90625 Z" id="icn_arrow_right"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

12
static/imgs/Icons/icn_audio.svg

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_audio</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-370.000000, -1569.000000)">
<g id="icn_audio" transform="translate(370.000000, 1569.000000)">
<rect id="Background-Copy-4" fill="#1B42D8" x="0" y="0" width="30" height="30" rx="6"></rect>
<path d="M19.437468,21.9916923 C19.645801,22.0437756 19.8333005,22.0073172 19.9999666,21.8823175 C21.2499636,21.0698195 22.2291278,20.007322 22.9374596,18.6948251 C23.6457914,17.3823283 23.9999571,15.9864981 23.9999571,14.5073351 C23.9999571,13.0281721 23.6457914,11.632342 22.9374596,10.3198451 C22.2291278,9.00734823 21.2499636,7.94485076 19.9999666,7.1323527 C19.8333005,7.00735299 19.645801,6.97089459 19.437468,7.02297796 C19.229135,7.07506132 19.0676773,7.18443606 18.9530941,7.35110217 C18.8385109,7.51776828 18.802053,7.70526784 18.8437194,7.91360083 C18.8853858,8.12193383 18.999969,8.27818346 19.1874686,8.38234972 C20.2082996,9.06984808 21.0155892,9.95526247 21.6093378,11.0385934 C22.2030864,12.1219243 22.4999607,13.2781715 22.4999607,14.5073351 C22.4999607,15.7364987 22.2030864,16.8927459 21.6093378,17.9760768 C21.0155892,19.0594078 20.2082996,19.9448221 19.1874686,20.6323205 C18.999969,20.7364868 18.8853858,20.8927364 18.8437194,21.1010694 C18.802053,21.3094024 18.8385109,21.4969019 18.9530941,21.6635681 C19.0676773,21.8302342 19.229135,21.9396089 19.437468,21.9916923 Z M13.2343578,20.5073208 C13.4322738,20.5073208 13.6093569,20.4344045 13.7656065,20.2885713 C13.9218561,20.1427382 13.9999809,19.9656556 13.9999809,19.7573226 L13.9999809,19.7573226 L13.9999809,9.25734763 C13.9999809,9.04901463 13.9218561,8.87193204 13.7656065,8.7260989 C13.6093569,8.58026575 13.4374823,8.50734942 13.2499827,8.50734942 C13.0416497,8.50734942 12.8645671,8.58026575 12.718734,8.7260989 L12.718734,8.7260989 L9.93749061,11.5073494 L6.74999821,11.5073494 C6.54166522,11.5073494 6.36458262,11.5802586 6.21874948,11.7260917 C6.07291633,11.8719249 6,12.0490075 6,12.2573405 L6,12.2573405 L6,16.7573297 C6,16.9656627 6.07291633,17.1427453 6.21874948,17.2885785 C6.36458262,17.4344116 6.54166522,17.507328 6.74999821,17.507328 L6.74999821,17.507328 L9.93749061,17.507328 L12.718734,20.2885713 C12.8645671,20.4344045 13.0364417,20.5073208 13.2343578,20.5073208 Z M17.749972,19.4604483 C17.958305,19.5125317 18.1458045,19.4760733 18.3124706,19.3510736 C19.1666351,18.8302413 19.828092,18.1375349 20.2968409,17.2729535 C20.7655898,16.4083721 20.9999642,15.4864993 20.9999642,14.5073351 C20.9999642,13.5281709 20.7655898,12.6062981 20.2968409,11.7417167 C19.828092,10.8771353 19.1666351,10.1844289 18.3124706,9.66359666 C18.1458045,9.5594304 17.958305,9.52818048 17.749972,9.56984688 C17.541639,9.61151329 17.3853894,9.72088803 17.2812231,9.8979711 C17.1770568,10.0750542 17.1458069,10.2625537 17.1874733,10.4604698 C17.2291397,10.6583858 17.343723,10.8094274 17.5312225,10.9135937 C18.1353876,11.3094262 18.6145534,11.82505 18.9687191,12.460465 C19.3228847,13.09588 19.4999678,13.7781703 19.4999678,14.5073351 C19.4999678,15.2364999 19.3228847,15.9187902 18.9687191,16.5542052 C18.6145534,17.1896202 18.1353876,17.705244 17.5312225,18.1010765 C17.343723,18.2052428 17.2291397,18.3562844 17.1874733,18.5542005 C17.1458069,18.7521165 17.1770568,18.9396161 17.2812231,19.1166991 C17.3853894,19.2937822 17.541639,19.4083649 17.749972,19.4604483 Z M12.4999845,17.9448269 L10.5624891,16.0073315 L7.49999642,16.0073315 L7.49999642,13.0073387 L10.5624891,13.0073387 L12.4999845,11.0698433 L12.4999845,17.9448269 Z M15.9999762,16.9760792 C16.2083092,17.0385791 16.3958087,17.0177456 16.5624748,16.9135794 C16.9999738,16.66358 17.3489314,16.3250393 17.6093473,15.8979568 C17.8697632,15.4708743 17.9999714,15.0073339 17.9999714,14.5073351 C17.9999714,14.0073363 17.8697632,13.5437959 17.6093473,13.1167134 C17.3489314,12.689631 16.9999738,12.3510903 16.5624748,12.1010908 C16.3958087,11.9969246 16.2083092,11.9760911 15.9999762,12.038591 C15.7916432,12.1010908 15.640602,12.2208821 15.5468522,12.3979651 C15.4531025,12.5750482 15.432269,12.7625478 15.4843524,12.9604638 C15.5364358,13.1583798 15.6614355,13.3146295 15.8593515,13.4292127 C16.0572675,13.5437959 16.2135172,13.694837 16.3281004,13.8823366 C16.4426836,14.0698362 16.499975,14.2781692 16.499975,14.5073351 C16.499975,14.7365011 16.4426836,14.9448341 16.3281004,15.1323336 C16.2135172,15.3198332 16.0572675,15.4708743 15.8593515,15.5854575 C15.6614355,15.7000408 15.5364358,15.8562904 15.4843524,16.0542064 C15.432269,16.2521225 15.4531025,16.439622 15.5468522,16.6167051 C15.640602,16.7937882 15.7916432,16.9135794 15.9999762,16.9760792 Z" id="v" fill="#F3EFEF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

9
static/imgs/Icons/icn_close_large.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_close_large</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="9.-DAAP_ArtworkPage_image2" transform="translate(-1323.000000, -502.000000)" fill="#1B42D8" fill-rule="nonzero">
<path d="M1340.13928,521.125004 C1340.41272,521.125004 1340.62756,521.027348 1340.78381,520.832036 L1340.78381,520.832036 L1342.24865,519.367196 C1342.44397,519.210946 1342.54162,518.996104 1342.54162,518.722666 C1342.54162,518.449229 1342.44397,518.234387 1342.24865,518.078137 L1342.24865,518.078137 L1335.97914,511.750027 L1342.24865,505.421917 C1342.44397,505.265667 1342.54162,505.050824 1342.54162,504.777387 C1342.54162,504.50395 1342.44397,504.289107 1342.24865,504.132857 L1342.24865,504.132857 L1340.78381,502.668017 C1340.62756,502.472705 1340.41272,502.375049 1340.13928,502.375049 C1339.86585,502.375049 1339.651,502.472705 1339.49475,502.668017 L1339.49475,502.668017 L1333.16664,508.937534 L1326.83853,502.668017 C1326.68228,502.472705 1326.46744,502.375049 1326.194,502.375049 C1325.92057,502.375049 1325.70572,502.472705 1325.54947,502.668017 L1325.54947,502.668017 L1324.08463,504.132857 C1323.88932,504.289107 1323.79167,504.50395 1323.79167,504.777387 C1323.79167,505.050824 1323.88932,505.265667 1324.08463,505.421917 L1324.08463,505.421917 L1330.35415,511.750027 L1324.08463,518.078137 C1323.88932,518.234387 1323.79167,518.449229 1323.79167,518.722666 C1323.79167,518.996104 1323.88932,519.210946 1324.08463,519.367196 L1324.08463,519.367196 L1325.54947,520.832036 C1325.70572,521.027348 1325.92057,521.125004 1326.194,521.125004 C1326.46744,521.125004 1326.68228,521.027348 1326.83853,520.832036 L1326.83853,520.832036 L1333.16664,514.56252 L1339.49475,520.832036 C1339.651,521.027348 1339.86585,521.125004 1340.13928,521.125004 Z" id="icn_close_large"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

9
static/imgs/Icons/icn_close_small.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="11px" height="10px" viewBox="0 0 11 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_close_small</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-1345.000000, -1592.000000)" fill="#163ADC" fill-rule="nonzero">
<path d="M1351.11041,1602.99997 C1351.25625,1602.99997 1351.37604,1602.9531 1351.46979,1602.85935 C1351.56354,1602.7656 1351.61041,1602.64581 1351.61041,1602.49997 L1351.61041,1602.49997 L1351.61041,1597.99998 L1356.1104,1597.99998 C1356.25623,1597.99998 1356.37603,1597.95311 1356.46977,1597.85936 C1356.56352,1597.76561 1356.6104,1597.64582 1356.6104,1597.49998 L1356.6104,1597.49998 L1356.6104,1596.49999 C1356.6104,1596.35415 1356.56352,1596.23436 1356.46977,1596.14061 C1356.37603,1596.04686 1356.25623,1595.99999 1356.1104,1595.99999 L1356.1104,1595.99999 L1351.61041,1595.99999 L1351.61041,1591.5 C1351.61041,1591.35417 1351.56354,1591.23437 1351.46979,1591.14062 C1351.37604,1591.04687 1351.25625,1591 1351.11041,1591 L1351.11041,1591 L1350.11041,1591 C1349.96458,1591 1349.84479,1591.04687 1349.75104,1591.14062 C1349.65729,1591.23437 1349.61042,1591.35417 1349.61042,1591.5 L1349.61042,1591.5 L1349.61042,1595.99999 L1345.11043,1595.99999 C1344.96459,1595.99999 1344.8448,1596.04686 1344.75105,1596.14061 C1344.6573,1596.23436 1344.61043,1596.35415 1344.61043,1596.49999 L1344.61043,1596.49999 L1344.61043,1597.49998 C1344.61043,1597.64582 1344.6573,1597.76561 1344.75105,1597.85936 C1344.8448,1597.95311 1344.96459,1597.99998 1345.11043,1597.99998 L1345.11043,1597.99998 L1349.61042,1597.99998 L1349.61042,1602.49997 C1349.61042,1602.64581 1349.65729,1602.7656 1349.75104,1602.85935 C1349.84479,1602.9531 1349.96458,1602.99997 1350.11041,1602.99997 L1350.11041,1602.99997 L1351.11041,1602.99997 Z" id="icn_close_small" transform="translate(1350.610414, 1596.999986) rotate(45.000000) translate(-1350.610414, -1596.999986) "></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

12
static/imgs/Icons/icn_download.svg

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_download</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-81.000000, -1384.000000)">
<g id="icn_download" transform="translate(81.000000, 1384.000000)">
<rect id="Background-Copy" fill="#1B42D8" x="0" y="0" width="30" height="30" rx="6"></rect>
<path d="M22.2499607,22.9999952 C22.6666262,22.9999952 23.0207923,22.8541621 23.3124581,22.5624963 C23.6041239,22.2708305 23.7499571,21.9166643 23.7499571,21.4999988 L23.7499571,21.4999988 L23.7499571,17.5000083 C23.7499571,17.0833428 23.6041239,16.7291767 23.3124581,16.4375109 C23.0207923,16.1458451 22.6666262,16.0000119 22.2499607,16.0000119 L22.2499607,16.0000119 L19.3749675,16.0000119 L20.8124641,14.5625153 C21.1249633,14.2500161 21.2760045,13.890642 21.265588,13.4843929 C21.2551715,13.0781439 21.1093384,12.7291862 20.8280891,12.4375204 C20.5468397,12.1458546 20.1874656,12.0000215 19.7499666,12.0000215 L19.7499666,12.0000215 L17.7499714,12.0000215 L17.7499714,8.50003338 C17.7499714,8.08336429 17.6041382,7.72919815 17.3124724,7.43753234 C17.0208066,7.14586652 16.6666405,7.00003338 16.249975,7.00003338 L16.249975,7.00003338 L13.2499821,7.00003338 C12.8333166,7.00003338 12.4791505,7.14586652 12.1874847,7.43753234 C11.8958188,7.72919815 11.7499857,8.08336429 11.7499857,8.50003338 L11.7499857,8.50003338 L11.7499857,12.0000215 L9.75,12.0000215 C9.33332495,12.0000215 8.98436729,12.1458546 8.70311796,12.4375204 C8.42186863,12.7291862 8.27603549,13.0781439 8.265619,13.4843929 C8.25520252,13.890642 8.39582718,14.2500161 8.687493,14.5625153 L8.687493,14.5625153 L10.1249896,16.0000119 L7.25,16.0000119 C6.83333091,16.0000119 6.47916477,16.1458451 6.18749896,16.4375109 C5.89583314,16.7291767 5.75,17.0833428 5.75,17.5000083 L5.75,17.5000083 L5.75,21.4999988 C5.75,21.9166643 5.89583314,22.2708305 6.18749896,22.5624963 C6.47916477,22.8541621 6.83333091,22.9999952 7.25,22.9999952 L7.25,22.9999952 L22.2499607,22.9999952 Z M14.7499785,18.500006 L9.74999046,13.5000179 L13.2499905,13.5000179 L13.2499905,8.5000298 L16.249975,8.5000298 L16.249975,13.5000179 L19.7499666,13.5000179 L14.7499785,18.500006 Z M22.2499607,21.5000083 L7.24999642,21.5000083 L7.24999642,17.5000083 L11.624986,17.5000083 L13.6874811,19.5625034 C13.9791469,19.8541692 14.333313,20.0000083 14.7499785,20.0000083 C15.1666441,20.0000083 15.5208102,19.8541692 15.812476,19.5625034 L15.812476,19.5625034 L17.8749711,17.5000083 L22.2499607,17.5000083 L22.2499607,21.5000083 Z M20.2499654,20.2500054 C20.4582984,20.2500054 20.635381,20.1770855 20.7812142,20.0312523 C20.9270473,19.8854192 20.9999672,19.7083366 20.9999672,19.5000036 C20.9999672,19.2916706 20.9270473,19.114588 20.7812142,18.9687548 C20.635381,18.8229217 20.4582984,18.7500054 20.2499654,18.7500054 C20.0416324,18.7500054 19.8645498,18.8229217 19.7187167,18.9687548 C19.5728836,19.114588 19.4999672,19.2916706 19.4999672,19.5000036 C19.4999672,19.7083366 19.5728836,19.8854192 19.7187167,20.0312523 C19.8645498,20.1770855 20.0416324,20.2500054 20.2499654,20.2500054 Z" id="d" fill="#F3EFEF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

12
static/imgs/Icons/icn_external_link.svg

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_external_link</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-81.000000, -1430.000000)">
<g id="icn_external_link" transform="translate(81.000000, 1430.000000)">
<rect id="Background-Copy-2" fill="#1B42D8" x="0" y="0" width="30" height="30" rx="6"></rect>
<path d="M13.8437331,19.0000048 C13.9478993,19.0000048 14.0312326,18.9583384 14.0937325,18.8750051 L14.0937325,18.8750051 L22.5937122,10.3750253 L24.1249586,11.8750218 C24.2291248,12.0000215 24.359333,12.0312714 24.5155826,11.9687715 C24.6718323,11.9062717 24.7499571,11.7916885 24.7499571,11.6250224 L24.7499571,11.6250224 L24.7499571,7.37503248 C24.7499571,7.27086623 24.7134987,7.18232445 24.6405823,7.10940812 C24.567666,7.03649178 24.4791242,7.00003338 24.374958,7.00003338 L24.374958,7.00003338 L20.1249681,7.00003338 C19.958302,7.00003338 19.8437188,7.07815819 19.7812189,7.23440782 C19.7187191,7.39065745 19.749969,7.52086563 19.8749687,7.62503189 L19.8749687,7.62503189 L21.3749651,9.15627824 L12.8749854,17.656258 C12.7916521,17.7187578 12.7499857,17.8020911 12.7499857,17.9062574 C12.7499857,18.0104236 12.7916521,18.1041734 12.8749854,18.1875067 L12.8749854,18.1875067 L13.5624838,18.8750051 C13.6458171,18.9583384 13.7395668,19.0000048 13.8437331,19.0000048 Z M19.2499702,22.9999952 C19.6666357,22.9999952 20.0208019,22.8541621 20.3124677,22.5624963 C20.6041335,22.2708305 20.7499666,21.9166643 20.7499666,21.4999988 L20.7499666,21.4999988 L20.7499666,14.5625153 C20.7499666,14.3958492 20.6718418,14.281266 20.5155922,14.2187662 C20.3593426,14.1562663 20.2291344,14.1770998 20.1249681,14.281266 L20.1249681,14.281266 L19.3749699,15.0312642 C19.2916366,15.1145975 19.2499702,15.2083473 19.2499702,15.3125136 L19.2499702,15.3125136 L19.2499702,21.3124993 C19.2499702,21.3541657 19.2291368,21.3958325 19.1874703,21.437499 C19.1458039,21.4791654 19.1041371,21.4999988 19.0624706,21.4999988 L19.0624706,21.4999988 L8.43749598,21.4999988 C8.39582957,21.4999988 8.35416268,21.4791654 8.31249627,21.437499 C8.27082987,21.3958325 8.25,21.3541657 8.25,21.3124993 L8.25,21.3124993 L8.25,10.6875246 C8.25,10.6458582 8.27082987,10.6041913 8.31249627,10.5625249 C8.35416268,10.5208585 8.39582957,10.5000286 8.43749598,10.5000286 L8.43749598,10.5000286 L18.1249729,10.5000286 C18.2291391,10.5000286 18.3124724,10.4583586 18.3749723,10.3750253 L18.3749723,10.3750253 L19.1796579,9.57077383 C19.2577827,9.47673476 19.2708035,9.36461107 19.2187203,9.23440305 C19.1562204,9.07815342 19.0416372,9.00002861 18.8749711,9.00002861 L18.8749711,9.00002861 L8.25,9.00002861 C7.83333091,9.00002861 7.47916477,9.14586175 7.18749896,9.43752757 C6.89583314,9.72919338 6.75,10.0833595 6.75,10.5000286 L6.75,10.5000286 L6.75,21.4999988 C6.75,21.9166643 6.89583314,22.2708305 7.18749896,22.5624963 C7.47916477,22.8541621 7.83333091,22.9999952 8.25,22.9999952 L8.25,22.9999952 L19.2499702,22.9999952 Z" id="e" fill="#F3EFEF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

12
static/imgs/Icons/icn_image.svg

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_image</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-225.000000, -1569.000000)">
<g id="icn_image" transform="translate(225.000000, 1569.000000)">
<rect id="Background-Copy-5" fill="#1B42D8" x="0" y="0" width="30" height="30" rx="6"></rect>
<path d="M21.4999654,20.9999714 C21.9166309,20.9999714 22.2707971,20.8541382 22.5624629,20.5624724 C22.8541287,20.2708066 22.9999619,19.9166405 22.9999619,19.499975 L22.9999619,19.499975 L22.9999619,10.5 C22.9999619,10.0833309 22.8541287,9.72916477 22.5624629,9.43749896 C22.2707971,9.14583314 21.9166309,9 21.4999654,9 L21.4999654,9 L8.5,9 C8.08333091,9 7.72916477,9.14583314 7.43749896,9.43749896 C7.14583314,9.72916477 7,10.0833309 7,10.5 L7,10.5 L7,19.499975 C7,19.9166405 7.14583314,20.2708066 7.43749896,20.5624724 C7.72916477,20.8541382 8.08333091,20.9999714 8.5,20.9999714 L8.5,20.9999714 L21.4999654,20.9999714 Z M21.3124659,19.499975 L8.68749598,19.499975 C8.64582957,19.499975 8.60416268,19.4791415 8.56249627,19.4374751 C8.52082987,19.3958087 8.49999642,19.3541418 8.49999642,19.3124754 L8.49999642,19.3124754 L8.49999642,10.687496 C8.49999642,10.6458296 8.52082987,10.6041627 8.56249627,10.5624963 C8.60416268,10.5208299 8.64582957,10.4999964 8.68749598,10.4999964 L8.68749598,10.4999964 L21.3124659,10.4999964 C21.3541323,10.4999964 21.3957992,10.5208299 21.4374656,10.5624963 C21.479132,10.6041627 21.4999654,10.6458296 21.4999654,10.687496 L21.4999654,10.687496 L21.4999654,19.3124754 C21.4999654,19.3541418 21.479132,19.3958087 21.4374656,19.4374751 C21.3957992,19.4791415 21.3541323,19.499975 21.3124659,19.499975 L21.3124659,19.499975 Z M10.9999905,14.2499934 C11.3541561,14.2499934 11.6510304,14.1301963 11.8906133,13.8906133 C12.1301963,13.6510304 12.2499934,13.3541561 12.2499934,12.9999905 C12.2499934,12.6458248 12.1301963,12.3489505 11.8906133,12.1093676 C11.6510304,11.8697847 11.3541561,11.7499934 10.9999905,11.7499934 C10.6458248,11.7499934 10.3489505,11.8697847 10.1093676,12.1093676 C9.86978467,12.3489505 9.74999344,12.6458248 9.74999344,12.9999905 C9.74999344,13.3541561 9.86978467,13.6510304 10.1093676,13.8906133 C10.3489505,14.1301963 10.6458248,14.2499934 10.9999905,14.2499934 Z M19.999969,17.9999785 L19.999969,15.4999845 L17.2499756,12.7499911 C17.1874757,12.6874912 17.1041424,12.6562413 16.9999762,12.6562413 C16.8958099,12.6562413 16.8124766,12.6874912 16.7499768,12.7499911 L16.7499768,12.7499911 L12.9999928,16.4999821 L11.7499887,15.2499851 C11.6874888,15.1874852 11.6041555,15.1562413 11.4999928,15.1562413 C11.395823,15.1562413 11.3124897,15.1874852 11.2499899,15.2499851 L11.2499899,15.2499851 L9.99999285,16.4999821 L9.99999285,17.9999785 L19.999969,17.9999785 Z" id="i" fill="#F3EFEF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

9
static/imgs/Icons/icn_navigation_dot_active.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_navigation_dot_active</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage_collapsed" transform="translate(-297.000000, -1276.000000)" fill="#000000" stroke="#000000">
<circle id="icn_navigation_dot_active" cx="306" cy="1285" r="8"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 555 B

9
static/imgs/Icons/icn_navigation_dot_inactive.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_navigation_dot_inactive</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage_collapsed" transform="translate(-336.000000, -1276.000000)" stroke="#000000">
<circle id="icn_navigation_dot_inactive" cx="345" cy="1285" r="8"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 544 B

9
static/imgs/Icons/icn_open_small.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="12px" viewBox="0 0 12 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_open_small</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage_collapsed" transform="translate(-1345.000000, -963.000000)" fill="#163ADC" fill-rule="nonzero">
<path d="M1351.49998,975 C1351.64582,975 1351.76561,974.953125 1351.85936,974.859375 C1351.95311,974.765626 1351.99998,974.645834 1351.99998,974.500001 L1351.99998,974.500001 L1351.99998,970.000012 L1356.49997,970.000012 C1356.64581,970.000012 1356.7656,969.953137 1356.85935,969.859387 C1356.9531,969.765637 1356.99997,969.645846 1356.99997,969.500013 L1356.99997,969.500013 L1356.99997,968.500015 C1356.99997,968.354182 1356.9531,968.234391 1356.85935,968.140641 C1356.7656,968.046892 1356.64581,968.000017 1356.49997,968.000017 L1356.49997,968.000017 L1351.99998,968.000017 L1351.99998,963.500029 C1351.99998,963.354194 1351.95311,963.234403 1351.85936,963.140653 C1351.76561,963.046903 1351.64582,963.000029 1351.49998,963.000029 L1351.49998,963.000029 L1350.49999,963.000029 C1350.35415,963.000029 1350.23436,963.046903 1350.14061,963.140653 C1350.04686,963.234403 1349.99999,963.354194 1349.99999,963.500029 L1349.99999,963.500029 L1349.99999,968.000017 L1345.5,968.000017 C1345.35417,968.000017 1345.23437,968.046892 1345.14062,968.140641 C1345.04687,968.234391 1345,968.354182 1345,968.500015 L1345,968.500015 L1345,969.500013 C1345,969.645846 1345.04687,969.765637 1345.14062,969.859387 C1345.23437,969.953137 1345.35417,970.000012 1345.5,970.000012 L1345.5,970.000012 L1349.99999,970.000012 L1349.99999,974.500001 C1349.99999,974.645834 1350.04686,974.765626 1350.14061,974.859375 C1350.23436,974.953125 1350.35415,975 1350.49999,975 L1350.49999,975 L1351.49998,975 Z" id="icn_open_small"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

11
static/imgs/Icons/icn_search.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="21px" height="21px" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_search</title>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Top_navigation" transform="translate(-1323.000000, -92.000000)" fill="#1B42D8" fill-rule="nonzero">
<g transform="translate(0.000000, 11.000000)" id="icn_search">
<path d="M1342.07721,101.499994 C1342.20742,101.499994 1342.32461,101.447911 1342.42877,101.343744 L1343.32721,100.484371 C1343.40533,100.380205 1343.4444,100.263018 1343.4444,100.13281 C1343.4444,100.002602 1343.40533,99.8984354 1343.32721,99.8203105 L1338.5616,95.0546969 C1338.48347,94.9765721 1338.3793,94.9375097 1338.2491,94.9375097 L1337.70222,94.9375097 C1338.32722,94.2083446 1338.8155,93.388034 1339.16706,92.4765781 C1339.51862,91.5651221 1339.69441,90.6146031 1339.69441,89.6250224 C1339.69441,88.1406509 1339.32982,86.7799773 1338.60066,85.5430008 C1337.87149,84.3060244 1336.88842,83.3229542 1335.65145,82.5937891 C1334.41447,81.864624 1333.0538,81.5000417 1331.56943,81.5000417 C1330.08505,81.5000417 1328.72438,81.864624 1327.4874,82.5937891 C1326.25043,83.3229542 1325.26736,84.3060244 1324.53819,85.5430008 C1323.80903,86.7799773 1323.44444,88.1406509 1323.44444,89.6250224 C1323.44444,91.1093938 1323.80903,92.4700675 1324.53819,93.7070439 C1325.26736,94.9440203 1326.25043,95.9270905 1327.4874,96.6562556 C1328.72438,97.3854207 1330.08505,97.750003 1331.56943,97.750003 C1332.55901,97.750003 1333.50952,97.5742221 1334.42098,97.2226605 C1335.33244,96.8710988 1336.15275,96.3828187 1336.88191,95.7578202 L1336.88191,96.3046939 C1336.88191,96.4088605 1336.92097,96.5130266 1336.9991,96.6171932 L1341.76471,101.343744 C1341.84284,101.447911 1341.947,101.499994 1342.07721,101.499994 Z M1331.56943,95.8750075 C1330.44964,95.8750075 1329.40797,95.59506 1328.44443,95.0351657 C1327.48089,94.4752714 1326.71918,93.7135545 1326.15928,92.7500149 C1325.59939,91.7864753 1325.31944,90.7448115 1325.31944,89.6250224 C1325.31944,88.5052332 1325.59939,87.4635694 1326.15928,86.5000298 C1326.71918,85.5364902 1327.48089,84.7747733 1328.44443,84.214879 C1329.40797,83.6549847 1330.44964,83.3750373 1331.56943,83.3750373 C1332.68921,83.3750373 1333.73088,83.6549847 1334.69442,84.214879 C1335.65796,84.7747733 1336.41967,85.5364902 1336.97957,86.5000298 C1337.53946,87.4635694 1337.81941,88.5052332 1337.81941,89.6250224 C1337.81941,90.7448115 1337.53946,91.7864753 1336.97957,92.7500149 C1336.41967,93.7135545 1335.65796,94.4752714 1334.69442,95.0351657 C1333.73088,95.59506 1332.68921,95.8750075 1331.56943,95.8750075 Z"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

12
static/imgs/Icons/icn_video.svg

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icn_video</title>
<g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="7.-DAAP_ArtworkPage" transform="translate(-83.000000, -1569.000000)">
<g id="icn_video" transform="translate(83.000000, 1569.000000)">
<rect id="Background-Copy-3" fill="#1B42D8" x="0" y="0" width="30" height="30" rx="6"></rect>
<path d="M17.3749729,20.9999714 C17.8333053,20.9999714 18.2187209,20.8541382 18.5312201,20.5624724 C18.8437194,20.2708066 18.999969,19.9166405 18.999969,19.499975 L18.999969,19.499975 L18.999969,17.6874793 L22.4374608,19.8124742 C22.6041269,19.9374739 22.7916265,19.9999738 22.9999595,19.9999738 C23.2707923,19.9999738 23.5051668,19.906224 23.7030828,19.7187244 C23.9009988,19.5312249 23.9999571,19.291642 23.9999571,18.9999762 L23.9999571,18.9999762 L23.9999571,10.9687453 C23.9999571,10.6979125 23.9009988,10.4687465 23.7030828,10.2812469 C23.5051668,10.0937474 23.2707923,10 22.9999595,10 C22.7916265,10 22.6041269,10.0624975 22.4374608,10.1874972 L22.4374608,10.1874972 L18.999969,12.3124921 L18.999969,10.5 C18.999969,10.0833309 18.8437194,9.72916477 18.5312201,9.43749896 C18.2187209,9.14583314 17.8333053,9 17.3749729,9 L17.3749729,9 L7.62499613,9 C7.16666373,9 6.78124814,9.14583314 6.46874888,9.43749896 C6.15624963,9.72916477 6,10.0833309 6,10.5 L6,10.5 L6,19.499975 C6,19.9166405 6.15624963,20.2708066 6.46874888,20.5624724 C6.78124814,20.8541382 7.16666373,20.9999714 7.62499613,20.9999714 L7.62499613,20.9999714 L17.3749729,20.9999714 Z M17.3749729,19.499975 L7.62499613,19.499975 C7.56249627,19.499975 7.52082987,19.4895585 7.49999642,19.468725 L7.49999642,19.468725 L7.49999642,10.5312463 C7.54166283,10.5104129 7.58332972,10.4999964 7.62499613,10.4999964 L7.62499613,10.4999964 L17.3749729,10.4999964 C17.4374727,10.4999964 17.4791391,10.5104129 17.4999726,10.5312463 L17.4999726,10.5312463 L17.4999726,19.468725 C17.4583062,19.4895585 17.4166393,19.499975 17.3749729,19.499975 L17.3749729,19.499975 Z M22.499969,18.0937283 L18.999969,15.9062431 L18.999969,14.0937379 L22.499969,11.9062431 L22.499969,18.0937283 Z" id="v" fill="#F3EFEF" fill-rule="nonzero"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
static/imgs/Icons/placeholder_no-image2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
static/imgs/Logos/Banner Repeater Logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
static/imgs/Logos/Banner-Repeater-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
static/imgs/Logos/DAAP BR square logo -Animated Image (Large).gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

BIN
static/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
static/imgs/Logos/Lottery-white on black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
static/imgs/Logos/tate-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
static/imgs/Logos/ual.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
static/imgs/Logos/wikimedia_logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

21
static/imgs/Logos/wikimedia_logo.svg

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="56px" height="56px" viewBox="0 0 56 56" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>wikimedia_logo</title>
<defs>
<polygon id="path-1" points="0 7.77777778 56 7.77777778 56 56 0 56"></polygon>
</defs>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Footer" transform="translate(-299.000000, -94.000000)">
<g id="wikimedia_logo" transform="translate(299.000000, 94.000000)">
<path d="M28.0000296,0 C33.1547059,0 37.3333333,4.17868666 37.3333333,9.33336292 C37.3333333,14.48798 33.1547059,18.6666667 28.0000296,18.6666667 C22.8453533,18.6666667 18.6666667,14.48798 18.6666667,9.33336292 C18.6666667,4.17868666 22.8453533,0 28.0000296,0" id="Fill-1" fill="#FFFFFF"></path>
<path d="M30.3333333,45.1111111 C38.6859409,43.9552677 45.1111111,36.9275286 45.1111111,28.4290036 C45.1111111,23.26608 42.739129,18.6463969 39.0050368,15.5555556 L30.3333333,24.0475192 L30.3333333,45.1111111 Z" id="Fill-3" fill="#FFFFFF"></path>
<path d="M10.8888889,28.4290036 C10.8888889,36.9275286 17.3140253,43.9552677 25.6666667,45.1111111 L25.6666667,24.0475192 L16.9949281,15.5555556 C13.2608208,18.6464555 10.8888889,23.26608 10.8888889,28.4290036" id="Fill-5" fill="#FFFFFF"></path>
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-8"></g>
<path d="M2.20176897,17.556513 C0.740817281,20.9702001 0,24.5944329 0,28.3285464 C0,32.0626599 0.740817281,35.6868927 2.20176897,39.1005799 C3.61220904,42.3960566 5.63064173,45.3550383 8.20099614,47.8952327 C10.7713506,50.4354271 13.7654049,52.4301759 17.1000092,53.8240661 C20.5542872,55.2679344 24.2215509,56 28,56 C31.7784491,56 35.4457726,55.2679344 38.899931,53.8240661 C42.2345951,52.4301759 45.2286494,50.4354271 47.7990039,47.8952327 C50.3693583,45.3550383 52.387791,42.3960566 53.7981712,39.1005799 C55.2592425,35.6868927 56,32.0626599 56,28.3285464 C56,24.5944329 55.2592425,20.9702001 53.7981712,17.556513 C52.387791,14.2609772 50.3693583,11.3020545 47.7990039,8.76186015 C47.4571388,8.42406552 47.1076222,8.09613652 46.7509922,7.77777778 L41.8464626,12.6247586 C42.2078748,12.9369144 42.5608584,13.2613579 42.9035006,13.5999796 C46.8842951,17.5341233 49.0766193,22.7648597 49.0766193,28.3285464 C49.0766193,33.8922923 46.8842951,39.1229695 42.9035006,43.0571132 C38.9225866,46.9912569 33.6298048,49.1578568 28,49.1578568 C22.3702549,49.1578568 17.0774134,46.9912569 13.0965592,43.0571132 C9.11570493,39.1229695 6.92332096,33.8922923 6.92332096,28.3285464 C6.92332096,22.7648597 9.11570493,17.5341233 13.0965592,13.5999796 C13.4391416,13.2613579 13.792185,12.9369144 14.1535374,12.6247586 L9.24906758,7.77777778 C8.89237778,8.09613652 8.54280145,8.42406552 8.20099614,8.76186015 C5.63064173,11.3020545 3.61220904,14.2609772 2.20176897,17.556513" id="Fill-7" fill="#FFFFFF" mask="url(#mask-2)"></path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

497
static/js/protoartists.json

@ -0,0 +1,497 @@
{
"head": {
"vars": [
"work",
"workLabel",
"creators___contributorsLabel",
"roleLabel"
]
},
"results": {
"bindings": [
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "John W. Wendler"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "publisher"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "John W. Wendler"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "editor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Seth Siegelaub"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "publisher"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Seth Siegelaub"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "editor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Sol LeWitt"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Robert Barry"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Lawrence Weiner"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Robert Morris"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Joseph Kosuth"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q92"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carl Andre, Robert Barry, Douglas Huebler, Joseph Kosuth, Sol LeWitt, Robert Morris, Lawrence Weiner"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Douglas Huebler"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "artist"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q428"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Caterpillar"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carolee Schneemann"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Contributor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q428"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Caterpillar"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Clayton Eshleman"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "publisher"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q428"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Caterpillar"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Clayton Eshleman"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "editor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q428"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Caterpillar"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Clayton Eshleman"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Contributor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Dick Higgins"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "publisher"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Dick Higgins"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "editor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Dick Higgins"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "designer"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Dick Higgins"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Contributor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Wolf Vostell"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "editor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Wolf Vostell"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "designer"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Wolf Vostell"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Contributor"
}
},
{
"work": {
"type": "uri",
"value": "http://daap.bannerrepeater.org/entity/Q430"
},
"workLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Fantastic Architecture"
},
"creators___contributorsLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Carolee Schneemann"
},
"roleLabel": {
"xml:lang": "en",
"type": "literal",
"value": "Contributor"
}
}
]
}
}

15
templates/about.html

@ -0,0 +1,15 @@
{% extends "layout.html" %}
{% block content %}
<div id="about-intro">
<h3>ABOUT</h3>
<p>About page upcoming</p>
</div>
<div id="about-content">
<div id="about-content-left"></div>
<div id="about-content-right"></div>
</div>
{% endblock content %}

68
templates/artistsindex.html

@ -0,0 +1,68 @@
{% extends "layout.html" %}
{% block content %}
<table id="artistsindex-table">
<thead>
<tr>
<th>ID</th>
<th>Creator's Name</th>
<th>Alternative aliases</th>
<th>Description</th>
</tr>
</thead>
<tbody>
{% for x in results['results']['bindings']%}
<tr>
<th><a href="person?id={{ x['creators']['value'] | replace('http://daap.bannerrepeater.org/entity/', '') }}">#{{ x['creators']['value'] | replace('http://daap.bannerrepeater.org/entity/', '') }}</a></th>
<th><a href="person?id={{ x['creators']['value'] | replace('http://daap.bannerrepeater.org/entity/', '') }}">{{ x["creatorsLabel"]['value'] }}</a></th>
<th>
{% if "creatorsAltLabel" in x %}
{{ x["creatorsAltLabel"]["value"] }}
{% endif %}
</th>
<th>
{% if "creatorsDescription" in x %}
{{ x["creatorsDescription"]["value"] }}
{% endif %}
</th>
</tr>
{% endfor %}
</tbody>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('#data').after('<div id="nav"></div>');
var rowsShown = 20;
var rowsTotal = $('#artistsindex-table tbody tr').length;
var numPages = rowsTotal/rowsShown;
for(i = 0;i < numPages;i++) {
var pageNum = i + 1;
$('#nav').append('<a href="#" rel="'+i+'">'+pageNum+'</a> ');
}
$('#artistsindex-table tbody tr').hide();
$('#artistsindex-table tbody tr').slice(0, rowsShown).show();
$('#nav a:first').addClass('active');
$('#nav a').bind('click', function(){
$('#nav a').removeClass('active');
$(this).addClass('active');
var currPage = $(this).attr('rel');
var startItem = currPage * rowsShown;
var endItem = startItem + rowsShown;
$('#artistsindex-table tbody tr').css('opacity','0.0').hide().slice(startItem, endItem).
css('display','table-row').animate({opacity:1}, 300);
});
});
</script>
<style type="text/css">
#artistsindex-table tr {
display: none;
}
</style>
{% endblock content %}

22
templates/artwork.html

@ -0,0 +1,22 @@
{% extends "layout.html" %}
{% block content %}
<div id="artwork-description">
<div id="artwork-page-title">ARTWORK</div>
<div id="artwork-title">{{ artwork_title }}</div>
<div id="artwork-short-description">{{ artwork_description }}</div>
</div>
<div id="artwork-content">
<div id="artwork-content-menu">
<div id="artwork-content-menu-about">About this work</div>
<div id="artwork-content-menu-record">Detailed record</div>
<div id="artwork-content-menu-relationships">Relationships</div>
<div id="artwork-content-menu-lists">Lists</div>
</div>
<div id="artwork-content-infos">
</div>
</div>
{% endblock content %}

7
templates/browsebycategory.html

@ -0,0 +1,7 @@
{% extends "layout.html" %}
{% block content %}
{% endblock content %}

67
templates/browsethearchive.html

@ -0,0 +1,67 @@
{% extends "layout.html" %}
{% block content %}
<div id="browsethearchive-grid">
{% for x in results['results']['bindings']%}
<div class="browsethearchive-items">
{% if "image" in x %}
<a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'>
<img class="browsethearchive-imgs" src='{{ x["image"]["value"] | replace("wiki/File:","wiki/Special:Redirect/file/") }}'>
</a> <br>
{% else %}
<a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'>
<img class="browsethearchive-imgs" src="{{ url_for('static', filename='/imgs/Icons/placeholder_no-image2.png') }}"><br>
</a>
{% endif %}
<a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'>
{{ x["workLabel"]["value"]}}
</a> <br>
{% if "date" in x %}
{{ x["date"]["value"] | replace("T00:00:00Z", "") }} <br>
{% endif %}
</div>
{% endfor %}
<ul id="pagin">
</ul>
<script type="text/javascript">
//Pagination
pageSize = 16;
var pageCount = $(".browsethearchive-items").length / pageSize;
for(var i = 0 ; i<pageCount;i++){
$("#pagin").append('<li><a href="#">'+(i+1)+'</a></li> ');
}
$("#pagin li").first().find("a").addClass("current")
showPage = function(page) {
$(".browsethearchive-items").hide();
$(".browsethearchive-items").each(function(n) {
if (n >= pageSize * (page - 1) && n < pageSize * page)
$(this).show();
});
}
showPage(1);
$("#pagin li a").click(function() {
$("#pagin li a").removeClass("current");
$(this).addClass("current");
showPage(parseInt($(this).text()))
});
</script>
</div>
{% endblock content %}

11
templates/home.html

@ -0,0 +1,11 @@
{% extends "layout.html" %}
{% block content %}
<div id="home-top-div"></div>
<div id="home-recently-added-works">
<div>RECENTLY ADDED WORKS</div>
<div></div>
</div>
{% endblock content %}

50
templates/layout.html

@ -0,0 +1,50 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>D.A.A.P</title>
<link rel="stylesheet" href="{{ url_for('static', filename='/css/style.css') }}">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
</head>
<body>
<div id="header">
<div id="header-top"><div><img src="{{ url_for('static', filename='/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif') }}"></div><div id="header-title">DIGITAL ARCHIVE OF ARTISTS' PUBLISHING</div><div id="header-keyword-search"> <input type="text" id="fname" name="fname" value="KEYWORD SEARCH"></div></div>
<div id="navigation">
<div id="nav-left-side"><div><a href="{{ url_for('about') }}">About</a></div><div><a href="{{ url_for('browsethearchive') }}">Browse the archive</a></div><div><a href="{{ url_for('browsebycategory') }}">Browse by category</a></div><div><a href="{{ url_for('searchtools') }}">Search tools</a></div></div>
<div id="nav-right-side">
<div><a href="{{ url_for('tutorials') }}">Tutorials</a></div>
<div><a href="{{ url_for('upload') }}">Upload</a></div>
<div><a href="https://daap.bannerrepeater.org/w/index.php?title=Special:UserLogin&returnto=Main+Page">Log in</a></div></div>
</div>
</div>
{% block content %}
{% endblock content %}
<div id="footer">
<div id="footer-top">
<div id="footer-top-left">
<!-- <div id="footer-logo">ARCHIVE LOGO</div> -->
<div id="footer-br"><p>A project by:</p><p><img src="{{ url_for('static', filename='/imgs/Logos/Banner-Repeater-logo.png') }}"></p></div>
<div id="footer-support">
<div>With support from:</div>
<div><img src="{{ url_for('static', filename='/imgs/Logos/wikimedia_logo.png') }}"></div>
<div><img src="{{ url_for('static', filename='/imgs/Logos/Lottery-white on black.png') }}"></div>
</div>
</div>
<div id="footer-top-right">
<div id="footer-socials"><p>facebook</p><p>twitter</p><p>Instagram</p><p>email address</p></div>
<div id="footer-newsletter"><p>Subscribe to our newsletter</p><p><input type="text" id="newslettersubs" name="newslettersubs" value="Your email address"> <input class="submitemail" type="submit" value="OK"></p></div>
</div>
</div>
<div id="footer-bottom"><p>Copyright Banner repeater 2019</p></div>
</div>
</body>
</html>

40
templates/person.html

@ -0,0 +1,40 @@
{% extends "layout.html" %}
{% block content %}
<div id="person-description">
<div id="person-page-title">PERSON</div>
<div id="person-name">{{ person_name }}</div>
<div id="person-short-description">{{ person_description }}</div>
</div>
<div id="person-content">
<div id="person-picture">
</div>
<div id="person_infos">
</div>
</div>
<div id="person_creatorof">
{% for x in person_creatorof['results']['bindings']%}
<div class="person_creatorof-item">
{% if "image" in x %}
<img class="person_creatorof-imgs" src='{{ x["image"]["value"] | replace("wiki/File:","wiki/Special:Redirect/file/") }}'> <br>
{% else %}
<img class="person_creatorof-imgs" src="{{ url_for('static', filename='/imgs/Icons/placeholder_no-image2.png') }}"><br>
{% endif %}
<span><a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'>{{ x["workLabel"]["value"] }}</a></span>
</div>
{% endfor %}
</div>
<div id="person_publisherof">
{% for x in person_publisherof['results']['bindings']%}
<div class="person_creatorof-item">
{% if "image" in x %}
<img class="person_creatorof-imgs" src='{{ x["image"]["value"] | replace("wiki/File:","wiki/Special:Redirect/file/") }}'> <br>
{% else %}
<img class="person_creatorof-imgs" src="{{ url_for('static', filename='/imgs/Icons/placeholder_no-image2.png') }}"><br>
{% endif %}
<span><a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'>{{ x["workLabel"]["value"] }}</a></span>
</div>
{% endfor %}
</div>
{% endblock content %}

5
templates/searchtools.html

@ -0,0 +1,5 @@
{% extends "layout.html" %}
{% block content %}
{% endblock content %}

15
templates/tutorials.html

@ -0,0 +1,15 @@
{% extends "layout.html" %}
{% block content %}
<div id="tutorials-intro">
<h3>TUTORIALS</h3>
<p>Tutorials page upcoming</p>
</div>
<div id="tutorials-content">
<div id="tutorials-content-left"></div>
<div id="tutorials-content-right"></div>
</div>
{% endblock content %}

15
templates/upload.html

@ -0,0 +1,15 @@
{% extends "layout.html" %}
{% block content %}
<div id="upload-intro">
<h3>UPLOAD</h3>
<p>Upload page upcoming</p>
</div>
<div id="upload-content">
<div id="upload-content-left"></div>
<div id="upload-content-right"></div>
</div>
{% endblock content %}
Loading…
Cancel
Save