Browse Source

incorporating updates from Joana

main
Simon Bowie 2 years ago
parent
commit
666a9533cf
9 changed files with 186 additions and 49 deletions
  1. +55
    -6
      web/app/static/styles/custom.css
  2. +10
    -4
      web/app/templates/abstracts.html
  3. +7
    -4
      web/app/templates/compare.html
  4. +27
    -3
      web/app/templates/data.html
  5. +17
    -7
      web/app/templates/images.html
  6. +12
    -11
      web/app/templates/index.html
  7. +7
    -4
      web/app/templates/record.html
  8. +11
    -1
      web/app/templates/titles.html
  9. +40
    -9
      web/content/TOC.md

+ 55
- 6
web/app/static/styles/custom.css View File

--color-gray: #edecec; --color-gray: #edecec;
--color-blue: #4f1dff; --color-blue: #4f1dff;
--color-pink: #cc285f; --color-pink: #cc285f;
--title-font: "MetaAccanthis"; /* Cmunobi */
--title-font: "Compagnon-T"; /* Cmunobi */
--body-font: "Compagnon"; --body-font: "Compagnon";


/*@media screen and (min-width: 320px)*/ /*@media screen and (min-width: 320px)*/
h1, .h1 { h1, .h1 {
font-family: var(--title-font) !important; font-family: var(--title-font) !important;
font-size: var(--title-fontsize) !important; font-size: var(--title-fontsize) !important;
-webkit-text-stroke-width: 0.01rem;
-webkit-text-stroke-width: 0.09rem;
-webkit-text-stroke-color: black; -webkit-text-stroke-color: black;
font-style: italic;
letter-spacing: -0.15rem;
} }


a.h1 { a.h1 {
color: var(--color-lightyellow) !important; color: var(--color-lightyellow) !important;
} }


/* overwrite */
.p-5 {
padding: 3.5rem !important;
}

/* INDEX */ /* INDEX */


.border, .border-dark { .border, .border-dark {
box-shadow: 0.25rem 0.25rem 0.5rem var(--color-dark) !important; box-shadow: 0.25rem 0.25rem 0.5rem var(--color-dark) !important;
} }


button#notes, .action {
margin: 1rem 2rem;
.arrow-back {
position: fixed;
left: 0;
margin: 0.5rem;
}

.action {
margin: 1.5rem 3rem;
z-index: 999; z-index: 999;
position: fixed; position: fixed;
top: 0; top: 0;
border: none; border: none;
} }


button#notes:hover {
.action button:hover {
color: var(--color-dark) !important;
}


#random-img-page .action button:hover {
color: var(--color-whitish) !important;
}

button#notes, button#notes-operations{
position: fixed;
top: 0;
right:0;
margin: 0.25rem 0.75rem;
color: var(--color-whitish) !important;
background: var(--color-pink) !important;
border: 0.1rem solid var(--color-pink) !important;
border-radius: 5rem 3rem;
height: 2rem;
width: 2rem;
line-height: 0.1rem;
}

button#notes:hover, button#notes-operations:hover {
color: var(--color-dark) !important; color: var(--color-dark) !important;
} }


font-size: var(--body-fontsize-s); font-size: var(--body-fontsize-s);
margin: 0.5rem 1rem; margin: 0.5rem 1rem;
} }
.operations {
font-size: var(--body-fontsize-s);
}


.w-6 { .w-6 {
max-width: 75%; max-width: 75%;


@media screen and (min-width:0px) and (max-width: 768px) { @media screen and (min-width:0px) and (max-width: 768px) {


/* overwrite */
.p-5 {
padding: 0.5rem !important;
}


/* INDEX SEARCH */ /* INDEX SEARCH */


input#inputsearch { input#inputsearch {
width: 250px;; width: 250px;;
} }


/* RANDOM TITLES */

.action button {
font-size: 1rem;
}

/* RANDOM IMAGES */ /* RANDOM IMAGES */
#random-img-page .img-fluid:hover { #random-img-page .img-fluid:hover {
transform: none; transform: none;

+ 10
- 4
web/app/templates/abstracts.html View File



<div class="action"> <div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button> <button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<span class="info" style="display: none;">
<span class="operations">↝ add a random title from dataset;</span>
</span>
<button id="notes-operations" onclick="hideShowInfo()">?</button>
</div> </div>


<div id="rdn-abstracts"> <div id="rdn-abstracts">
<div class="row"> <div class="row">
<div class="col m-5"> <div class="col m-5">
<p class="h1 text-center">Reading Fragments</p>
<!-- The following total reading time is based on the calculation of approx. 43,647,513 words in all the documents divided by 200 as the average reading speed of 200 wpm -->
<p class="mt-2 text-center">a <span id="time"></span> minute read out of 218238 minutes reading time</p>
<a href="{{ url_for('main.index') }}" class="h1 text-left"> ⇽ </a>
<p class="h1 text-center">a Handful of Fragments</p>
<span class="info mt-2 text-center" style="display: none;">
<!-- The following total reading time is based on the calculation of approx. 43,647,513 words in all the documents divided by 200 as the average reading speed of 200 wpm -->
<p class="operations">↪ a <span id="time"></span> minute read out of 218238 minutes reading time</p>
</span>
<a href="{{ url_for('main.index') }}" class="arrow-back h1 text-left" title="back to index"> ⇽ </a>
</div> </div>
</div> </div>



+ 7
- 4
web/app/templates/compare.html View File



<div class="action"> <div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button> <button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<span class="info" style="display: none;">
<span class="operations">↝ new display of random records from the dataset;</span>
</span>
<button id="notes-operations" onclick="hideShowInfo()">?</button>
<a href="{{ url_for('main.index') }}" class="arrow-back h1 text-left" title="back to index"> ⇽ </a>
</div> </div>


<a href="{{ url_for('main.index') }}" class="h1 text-left"> ⇽ </a>

<div class="compare mt-5"> <div class="compare mt-5">


{% for result in results %} {% for result in results %}
<div class="mt-5 text-center skewY"> <div class="mt-5 text-center skewY">


{% if result['title'] is defined %} {% if result['title'] is defined %}
<p class="h1 mb-2">
<h1 class="h1 mt-4 mb-2">
Title: Title:
{{ result['title'] }} {{ result['title'] }}
</p>
</h1>
{% endif %} {% endif %}


{% if result['year'] is defined %} {% if result['year'] is defined %}

+ 27
- 3
web/app/templates/data.html View File



{% block content %} {% block content %}


<a href="{{ url_for('main.index') }}" class="h1 text-left"> ⇽ </a>
<a href="{{ url_for('main.index') }}" class="h1 text-left" title="back to index"> ⇽ </a>


There are a total of {{ total_number }} patents.
<h1 class="h1 text-center"> There are a total of {{ total_number }} patents.</h1>

<div class="anchordata">
<a href="#time">temporal focus</a>
<br>
<a href="#geo">geographic focus</a>
</div>


<br><br> <br><br>


</div> </div>
</div> </div>


<div id="time">
<canvas id="chartOfYearFrequency" width="600" height="300"></canvas> <canvas id="chartOfYearFrequency" width="600" height="300"></canvas>
</div>

<div id="geo">
<canvas id="chartOfCountryFrequency" width="600" height="300"></canvas> <canvas id="chartOfCountryFrequency" width="600" height="300"></canvas>
</div>


<script type="text/javascript"> <script type="text/javascript">
// retrieve variables passed from Python // retrieve variables passed from Python
display: true, display: true,
text: 'number of patent records for each year' text: 'number of patent records for each year'
}, },
animation: {
onComplete: () => {
delayed = true;
},
delay: (context) => {
let delay = 0;
if (context.type === 'data' && context.mode === 'default' && !delayed) {
delay = context.dataIndex * 1000 + context.datasetIndex * 100;
}
return delay;
},
},
}, },
responsive: true, responsive: true,
scales: { scales: {
} }
} }
}; };
Chart.defaults.font.family = 'Compagnon' Chart.defaults.font.family = 'Compagnon'
var yearGraph = new Chart( var yearGraph = new Chart(
document.getElementById('chartOfYearFrequency'), document.getElementById('chartOfYearFrequency'),
config config
); );

</script> </script>


<script type="text/javascript"> <script type="text/javascript">

+ 17
- 7
web/app/templates/images.html View File



{% block content %} {% block content %}


<div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<!--<button onclick="" title="add one">+</button>-->
<button onclick="removeRandomImage()" title="remove">-</button>
</div>
<div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<span class="info" style="display: none;">
<span class="operations">↝ new display of random images from dataset;</span>
</span>
<button onclick="" title="add one">+</button>
<span class="info" style="display: none;">
<span class="operations">↝ add a random image from dataset;</span>
</span>
<button onclick="removeRandomImage()" title="remove one">-</button>
<span class="info" style="display: none;">
<span class="operations">↝ remove a random image from page;</span>
</span>
<button id="notes-operations" onclick="hideShowInfo()">?</button>
<a href="{{ url_for('main.index') }}" class="arrow-back h1 text-left contrast" style="color: var(--color-lightyellow) !important;" title="back to index"> ⇽ </a>
</div>


<a href="{{ url_for('main.index') }}" class="h1 text-left contrast" style="color: var(--color-lightyellow) !important;"> ⇽ </a>


<div class="row"> <div class="row">
<div class="col m-5"> <div class="col m-5">
<p class="h1 text-center contrast">Layering of Images</p>
<p class="h1 text-center contrast">a Scattering of Images</p>
</div> </div>
</div> </div>



+ 12
- 11
web/app/templates/index.html View File

{% block content %} {% block content %}


<div class="action"> <div class="action">
<button id="notes" onclick="hideShowInfo()">ⓘ</button>
<button id="notes" onclick="hideShowInfo()">?</button>
<!-- 👁 ⓘ ⅈ ✍ ⁐ -->
</div> </div>


<div class="index-row button-search random-interferences"> <div class="index-row button-search random-interferences">
</div> </div>


<div class="info note-interference" style="display: none;"> <div class="info note-interference" style="display: none;">
<p class="code"> // Interferences: Search interferences perform data otherwise. They disrupt ordering and invite unexpected readings.</p>
<p class="code"> Interferences: Search interferences perform data otherwise. They disrupt ordering and invite unexpected readings.</p>
</div> </div>


<div class="index-row"> <div class="index-row">


<div class="info" style="display: none;"> <div class="info" style="display: none;">
<p class="code"> <p class="code">
// Main search engine sorting code:
Main search engine sorting code:
solrurl = 'http://' + solr_hostname + ':' + solr_port + '/solr/' + core + '/select?q.op=OR&q=content%3A' + urllib.parse.quote_plus(search) + '&wt=json&sort=' + sort; request = requests.get(solrurl); json = request.json() solrurl = 'http://' + solr_hostname + ':' + solr_port + '/solr/' + core + '/select?q.op=OR&q=content%3A' + urllib.parse.quote_plus(search) + '&wt=json&sort=' + sort; request = requests.get(solrurl); json = request.json()
</p> </p>
</div> </div>
</div> </div>


<div class="col text-center p-2"> <div class="col text-center p-2">
<!-- timeline of search term -->
<a href="{{ url_for('random.two_random_records') }}">a timeline of inventions</a>
<!-- data page -->
<a href="{{ url_for('data.main_data') }}">mapping the archive</a>
</div> </div>
</div> </div>


<div class="index-row justify-content-center mt-5"> <div class="index-row justify-content-center mt-5">
<div class="col text-center button-search button-hidden-off p-2"> <div class="col text-center button-search button-hidden-off p-2">
<a href="">Hidden in plain sight</a>
<a href="">hidden in plain sight</a>


<div class="info" style="display: none;"> <div class="info" style="display: none;">
<p class="code">// Searching for a history of women’s clothing inventors, that is in the archive, but hidden in plain sight.... </p>
<p class="code"> Searching for a history of women’s clothing inventors, that is in the archive, but hidden in plain sight.... </p>
</div> </div>
</div> </div>


<div class="col text-center button-search button-hidden-off p-2"> <div class="col text-center button-search button-hidden-off p-2">
<a href="{{ url_for('main.contents') }}">Search as a book</a>
<a href="{{ url_for('main.contents') }}">search as a book</a>


<div class="info" style="display: none;"> <div class="info" style="display: none;">
<p class="code">// Find here a table of contents for this digital archive... </p>
<p class="code"> Find here a table of contents for this digital archive... </p>
</div> </div>
</div> </div>




<div class="col text-center button-search button-hidden-off p-2"> <div class="col text-center button-search button-hidden-off p-2">
<a href="">Off the record</a>
<a href="">off the record</a>


<div class="info" style="display: none;"> <div class="info" style="display: none;">
<p class="code">// Some things are all over the patent archive but never made explicit. Off the record presents three artistic works that render these absent-present realities visible... </p>
<p class="code"> Some things are all over the patent archive but never made explicit. Off the record presents three artistic works that render these absent-present realities visible... </p>
</div> </div>
</div> </div>
</div> </div>

+ 7
- 4
web/app/templates/record.html View File



<div class="action"> <div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button> <button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<span class="info" style="display: none;">
<span class="operations">↝ new display of a random record from the dataset;</span>
</span>
<button id="notes-operations" onclick="hideShowInfo()">?</button>
<a href="{{ url_for('main.index') }}" class="arrow-back h1 text-left" title="back to index"> ⇽ </a>
</div> </div>


<a href="{{ url_for('main.index') }}" class="h1 text-left"> ⇽ </a>

{% for result in results %} {% for result in results %}
<div class="col text-center mt-2" id="result"> <div class="col text-center mt-2" id="result">


{% if result['title'] is defined %} {% if result['title'] is defined %}
<p class="h1 mb-2">
<h1 class="h1 mt-5 mb-2 p-5">
Title: Title:
{{ result['title'] }} {{ result['title'] }}
</p>
</h1>
{% endif %} {% endif %}


{% if result['year'] is defined %} {% if result['year'] is defined %}

+ 11
- 1
web/app/templates/titles.html View File



<div class="action"> <div class="action">
<button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button> <button onClick="refresh(this)" type="button" value="Refresh" title="new iteration">↻</button>
<span class="info" style="display: none;">
<span class="operations">↝ new display of random titles from dataset;</span>
</span>
<button onclick="addRandomTitle()" title="add one">+</button> <button onclick="addRandomTitle()" title="add one">+</button>
<span class="info" style="display: none;">
<span class="operations">↝ add a random title from dataset;</span>
</span>
<button onclick="removeRandomTitle()" title="remove one">-</button> <button onclick="removeRandomTitle()" title="remove one">-</button>
<span class="info" style="display: none;">
<span class="operations">↝ remove a random title from page;</span>
</span>
<button id="notes-operations" onclick="hideShowInfo()">?</button>
<a href="{{ url_for('main.index') }}" class="arrow-back h1 text-left" title="back to index"> ⇽ </a>
</div> </div>


<div class="row"> <div class="row">
<div class="col m-5"> <div class="col m-5">
<a href="{{ url_for('main.index') }}" class="h1 text-left"> ⇽ </a>
<p class="h1 text-center">Poetics of Titles</p> <p class="h1 text-center">Poetics of Titles</p>
</div> </div>
</div> </div>

+ 40
- 9
web/content/TOC.md View File

# Table of Contents
<div class="action">
<button id="notes-operations" onclick="hideShowInfo()">?</button>
<a href="/" class="arrow-back h1 text-left" title="back to index"> ⇽ </a>
</div>


This website is the home of “Performing Patterns Otherwise.” It is an archive, a website and an experimental electronic book that binds search, archive and writing in one publication. The landing page navigates the publication according to the conventions of a search engine, foregrounding search. The table of content offers a way of navigating that foregrounds texts, which is more in line with the conventions of book making. The table of content reveals a logic of zooming in, from the general search to more specific configurations of the relationships between search, content, ordering and sense-making.
<h1 class="mt-5"> Table of Content</h1>
<span class="info" style="display: none;">
<span class="code">↪ This website is the home of “Performing Patterns Otherwise.” It is an archive, a website and an experimental electronic book that binds search, archive and writing in one publication. The landing page navigates the publication according to the conventions of a search engine, foregrounding search. The table of content offers a way of navigating that foregrounds texts, which is more in line with the conventions of book making. The table of content reveals a logic of zooming in, from the general search to more specific configurations of the relationships between search, content, ordering and sense-making.</span>
</span>


[Frontmatter](link "frontmatter")
<br/>

### Frontmatter
<span class="info" style="display: none;">
<span class="code">↪ add intro text to frontmatter here...</span>
</span>


- [Publisher: Mattering Press](frontmatter/#publisher "links to frontmatter section publisher") - [Publisher: Mattering Press](frontmatter/#publisher "links to frontmatter section publisher")
- [Copyright](frontmatter/#copyright "links to frontmatter section copyright") - [Copyright](frontmatter/#copyright "links to frontmatter section copyright")
- [Partners](frontmatter/#partner "links to frontmatter section partners") - [Partners](frontmatter/#partner "links to frontmatter section partners")
- [Contributors](frontmatter/#contributor "links to frontmatter section contributors") - [Contributors](frontmatter/#contributor "links to frontmatter section contributors")


[Foreword](foreword "links to foreword")
### Foreword
<span class="info" style="display: none;">
<span class="code">↪ add intro text to foreword here...</span>
</span>

### Section 1: Searching the archive
<span class="info" style="display: none;">
<span class="code">↪ Main search via keywords...</span>
</span>


[Section 1: Searching the archive](index.html "links to landingpage")
### Section 2: Search Interventions
<span class="info" style="display: none;">
<span class="code">↪ Interventions are a mode of search, they disrupt ordering and invite unexpected readings....</span>
</span>


[Section 2: Search Interventions](interventions "links to interventions page")
- [A poetics of titles](interventions/#titles "links to interventions section poetics of titles") - [A poetics of titles](interventions/#titles "links to interventions section poetics of titles")
- [A handful of fragments](interventions/#fragments "links to interventions section handful of fragments") - [A handful of fragments](interventions/#fragments "links to interventions section handful of fragments")
- [A scattering of images](interventions/#scattering "links to interventions section scattering of images") - [A scattering of images](interventions/#scattering "links to interventions section scattering of images")
- [A timeline of inverntions](interventions/#timeline "links to interventions section timeline of inverntions) - [A timeline of inverntions](interventions/#timeline "links to interventions section timeline of inverntions)




[Section 3: Hidden in plain sight](hidden "links to hidden page")
### Section 3: Hidden in plain sight
<span class="info" style="display: none;">
<span class="code">↪ Searching for a history of women’s clothing inventors, that is in the archive, but hidden in plain sight....</span>
</span>

- [Expanding citizens](hidden/#expanding "links to hidden section expanding citizens") - [Expanding citizens](hidden/#expanding "links to hidden section expanding citizens")
- [Secret citizens](hidden/#secret "links to hidden section secret") - [Secret citizens](hidden/#secret "links to hidden section secret")
- [Pissing & leaking citizens](hidden/#pissing "links to hidden section pissing & leaking citizens") - [Pissing & leaking citizens](hidden/#pissing "links to hidden section pissing & leaking citizens")
- [Self-defending citizens](hidden/#self-defending "links to hidden section self-defending citizens") - [Self-defending citizens](hidden/#self-defending "links to hidden section self-defending citizens")
- [Surviving citizens](hidden/#surviving "links to hidden section surviving citizens") - [Surviving citizens](hidden/#surviving "links to hidden section surviving citizens")


[Section 4: Off the record](offrecord "links to off the record page")
### Section 4: Off the record
<span class="info" style="display: none;">
<span class="code">↪ Some things are all over the patent archive but never made explicit. Off the record presents three artistic works that render these absent-present realities visible...</span>
</span>


- [Sewing labour](offrecord/#sewinglabour "links to off section sewing labour") - [Sewing labour](offrecord/#sewinglabour "links to off section sewing labour")
- [Performing gender](offrecord/#performinggender "links to off section performing gender") - [Performing gender](offrecord/#performinggender "links to off section performing gender")
- [Colonial traces](offrecord/#colonialtraces "links to off section colonial traces") - [Colonial traces](offrecord/#colonialtraces "links to off section colonial traces")


[Section 5: Making of](making "links to off the making of page")
### Section 5: Making of
<span class="info" style="display: none;">
<span class="code">↪ A series of essays from the makers on the research, methods, tools developed...</span>
</span>


- [On making search-engine book](making/#search-engine-book "links to making section making search-engine book") - [On making search-engine book](making/#search-engine-book "links to making section making search-engine book")
- [On interface design](making/#interface "links to making section interface design") - [On interface design](making/#interface "links to making section interface design")

Loading…
Cancel
Save