diff --git a/content/activities/seminar.md b/content/activities/seminar.md new file mode 100644 index 0000000..a9a6c50 --- /dev/null +++ b/content/activities/seminar.md @@ -0,0 +1,4 @@ +Title: seminar +Date: 17-10-2021 + +Test description for the seminar. \ No newline at end of file diff --git a/content/algoliterary-works/levenshtein-distance.md b/content/algoliterary-works/levenshtein-distance.md new file mode 100644 index 0000000..744b332 --- /dev/null +++ b/content/algoliterary-works/levenshtein-distance.md @@ -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: Collective Conditions for (re-)use (CC4r), June 2021 +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 ÁGORA / CEMENT / CÓDIGO, an online exhibition curated by Lekutan, within the programme of Komisario Berriak supported by Tabakalera 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 Julio Cortázar, published in 1962 by Editorial Minotauro. Levenshtein distance, 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. \ No newline at end of file diff --git a/content/algoliterary-works/paseo-por-los-arboles.md b/content/algoliterary-works/paseo-por-los-arboles.md new file mode 100644 index 0000000..8772b49 --- /dev/null +++ b/content/algoliterary-works/paseo-por-los-arboles.md @@ -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 Un Alcorque, un Arbol +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: Collective Conditions for (re-)use (CC4r), June 2021 +publication_url: http://paseo-por-arboles.algoliterarypublishing.net +repository: https://gitlab.constantvzw.org/anais_berck/paseo-por-arboles-de-madrid +support: This book was created as part of the residency of Anaïs Berck in Medialab Prado 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". \ No newline at end of file diff --git a/content/pages/activities.md b/content/pages/activities.md index abce129..866f4fb 100644 --- a/content/pages/activities.md +++ b/content/pages/activities.md @@ -1,4 +1,5 @@ -title: activities -status: hidden +title: Activities +save_as: activities.html +template: activities ---- \ No newline at end of file +Activities organized by the publishing house \ No newline at end of file diff --git a/content/pages/home.md b/content/pages/home.md index 817a548..5f65656 100644 --- a/content/pages/home.md +++ b/content/pages/home.md @@ -1,9 +1,13 @@ title: An Algoliterary Publishing House slug: home 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. 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. + +**[Read more →]({filename}/pages/about.md)** \ No newline at end of file diff --git a/content/pages/reader.md b/content/pages/reader.md index c48635a..a9f8772 100644 --- a/content/pages/reader.md +++ b/content/pages/reader.md @@ -1,6 +1,5 @@ title: Reader ---- 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) diff --git a/index.html b/index.html deleted file mode 100644 index cc984cf..0000000 --- a/index.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - An Algoliterary Publishing House - - - - -
-

An Algoliterary Publishing House

-

This project by Anaïs Berck 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.

-

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 →

-
- - - \ No newline at end of file diff --git a/pelicanconf.py b/pelicanconf.py index ecb2a40..5a53acf 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -33,4 +33,18 @@ DEFAULT_PAGINATION = False # Uncomment following line if you want document-relative URLs when developing #RELATIVE_URLS = True -THEME = 'theme' \ No newline at end of file +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 +} \ No newline at end of file diff --git a/theme/templates/activities.html b/theme/templates/activities.html new file mode 100644 index 0000000..f33a340 --- /dev/null +++ b/theme/templates/activities.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }}{%endblock%} + +{% block bodyclass %}home{% endblock %} + +{% block content %} +

{{ page.title }}

+ {{ page.content }} +

← Back

+{% endblock %} + +{% block sidebar %} + {% for activity in categories|get_category_articles('activities') %} +
+ +

{{ activity.title }}

+
+ {{ activity.date|display_if_set('date')}} + {{ activity.location|display_if_set('Location')}} +
+
+ {{ activity.content }} +
+ {% endfor %} +{% endblock %} \ No newline at end of file diff --git a/theme/templates/base.html b/theme/templates/base.html index 37f0c6e..1afd906 100644 --- a/theme/templates/base.html +++ b/theme/templates/base.html @@ -29,6 +29,7 @@ {% endif %} {% endblock head %} + diff --git a/theme/templates/home.html b/theme/templates/home.html new file mode 100644 index 0000000..c35f280 --- /dev/null +++ b/theme/templates/home.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }}{%endblock%} + +{% block bodyclass %}home{% endblock %} + +{% block content %} +

{{ page.title }}

+ {{ page.content }} +{% endblock %} + +{% block sidebar %} + {% for article in categories|get_category_articles('algoliterary-works') %} +
+ +

{{ article.title }}

+
+ {{ 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')}} +
+ +
+
+ {{ article.content }} +
+ {{ 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')}} +
+
+ {% endfor %} +{% endblock %} \ No newline at end of file diff --git a/theme/templates/index.html b/theme/templates/index.html index a8def79..11b38d6 100644 --- a/theme/templates/index.html +++ b/theme/templates/index.html @@ -13,6 +13,38 @@ {% endblock %} {% block sidebar %} + {% for article in categories|get_category_articles('algoliterary-works') %} +
+ +

{{ article.title }}

+
+
Algorithm
+
{{ article.algorithm }}
+
Trees
+
{{ article.trees }}
+
Humans
+
{{ article.humans|join(', ') }}
+
Language
+
{{ article.language }}
+
Published
+
{{ article.published }}
+
License
+
{{ article.license }}
+
+ +
+
+ {{ article.content }} +
+
URL
+
{{ article.publication_url }}
+
Repository
+
{{ article.repository }}
+
With the support of
+
{{ article.support }}
+
+
+ {% endfor %}

Levenshtein Distance

diff --git a/theme/themes/static/fonts/fira-mono/FiraMono-Bold.ttf b/theme/themes/static/fonts/fira-mono/FiraMono-Bold.ttf deleted file mode 100644 index db6f63f..0000000 Binary files a/theme/themes/static/fonts/fira-mono/FiraMono-Bold.ttf and /dev/null differ diff --git a/theme/themes/static/fonts/fira-mono/FiraMono-Medium.ttf b/theme/themes/static/fonts/fira-mono/FiraMono-Medium.ttf deleted file mode 100644 index 892c124..0000000 Binary files a/theme/themes/static/fonts/fira-mono/FiraMono-Medium.ttf and /dev/null differ diff --git a/theme/themes/static/fonts/fira-mono/FiraMono-Regular.ttf b/theme/themes/static/fonts/fira-mono/FiraMono-Regular.ttf deleted file mode 100644 index 3910f17..0000000 Binary files a/theme/themes/static/fonts/fira-mono/FiraMono-Regular.ttf and /dev/null differ diff --git a/theme/themes/static/fonts/fira-mono/OFL.txt b/theme/themes/static/fonts/fira-mono/OFL.txt deleted file mode 100644 index 1ba1596..0000000 --- a/theme/themes/static/fonts/fira-mono/OFL.txt +++ /dev/null @@ -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. diff --git a/theme/themes/static/styles/reset.css b/theme/themes/static/styles/reset.css deleted file mode 100644 index af94440..0000000 --- a/theme/themes/static/styles/reset.css +++ /dev/null @@ -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; -} \ No newline at end of file diff --git a/theme/themes/static/styles/styles.css b/theme/themes/static/styles/styles.css deleted file mode 100644 index 9943a3d..0000000 --- a/theme/themes/static/styles/styles.css +++ /dev/null @@ -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; - } - -} \ No newline at end of file