From 1d639fba2461b9c57b8b036bc7e11c33d0f10a5f Mon Sep 17 00:00:00 2001 From: camilo Date: Thu, 5 May 2022 16:52:03 +0200 Subject: [PATCH] delete this --- Glossary_making.ipynb | 397 ------------------------------------------ 1 file changed, 397 deletions(-) delete mode 100644 Glossary_making.ipynb diff --git a/Glossary_making.ipynb b/Glossary_making.ipynb deleted file mode 100644 index 249438b..0000000 --- a/Glossary_making.ipynb +++ /dev/null @@ -1,397 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Glossary Making Tool" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is a Work-in-progress experiment tool to make living glossaries Webpages using simple Python, Javascript, and CSS from an markdown file written in a Etherpad instance.\n", - "\n", - "**What makes it living?** \n", - "\n", - "* The glossary structure uses the idea of 'gloss' that means annottation and layer. It makes the glossary a layering of anotations rather than a list of definitions. The pad template uses each word as a card with multiple annotations. See the example.\n", - "\n", - "* This tool also offers the option of add properties to each word in order to find connections and multiple types of organization. \n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "## Words\n", - "Communicating via **API** with the glossary **Pad** and translating the text written in **Markdown** format using **Pandoc** library." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import json, pypandoc\n", - "from urllib.request import urlopen\n", - "from urllib.parse import urlencode\n", - "\n", - "\n", - "with open(\"/opt/etherpad/APIKEY.txt\") as f:\n", - " api_key = f.read().strip()\n", - "\n", - "api_url = \"https://hub.xpub.nl/soupboat/pad/api/1.2.15/\"\n", - "\n", - "# wrap in a convenient function (APICALL)\n", - "def ep (api_fn, api_url, api_key, **data):\n", - " data['apikey'] = api_key\n", - " return json.load(urlopen(f\"{api_url}{api_fn}\", data=urlencode(data).encode()))\n", - "\n", - "\n", - "glossary = ep(\"getText\", api_url, api_key, padID=\"binding_glossary\")\n", - "\n", - "text = glossary[\"data\"][\"text\"]\n", - "\n", - "words = pypandoc.convert_text(text, 'html', format='md')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From a local markdown text file" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "import pypandoc\n", - "\n", - "text = open('glossary.txt', 'r')\n", - "\n", - "with text as f:\n", - " text = f.read()\n", - " \n", - "words = pypandoc.convert_text(text, 'html', format='md')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "## Properties" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The following is a word property dictionary " - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "properties = [\n", - "\t{\n", - "\t\t'title':'fact',\n", - "\t\t'symbol':'A',\n", - " 'color': 'green'\n", - "\t},\n", - "\t{\n", - "\t\t'title':'process',\n", - "\t\t'symbol':'S',\n", - "\t\t'color': 'aqua'\n", - "\t},\n", - "\t{\n", - "\t\t'title':'love',\n", - "\t\t'symbol':'L',\n", - "\t\t'color': 'orange'\n", - "\t},\n", - " \t{\n", - "\t\t'title':'tool',\n", - "\t\t'symbol':'T',\n", - "\t\t'color': 'blue'\n", - "\t}\n", - "]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Writing the Website" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Write properties legend" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "description = ''\n", - "\n", - "i = 0\n", - "\n", - "for title, symbol, color in properties:\n", - " title = properties[i]['title']\n", - " description += (f''' {title}s,''')\n", - " i += 1" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "legend = ''\n", - "\n", - "i = 0\n", - "\n", - "for title, symbol, color in properties:\n", - " title = properties[i]['title']\n", - " legend += f'''\\n'''\n", - " i += 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Write Script that will add properties to each word" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "script = ''\n", - "\n", - "i = 0 \n", - "\n", - "for title, symbol, color in properties:\n", - " title = properties[i]['title']\n", - " symbol = properties[i]['symbol']\n", - " script += (f\"\"\"const {title} = document.getElementsByClassName(\"{title}\");\n", - " for (let i = 0; i < {title}.length; i++)\"\"\"'{\\n' \n", - " f\"\"\"{title}[i].innerHTML += \"{symbol}\";\"\"\" \n", - " '\\n}\\n\\n')\n", - " i += 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Assign a different color for each property " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "style = ''\n", - "\n", - "i = 0 \n", - "\n", - "for title, symbol, color in properties:\n", - " title = properties[i]['title']\n", - " color = properties[i]['color']\n", - " style += f'''.{title}-s''' + '{' + f'''color:{color};''''}'\n", - " i += 1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "body = f'''\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Binding GLossary\n", - " \n", - " \n", - " \n", - "\n", - "
\n", - "

Glossary for a Diffractive Publishing Practice

\n", - "
\n", - "
\n", - "
\n", - "

This glossary gathers words around bookbiding. It was made as an example to use the tool living-glossary.

\n", - "

{description} are the properties that organize and make connections between words.

\n", - "
\n", - "
\n", - " {legend}\n", - "
\n", - "
\n", - "
\n", - " {words} \n", - "
\n", - " \n", - " \n", - " \n", - " '''\n", - "\n", - "website = open('index.html','w')\n", - "\n", - "website.write(body)\n", - "website.close()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(words)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "from time import sleep\n", - "\n", - "while True:\n", - " print('hey')\n", - " sleep(5)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -}