commit d19618a8e62a47a22b6b3b73aa5548aab59cbd71 Author: jules Date: Fri Sep 25 13:00:51 2020 +0200 first commit DAAP diff --git a/README.md b/README.md new file mode 100644 index 0000000..c623ad8 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Interface for DAAP Wikibase diff --git a/daapinterface.py b/daapinterface.py new file mode 100644 index 0000000..5ba1a5a --- /dev/null +++ b/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 + diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..84640bc --- /dev/null +++ b/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; +} \ No newline at end of file diff --git a/static/css/webfonts/Roboto_Condensed.zip b/static/css/webfonts/Roboto_Condensed.zip new file mode 100644 index 0000000..8f3d319 Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed.zip differ diff --git a/static/css/webfonts/Roboto_Condensed/LICENSE.txt b/static/css/webfonts/Roboto_Condensed/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/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. diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf new file mode 100644 index 0000000..7fe3128 Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Bold.ttf differ diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf new file mode 100644 index 0000000..52ef6f3 Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf differ diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Italic.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Italic.ttf new file mode 100644 index 0000000..12216d6 Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Italic.ttf differ diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Light.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Light.ttf new file mode 100644 index 0000000..43dd8f4 Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Light.ttf differ diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf new file mode 100644 index 0000000..99d491b Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-LightItalic.ttf differ diff --git a/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf new file mode 100644 index 0000000..62dd61e Binary files /dev/null and b/static/css/webfonts/Roboto_Condensed/RobotoCondensed-Regular.ttf differ diff --git a/static/imgs/Icons/icn_arrow_left.svg b/static/imgs/Icons/icn_arrow_left.svg new file mode 100644 index 0000000..2c14d56 --- /dev/null +++ b/static/imgs/Icons/icn_arrow_left.svg @@ -0,0 +1,9 @@ + + + icn_arrow_left + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_arrow_right.svg b/static/imgs/Icons/icn_arrow_right.svg new file mode 100644 index 0000000..8e2c579 --- /dev/null +++ b/static/imgs/Icons/icn_arrow_right.svg @@ -0,0 +1,9 @@ + + + icn_arrow_right + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_audio.svg b/static/imgs/Icons/icn_audio.svg new file mode 100644 index 0000000..7dea799 --- /dev/null +++ b/static/imgs/Icons/icn_audio.svg @@ -0,0 +1,12 @@ + + + icn_audio + + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_close_large.svg b/static/imgs/Icons/icn_close_large.svg new file mode 100644 index 0000000..5b1e98f --- /dev/null +++ b/static/imgs/Icons/icn_close_large.svg @@ -0,0 +1,9 @@ + + + icn_close_large + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_close_small.svg b/static/imgs/Icons/icn_close_small.svg new file mode 100644 index 0000000..45ba334 --- /dev/null +++ b/static/imgs/Icons/icn_close_small.svg @@ -0,0 +1,9 @@ + + + icn_close_small + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_download.svg b/static/imgs/Icons/icn_download.svg new file mode 100644 index 0000000..20c4657 --- /dev/null +++ b/static/imgs/Icons/icn_download.svg @@ -0,0 +1,12 @@ + + + icn_download + + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_external_link.svg b/static/imgs/Icons/icn_external_link.svg new file mode 100644 index 0000000..e0bd12b --- /dev/null +++ b/static/imgs/Icons/icn_external_link.svg @@ -0,0 +1,12 @@ + + + icn_external_link + + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_image.svg b/static/imgs/Icons/icn_image.svg new file mode 100644 index 0000000..d70b095 --- /dev/null +++ b/static/imgs/Icons/icn_image.svg @@ -0,0 +1,12 @@ + + + icn_image + + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_navigation_dot_active.svg b/static/imgs/Icons/icn_navigation_dot_active.svg new file mode 100644 index 0000000..1e39983 --- /dev/null +++ b/static/imgs/Icons/icn_navigation_dot_active.svg @@ -0,0 +1,9 @@ + + + icn_navigation_dot_active + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_navigation_dot_inactive.svg b/static/imgs/Icons/icn_navigation_dot_inactive.svg new file mode 100644 index 0000000..f0fa305 --- /dev/null +++ b/static/imgs/Icons/icn_navigation_dot_inactive.svg @@ -0,0 +1,9 @@ + + + icn_navigation_dot_inactive + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_open_small.svg b/static/imgs/Icons/icn_open_small.svg new file mode 100644 index 0000000..2b8deeb --- /dev/null +++ b/static/imgs/Icons/icn_open_small.svg @@ -0,0 +1,9 @@ + + + icn_open_small + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_search.svg b/static/imgs/Icons/icn_search.svg new file mode 100644 index 0000000..74fa4f2 --- /dev/null +++ b/static/imgs/Icons/icn_search.svg @@ -0,0 +1,11 @@ + + + icn_search + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/icn_video.svg b/static/imgs/Icons/icn_video.svg new file mode 100644 index 0000000..f6059cf --- /dev/null +++ b/static/imgs/Icons/icn_video.svg @@ -0,0 +1,12 @@ + + + icn_video + + + + + + + + + \ No newline at end of file diff --git a/static/imgs/Icons/placeholder_no-image2.png b/static/imgs/Icons/placeholder_no-image2.png new file mode 100644 index 0000000..b13e7ea Binary files /dev/null and b/static/imgs/Icons/placeholder_no-image2.png differ diff --git a/static/imgs/Logos/Banner Repeater Logo.png b/static/imgs/Logos/Banner Repeater Logo.png new file mode 100644 index 0000000..f726aa5 Binary files /dev/null and b/static/imgs/Logos/Banner Repeater Logo.png differ diff --git a/static/imgs/Logos/Banner-Repeater-logo.png b/static/imgs/Logos/Banner-Repeater-logo.png new file mode 100644 index 0000000..fedbea0 Binary files /dev/null and b/static/imgs/Logos/Banner-Repeater-logo.png differ diff --git a/static/imgs/Logos/DAAP BR square logo -Animated Image (Large).gif b/static/imgs/Logos/DAAP BR square logo -Animated Image (Large).gif new file mode 100644 index 0000000..0e451be Binary files /dev/null and b/static/imgs/Logos/DAAP BR square logo -Animated Image (Large).gif differ diff --git a/static/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif b/static/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif new file mode 100644 index 0000000..2fe70af Binary files /dev/null and b/static/imgs/Logos/DAAP BR square logo -Animated Image (Small).gif differ diff --git a/static/imgs/Logos/Lottery-white on black.png b/static/imgs/Logos/Lottery-white on black.png new file mode 100644 index 0000000..362ec16 Binary files /dev/null and b/static/imgs/Logos/Lottery-white on black.png differ diff --git a/static/imgs/Logos/tate-logo.png b/static/imgs/Logos/tate-logo.png new file mode 100644 index 0000000..11af68b Binary files /dev/null and b/static/imgs/Logos/tate-logo.png differ diff --git a/static/imgs/Logos/ual.png b/static/imgs/Logos/ual.png new file mode 100644 index 0000000..0952c4c Binary files /dev/null and b/static/imgs/Logos/ual.png differ diff --git a/static/imgs/Logos/wikimedia_logo.png b/static/imgs/Logos/wikimedia_logo.png new file mode 100644 index 0000000..bf5a234 Binary files /dev/null and b/static/imgs/Logos/wikimedia_logo.png differ diff --git a/static/imgs/Logos/wikimedia_logo.svg b/static/imgs/Logos/wikimedia_logo.svg new file mode 100644 index 0000000..b620a66 --- /dev/null +++ b/static/imgs/Logos/wikimedia_logo.svg @@ -0,0 +1,21 @@ + + + wikimedia_logo + + + + + + + + + \ No newline at end of file diff --git a/static/js/protoartists.json b/static/js/protoartists.json new file mode 100644 index 0000000..fa027ef --- /dev/null +++ b/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" + } + } + ] + } +} \ No newline at end of file diff --git a/templates/about.html b/templates/about.html new file mode 100644 index 0000000..854adc8 --- /dev/null +++ b/templates/about.html @@ -0,0 +1,15 @@ +{% extends "layout.html" %} +{% block content %} + +
+

ABOUT

+

About page upcoming

+
+
+
+
+
+ + + +{% endblock content %} \ No newline at end of file diff --git a/templates/artistsindex.html b/templates/artistsindex.html new file mode 100644 index 0000000..7f8818f --- /dev/null +++ b/templates/artistsindex.html @@ -0,0 +1,68 @@ +{% extends "layout.html" %} +{% block content %} + + + + + + + + + + + + +{% for x in results['results']['bindings']%} + + + + + + +{% endfor %} + + +
IDCreator's NameAlternative aliasesDescription
#{{ x['creators']['value'] | replace('http://daap.bannerrepeater.org/entity/', '') }}{{ x["creatorsLabel"]['value'] }} + {% if "creatorsAltLabel" in x %} + {{ x["creatorsAltLabel"]["value"] }} + {% endif %} + + {% if "creatorsDescription" in x %} + {{ x["creatorsDescription"]["value"] }} + {% endif %} +
+ + + + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/artwork.html b/templates/artwork.html new file mode 100644 index 0000000..69d4244 --- /dev/null +++ b/templates/artwork.html @@ -0,0 +1,22 @@ +{% extends "layout.html" %} +{% block content %} + +
+
ARTWORK
+
{{ artwork_title }}
+
{{ artwork_description }}
+
+
+
+
About this work
+
Detailed record
+
Relationships
+
Lists
+
+
+ +
+
+ + +{% endblock content %} \ No newline at end of file diff --git a/templates/browsebycategory.html b/templates/browsebycategory.html new file mode 100644 index 0000000..7fcad22 --- /dev/null +++ b/templates/browsebycategory.html @@ -0,0 +1,7 @@ +{% extends "layout.html" %} +{% block content %} + + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/browsethearchive.html b/templates/browsethearchive.html new file mode 100644 index 0000000..65f4fc4 --- /dev/null +++ b/templates/browsethearchive.html @@ -0,0 +1,67 @@ +{% extends "layout.html" %} +{% block content %} + +
+ + + +{% for x in results['results']['bindings']%} +
+ {% if "image" in x %} + + +
+ {% else %} + +
+
+ {% endif %} + + {{ x["workLabel"]["value"]}} +
+ {% if "date" in x %} + {{ x["date"]["value"] | replace("T00:00:00Z", "") }}
+ + {% endif %} +
+{% endfor %} + + + + + + +
+ +{% endblock content %} + + + diff --git a/templates/home.html b/templates/home.html new file mode 100644 index 0000000..bac9dbc --- /dev/null +++ b/templates/home.html @@ -0,0 +1,11 @@ +{% extends "layout.html" %} +{% block content %} + +
+
+
RECENTLY ADDED WORKS
+
+
+ + +{% endblock content %} \ No newline at end of file diff --git a/templates/layout.html b/templates/layout.html new file mode 100644 index 0000000..3824f82 --- /dev/null +++ b/templates/layout.html @@ -0,0 +1,50 @@ + + + + + + D.A.A.P + + + + + + + + + + + {% block content %} + {% endblock content %} + + + + + \ No newline at end of file diff --git a/templates/person.html b/templates/person.html new file mode 100644 index 0000000..9752ef6 --- /dev/null +++ b/templates/person.html @@ -0,0 +1,40 @@ +{% extends "layout.html" %} +{% block content %} + +
+
PERSON
+
{{ person_name }}
+
{{ person_description }}
+
+
+
+
+
+
+
+
+ {% for x in person_creatorof['results']['bindings']%} +
+ {% if "image" in x %} +
+ {% else %} +
+ {% endif %} + {{ x["workLabel"]["value"] }} +
+ {% endfor %} +
+
+ {% for x in person_publisherof['results']['bindings']%} +
+ {% if "image" in x %} +
+ {% else %} +
+ {% endif %} + {{ x["workLabel"]["value"] }} +
+ {% endfor %} +
+ +{% endblock content %} \ No newline at end of file diff --git a/templates/searchtools.html b/templates/searchtools.html new file mode 100644 index 0000000..ada3952 --- /dev/null +++ b/templates/searchtools.html @@ -0,0 +1,5 @@ +{% extends "layout.html" %} +{% block content %} + + +{% endblock content %} \ No newline at end of file diff --git a/templates/tutorials.html b/templates/tutorials.html new file mode 100644 index 0000000..7002f76 --- /dev/null +++ b/templates/tutorials.html @@ -0,0 +1,15 @@ +{% extends "layout.html" %} +{% block content %} + +
+

TUTORIALS

+

Tutorials page upcoming

+
+
+
+
+
+ + + +{% endblock content %} \ No newline at end of file diff --git a/templates/upload.html b/templates/upload.html new file mode 100644 index 0000000..003d9e6 --- /dev/null +++ b/templates/upload.html @@ -0,0 +1,15 @@ +{% extends "layout.html" %} +{% block content %} + +
+

UPLOAD

+

Upload page upcoming

+
+
+
+
+
+ + + +{% endblock content %} \ No newline at end of file