Started categories on Algoliterary Works and activities.

master
Gijs 3 years ago
parent 42637bde32
commit 5ae5bc511e

@ -0,0 +1,4 @@
Title: seminar
Date: 17-10-2021
Test description for the seminar.

@ -0,0 +1,16 @@
title: Levenshtein Distance
algorithm: Levenshtein Distance
trees: eucaliptus + found species in Spanish on the internet
humans: Julio Cortázar
Gijs de Heij
An Mertens
language: Spanish
English
published: 2021
license: <a href="https://gitlab.constantvzw.org/unbound/cc4r">Collective Conditions for (re-)use (CC4r), June 2021</a>
repository: https://gitlab.constantvzw.org/anais_berck/levenshtein-distance-lee-a-cortazar
publication_url: http://anaisberck.tabakalera.eus/
support: This book is a creation for <a href="https://www.tabakalera.eus/es/agora-cemento-codigo">ÁGORA / CEMENT / CÓDIGO</a>, an online exhibition curated by <a href="https://www.tabakalera.eus/es/lekutan">Lekutan</a>, within the programme of Komisario Berriak supported by <a href="https://www.tabakalera.eus">Tabakalera</a> in Donostia/San Sebastián, Spain.
thanks: Andrea Estankona, Jaime Munárriz, Esther Berdión
The author of this book is the Levenhstein Distance algorithm, the subject is the eucalyptus tree in "Fama y eucalipto", an excerpt from Historias de Cronopios y de Famas by <a href="https://en.wikipedia.org/wiki/Julio_Cort%C3%A1zar">Julio Cortázar</a>, published in 1962 by Editorial Minotauro. <a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a>, edit distance or word distance is an algorithm that operates in spell checkers. It is the minimum number of operations required to transform one word into another. An operation can be an insertion, deletion or substitution of a character. The algorithm was an invention of Russian scientist Vladimir Levenshtein in 1965.

@ -0,0 +1,22 @@
title: Paseo por arboles de madrid
algorithm: Markov Chain
trees: collection of trees in the neighbourhood of Barrio de Las Letras in Madrid, retrieved from <a href="http://www-2.munimadrid.es/DGPVE_WUAUA/welcome.do">Un Alcorque, un Arbol</a>
humans: Emilia Pardo Bazán
Benito Pérez Gáldos
Jaime Munárriz
Luis Morell
An Mertens
Eva Marina Gracia
Gijs de Heij
Ana Isabel Garrido Mártinez
Alfredo Calosci
Daniel Arribas Hedo
language: Spanish
English
published: In development
license: <a href="https://gitlab.constantvzw.org/unbound/cc4r">Collective Conditions for (re-)use (CC4r), June 2021</a>
publication_url: http://paseo-por-arboles.algoliterarypublishing.net
repository: https://gitlab.constantvzw.org/anais_berck/paseo-por-arboles-de-madrid</a>
support: This book was created as part of the residency of Anaïs Berck in <a href="https://www.medialab-prado.es/en/announcements/anais-berck-algoliterary-publishing-house">Medialab Prado</a> in Madrid, granted by the Government of Flanders as part of their 'Residency Digital Culture' program. The creation happened in company of collaborators of Medialab Prado, who assisted to various workshops.
In this book, the Markov Chain algorithm simultaneously generates a poem and a walk along trees in the neighbourhood Las Letras in the centre of Madrid. Despite the impression that there are few trees in the neighbourhood, the algorithm counts 460 of them. Markov Chain was designed in 1906 by Andrey Markov, a Russian mathematician who died in 1992. This algorithm is at the basis of many softwares that generate spam. It is used for systems that describe a series of events that are interdependent. What happens depends only on the previous step. That is why Markov Chains are also called "memoryless".

@ -1,4 +1,5 @@
title: activities title: Activities
status: hidden save_as: activities.html
template: activities
--- Activities organized by the publishing house

@ -1,9 +1,13 @@
title: An Algoliterary Publishing House title: An Algoliterary Publishing House
slug: home slug: home
status: hidden status: hidden
save_as: index.html
template: home
This project by [Anaïs Berck](https://www.anaisberck.be/) proposes to explore the notion of a publishing house in which the authors are algorithms, presented with their contexts and codes; and in which the content of the books seeds with trees and nature. This project by [Anaïs Berck](https://www.anaisberck.be/) proposes to explore the notion of a publishing house in which the authors are algorithms, presented with their contexts and codes; and in which the content of the books seeds with trees and nature.
By putting the tree and its representations at the center of their works, and by welcoming algorithms not at the service of extracting resources or value towards a commercial objective, but for making kin with nature, these intelligences create narratives which speak about trees and also challenge colonial views of classification, methods of standardization, and might speak critically about the effects of dominant cultures. While doing so, they put trees at the center of the creation, and therefore decenter the perspective of the human being. By putting the tree and its representations at the center of their works, and by welcoming algorithms not at the service of extracting resources or value towards a commercial objective, but for making kin with nature, these intelligences create narratives which speak about trees and also challenge colonial views of classification, methods of standardization, and might speak critically about the effects of dominant cultures. While doing so, they put trees at the center of the creation, and therefore decenter the perspective of the human being.
The project looks into formal narratives generated by algorithms, question the form of the book as an object and authorial product, explore the concept of a decolonial publishing house and experiment with the influence of forest baths on the writing of code and the communication with trees. The project looks into formal narratives generated by algorithms, question the form of the book as an object and authorial product, explore the concept of a decolonial publishing house and experiment with the influence of forest baths on the writing of code and the communication with trees.
**[Read more →]({filename}/pages/about.md)**

@ -1,6 +1,5 @@
title: Reader title: Reader
---
The following authors and texts are inspiring sources to think about consentful infrastrcutures for algoliterary publishing with more-than-human agents. The following authors and texts are inspiring sources to think about consentful infrastrcutures for algoliterary publishing with more-than-human agents.
[Download all texts]({static}/pdfs/all_texts.pdf) [Download all texts]({static}/pdfs/all_texts.pdf)

@ -1,114 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>An Algoliterary Publishing House</title>
<link rel="stylesheet" media="all" href="static/styles/reset.css" />
<link rel="stylesheet" media="all" href="static/styles/styles.css" />
</head>
<body>
<main>
<h1>An Algoliterary Publishing&nbsp;House</h1>
<p>This project by <a href="https://www.anaisberck.be/">Anaïs Berck</a> proposes to explore the notion of a publishing house in which the authors are algorithms, presented with their contexts and codes; and in which the content of the books seeds with trees and nature.</p>
<p>By putting the tree and its representations at the center of their works, and by welcoming algorithms not at the service of extracting resources or value towards a commercial objective, but for making kin with nature, these intelligences create narratives which speak about trees and also challenge colonial views of classification, methods of standardization, and might speak critically about the effects of dominant cultures. While doing so, they put trees at the center of the creation, and therefore decenter the perspective of the human being.</p>
<p>The project looks into formal narratives generated by algorithms, question the form of the book as an object and authorial product, explore the concept of a decolonial publishing house and experiment with the influence of forest baths on the writing of code and the communication with trees.</p>
<p><a href="about.html"><strong>Read more →</strong></a></p>
</main>
<aside>
<details>
<summary>
<h2>Levenshtein Distance</h2>
<dl>
<dt>Algorithm</dt>
<dd>Levenshtein Distance</dd>
<dt>Trees</dt>
<dd>eucaliptus + found species in Spanish on the internet</dd>
<dt>Humans</dt>
<dd>Julio Cortázar, Gijs de Heij, An Mertens</dd>
<dt>Language</dt>
<dd>Spanish</dd>
<dt>Published</dt>
<dd>2021</dd>
<dt>License</dt>
<dd><a href="https://gitlab.constantvzw.org/unbound/cc4r">Collective Conditions for (re-)use (CC4r), June 2021</a></dd>
<dt></dt>
<dd class="read-online-link"><a href="http://anaisberck.tabakalera.eus/">Read the book online ⤤</a></dd>
</dl>
</summary>
<p>'The author of this book is the Levenhstein Distance algorithm, the subject is the eucalyptus tree in "Fama y eucalipto", an excerpt from Historias de Cronopios y de Famas by <a href="https://en.wikipedia.org/wiki/Julio_Cort%C3%A1zar">Julio Cortázar</a>, published in 1962 by Editorial Minotauro. <a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a>, edit distance or word distance is an algorithm that operates in spell checkers. It is the minimum number of operations required to transform one word into another. An operation can be an insertion, deletion or substitution of a character. The algorithm was an invention of Russian scientist Vladimir Levenshtein in 1965.</p>
<dl>
<dt>URL</dt>
<dd><a href="http://anaisberck.tabakalera.eus/">http://anaisberck.tabakalera.eus/</a></dd>
<dt>Repository</dt>
<dd><a href="https://gitlab.constantvzw.org/anais_berck/levenshtein-distance-lee-a-cortazar">https://gitlab.constantvzw.org/&ZeroWidthSpace;anais_berck/&ZeroWidthSpace;levenshtein-distance-lee-a-cortazar</a></dd>
<dt>With the support of</dt>
<dd>This book is a creation for <a href="https://www.tabakalera.eus/es/agora-cemento-codigo">ÁGORA / CEMENT / CÓDIGO</a>, an online exhibition curated by <a href="https://www.tabakalera.eus/es/lekutan">Lekutan</a>, within the programme of Komisario Berriak supported by <a href="https://www.tabakalera.eus">Tabakalera</a> in Donostia/San Sebastián, Spain.</dd>
<dt>Thanks to</dt>
<dd>Andrea Estankona, Jaime Munárriz, Esther Berdión</dd>
</dl>
</details>
<details>
<summary>
<h2>Paseo por arboles de madrid</h2>
<dl>
<dt>Algorithm</dt>
<dd>Markov Chain</dd>
<dt>Trees</dt>
<dd>collection of trees in the neighbourhood of Barrio de Las Letras in Madrid, retrieved from <a href="http://www-2.munimadrid.es/DGPVE_WUAUA/welcome.do">Un Alcorque, un Arbol</a></dd>
<dt>Humans</dt>
<dd>Emilia Pardo Bazán, Benito Pérez Gáldos, Jaime Munárriz, Luis Morell, An Mertens, Eva Marina Gracia, Gijs de Heij, Ana Isabel Garrido Mártinez, Alfredo Calosci, Daniel Arribas Hedo</dd>
<dt>Language</dt>
<dd>Spanish</dd>
<dt>Published</dt>
<dd>In development</dd>
<dt>License</dt>
<dd><a href="https://gitlab.constantvzw.org/unbound/cc4r">Collective Conditions for (re-)use (CC4r), June 2021</a></dd>
<dt></dt>
<dd class="read-online-link"><a href="http://paseo-por-arboles.algoliterarypublishing.net/">Read the book online ⤤</a></dd>
</dl>
</summary>
<p>In this book, the Markov Chain algorithm simultaneously generates a poem and a walk along trees in the neighbourhood Las Letras in the centre of Madrid. Despite the impression that there are few trees in the neighbourhood, the algorithm counts 460 of them. Markov Chain was designed in 1906 by Andrey Markov, a Russian mathematician who died in 1992. This algorithm is at the basis of many softwares that generate spam. It is used for systems that describe a series of events that are interdependent. What happens depends only on the previous step. That is why Markov Chains are also called "memoryless".</p>
<dl>
<dt>URL</dt>
<dd><a href="http://paseo-por-arboles.algoliterarypublishing.net/">paseo-por-arboles.algoliterarypublishing.net</a></dd>
<dt>Repository</dt>
<dd><a href="https://gitlab.constantvzw.org/anais_berck/paseo-por-arboles-de-madrid">https://gitlab.constantvzw.org/&ZeroWidthSpace;anais_berck/&ZeroWidthSpace;paseo-por-arboles-de-madrid</a></dd>
<dt>With the support of</dt>
<dd>This book was created as part of the residency of Anaïs Berck in <a href="https://www.medialab-prado.es/en/announcements/anais-berck-algoliterary-publishing-house">Medialab Prado</a> in Madrid, granted by the Government of Flanders as part of their 'Residency Digital Culture' program. The creation happened in company of collaborators of Medialab Prado, who assisted to various workshops.</dd>
</dl>
</details>
<details>
<summary>
<h2>Grafted trees</h2>
<dl>
<dt>Algorithm</dt>
<dd>Oulipo constraint 'Littérature définitionnelle'</dd>
<dt>Trees</dt>
<dd>collection of quotes about trees taken from <a href="https://onetreeplanted.org/blogs/stories/inspirational-quotes-about-trees">onetreeplanted.org</a></dd>
<dt>Humans</dt>
<dd>Marcel Bénabou, Gijs de Heij, An Mertens and all the gardeners</dd>
<dt>Language</dt>
<dd>Spanish</dd>
<dt>Published</dt>
<dd>In development</dd>
<dt>License</dt>
<dd><a href="https://gitlab.constantvzw.org/unbound/cc4r">Collective Conditions for (re-)use (CC4r), June 2021</a></dd>
<dt></dt>
<dd class="read-online-link"><a href="http://grafted-trees.algoliterarypublishing.net/">Read the book online ⤤</a></dd>
</dl>
</summary>
<p>'Grafted trees' takes quotes about trees from existing works. Each graft is defined by its gardener, who is present with a short biography scraped from Wikipedia. The reader chooses the amount of seasons the graft will grow. A random noun is picked and defined as a 'bud' from which a new branch grows by replacing the word by its definition. The algorithm is inspired by Oulipo's constraint of 'Littérature définitionnelle', invented by <a href="https://en.wikipedia.org/wiki/Marcel_B%C3%A9nabou">Marcel Bénabou</a> in 1966: in a given phrase, one replaces every significant element (noun, adjective, verb, adverb) by one of its definitions in a given dictionary; one reiterates the operation on the newly received phrase, and again. </p>
<dl>
<dt>URL</dt>
<dd><a href="http://grafted-trees.algoliterarypublishing.net/">grafted-trees.algoliterarypublishing.net</a></dd>
<dt>Repository</dt>
<dd><a href="https://gitlab.constantvzw.org/anais_berck/grafting_trees">https://gitlab.constantvzw.org/&ZeroWidthSpace;anais_berck/&ZeroWidthSpace;grafting_trees</a></dd>
<dt>With the support of</dt>
<dd>This book was first shown as an installation in the exhibition <a href="https://algolit.net/index.php?title=Data_Workers">Data Workers</a> in <a href="http://www.mundaneum.org/en">Mundaneum</a>, financed by Communauté Wallonie-Bruxelles/Arts Numériques; it was then published by Andreas Bülhoff as a pdf as part of the online magazine about digital literature <a href="https://sync.abue.io/">sync (nr 37)</a>. The French version of the installation was part of the exhibition 'Littérature et Numérique' in <a href="https://www.lamaisondulivre.be/">La Maison du Livre</a> in Brussels.</dd>
</dl>
</details>
</aside>
</body>
</html>

@ -33,4 +33,18 @@ DEFAULT_PAGINATION = False
# Uncomment following line if you want document-relative URLs when developing # Uncomment following line if you want document-relative URLs when developing
#RELATIVE_URLS = True #RELATIVE_URLS = True
THEME = 'theme' THEME = 'theme'
DEFAULT_DATE = 'fs'
DIRECT_TEMPLATES = ['index']
import sys, os.path
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from algoliterary_filters import display_if_set, get_category_articles
JINJA_FILTERS = {
'get_category_articles': get_category_articles,
'display_if_set': display_if_set
}

@ -0,0 +1,26 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }}{%endblock%}
{% block bodyclass %}home{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
{{ page.content }}
<p><a href="{{ SITEURL }}/"><strong>← Back</strong></a></p>
{% endblock %}
{% block sidebar %}
{% for activity in categories|get_category_articles('activities') %}
<details>
<summary>
<h2>{{ activity.title }}</h2>
<dl>
{{ activity.date|display_if_set('date')}}
{{ activity.location|display_if_set('Location')}}
</dl>
</summary>
{{ activity.content }}
</details>
{% endfor %}
{% endblock %}

@ -29,6 +29,7 @@
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" /> <link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
{% endif %} {% endif %}
{% endblock head %} {% endblock head %}
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/styles/reset.css" />
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/styles/styles.css" /> <link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/styles/styles.css" />
</head> </head>

@ -0,0 +1,37 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }}{%endblock%}
{% block bodyclass %}home{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
{{ page.content }}
{% endblock %}
{% block sidebar %}
{% for article in categories|get_category_articles('algoliterary-works') %}
<details>
<summary>
<h2>{{ article.title }}</h2>
<dl>
{{ article.algorithm|display_if_set('Algorithm')}}
{{ article.trees|display_if_set('Trees')}}
{{ article.humans|display_if_set('Humans')}}
{{ article.language|display_if_set('Language')}}
{{ article.published|display_if_set('Published')}}
{{ article.license|display_if_set('License')}}
<dt></dt>
<dd class="read-online-link"><a href="{{ article.publication_url }}">Read the book online ⤤</a></dd>
</dl>
</summary>
{{ article.content }}
<dl>
{{ article.publication_url|display_if_set('URL')}}
{{ article.repository|display_if_set('Repository')}}
{{ article.support|display_if_set('With the support of')}}
{{ article.thanks|display_if_set('Thanks to')}}
</dl>
</details>
{% endfor %}
{% endblock %}

@ -13,6 +13,38 @@
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% for article in categories|get_category_articles('algoliterary-works') %}
<details>
<summary>
<h2>{{ article.title }}</h2>
<dl>
<dt>Algorithm</dt>
<dd>{{ article.algorithm }}</dd>
<dt>Trees</dt>
<dd>{{ article.trees }}</dd>
<dt>Humans</dt>
<dd>{{ article.humans|join(', ') }}</dd>
<dt>Language</dt>
<dd>{{ article.language }}</dd>
<dt>Published</dt>
<dd>{{ article.published }}</dd>
<dt>License</dt>
<dd>{{ article.license }}</dd>
<dt></dt>
<dd class="read-online-link"><a href="{{ article.publication_url }}">Read the book online ⤤</a></dd>
</dl>
</summary>
{{ article.content }}
<dl>
<dt>URL</dt>
<dd><a href="{{ article.publication_url }}">{{ article.publication_url }}</a></dd>
<dt>Repository</dt>
<dd><a href="{{ article.repository }}">{{ article.repository }}</a></dd>
<dt>With the support of</dt>
<dd>{{ article.support }}</dd>
</dl>
</details>
{% endfor %}
<details> <details>
<summary> <summary>
<h2>Levenshtein Distance</h2> <h2>Levenshtein Distance</h2>

@ -1,93 +0,0 @@
Copyright (c) 2012-2013, The Mozilla Corporation and Telefonica S.A.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

@ -1,48 +0,0 @@
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

@ -1,243 +0,0 @@
@font-face {
font-family: "Fira mono";
src: url("../fonts/fira-mono/FiraMono-Regular.ttf") format("truetype");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: "Fira mono";
src: url("../fonts/fira-mono/FiraMono-Medium.ttf") format("truetype");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "Fira mono";
src: url("../fonts/fira-mono/FiraMono-Bold.ttf") format("truetype");
font-weight: 600;
font-style: bold;
}
:root {
--line-height: 16pt;
--font-size: 11pt;
}
html, body {
font-family: "Fira mono";
font-size: var(--font-size);
line-height: var(--line-height);
}
body {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr;
height: 100vh;
box-sizing: border-box;
}
h1, h2 {
display: block;
letter-spacing: 0.25em;
font-weight: 500;
}
h1 {
margin-bottom: var(--line-height);
}
h2 {
letter-spacing: .05em;
text-decoration: underline;
cursor: pointer;
}
p {
max-width: 80ch;
margin-bottom: var(--line-height);
}
main {
grid-column: 1;
padding: var(--line-height) calc(3 * var(--line-height)) var(--line-height) var(--line-height);
overflow-y: auto;
}
main {
border-right: 1px solid black;
}
aside {
grid-column: 2;
overflow-y: auto;
}
summary {
padding: calc(.5 * var(--line-height)) 0;
list-style: none;
border: none;
outline: none;
}
.read-online-link {
letter-spacing: .1em;
}
dd.read-online-link {
margin-top: calc(var(--line-height) * .425);
}
dd.read-online-link a {
text-decoration-style: solid;
}
details > summary::-webkit-details-marker {
display: none;
}
details {
border-bottom: 1px solid black;
padding: calc(.5 * var(--line-height)) calc(2.5 * var(--line-height)) calc(.5 * var(--line-height)) var(--line-height);
}
details[open] {
padding-bottom: calc(2.5 * var(--line-height));
}
details[open] > summary {
margin-bottom: calc(var(--line-height) * .5);
}
details + details {
margin-top: -1px;
}
a {
color: currentColor;
}
a:hover {
text-decoration: none;
}
dl {
margin: var(--line-height) 0 0 0;
display: grid;
grid-template-columns: 15ch 1fr;
max-width: 80ch;
font-size: 85%;
}
dl a {
text-decoration-style: dotted;
}
summary dl {
margin-top: calc(var(--line-height) * .425);
}
strong {
font-weight: 500;
}
@media screen and (min-width: 601px) {
summary::after {
content: "Show details ↓";
font-size: 85%;
margin-top: calc(var(--line-height) * .425);
display: block;
cursor: pointer;
margin-left: 15ch;
}
[open] > summary::after {
content: "Hide details ↑";
}
}
@media screen and (max-width: 600px) {
body {
display: block;
padding: var(--line-height) calc(2 * var(--line-height)) var(--line-height) var(--line-height);
height: initial;
box-sizing: border-box;
}
main, aside {
padding: 0;
height: initial;
overflow-y: initial;
}
main {
border-right: none;
}
dl {
display: initial;
}
dt {
margin-top: calc(var(--line-height) * .425);
}
dt::after {
content: ':';
}
dt:empty::after {
content: '';
}
details, details[open] {
padding-left: calc(1 * var(--line-height));
padding-right: calc(2 * var(--line-height));
padding-bottom: var(--line-height);
border-bottom: 0;
border-top: 1px solid black;
margin-left: calc(-1 * var(--line-height));
margin-right: calc(-2 * var(--line-height));
}
details {
max-height: 50vh;
position: relative;
overflow-y: hidden;
}
details[open] {
max-height: initial;
}
details:not([open]) summary::after {
display: block;
content: 'show details ↓';
position: absolute;
bottom: 0px;
left: 0;
right: 0;
height: calc(3.5 * var(--line-height));
z-index: 1;
background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1) calc(2 * var(--line-height)));
box-sizing: border-box;
font-size: 85%;
padding: calc(2 * var(--line-height)) 0 0 var(--line-height);
/* pointer-events: none; */
}
details[open]::after {
content: none;
}
[open] > summary::after {
content: "Hide details ↑";
font-size: 85%;
margin-top: calc(var(--line-height) * .85);
display: block;
cursor: pointer;
}
}
Loading…
Cancel
Save