@ -0,0 +1 @@ |
|||
Interface for DAAP Wikibase |
@ -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 |
|||
|
@ -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; |
|||
} |
@ -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. |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 544 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 398 KiB |
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.1 KiB |
@ -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" |
|||
} |
|||
} |
|||
] |
|||
} |
|||
} |
@ -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 %} |
@ -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 %} |
@ -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 %} |
@ -0,0 +1,7 @@ |
|||
{% extends "layout.html" %} |
|||
{% block content %} |
|||
|
|||
|
|||
|
|||
|
|||
{% endblock content %} |
@ -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 %} |
|||
|
|||
|
|||
|
@ -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 %} |
@ -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> |
@ -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 %} |
@ -0,0 +1,5 @@ |
|||
{% extends "layout.html" %} |
|||
{% block content %} |
|||
|
|||
|
|||
{% endblock content %} |
@ -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 %} |
@ -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 %} |