diff --git a/.forgejo/workflows/main.yaml b/.forgejo/workflows/main.yaml
deleted file mode 100644
index e816e02..0000000
--- a/.forgejo/workflows/main.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-on: [push]
-jobs:
- job:
- container:
- image: ${{vars.DOCKER}}debian:bookworm
- steps:
- - name: spcd
- env:
- SPCD: ${{vars.SPCD}}
- SPCD_GIT_RWX: ${{vars.SPCD_GIT_RWX}}
- SPCD_GIT_SPCD: ${{vars.SPCD_GIT_SPCD}}
- SPCD_SSH_HOSTS: ${{vars.SPCD_SSH_HOSTS}}
- SPCD_SSH_KEY: ${{secrets.SPCD_SSH_KEY}}
- SPCD_TXT_LOCALE: ${{vars.SPCD_TXT_LOCALE}}
- run: ${{vars.SPCD}}
-
- #- run: spcd-check-project
- - run: spcd-build-project
- - run: spcd-browse-workspace
- - run: spcd-synchronize
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 0f8b689..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-__pycache__
-/out
diff --git a/build.py b/build.py
deleted file mode 100755
index 0aaba96..0000000
--- a/build.py
+++ /dev/null
@@ -1,914 +0,0 @@
-#! /usr/bin/env python3
-
-import datetime
-import os
-import shutil
-import subprocess
-
-
-def run(*args):
- subprocess.call(args)
-
-
-def main():
- time = datetime.datetime.now()
- time_id = time.strftime('%Y%m%d%H%M%S')
- style = 'css'
- script = 'js'
- root = os.path.dirname(os.path.realpath(__file__))
- input_directory = os.path.join(root, 'in')
- out = os.path.join(root, 'out')
- web = os.path.join(out, 'web')
- if os.path.exists(web):
- shutil.rmtree(web)
- os.makedirs(web)
- gen = os.path.join(web, time_id)
- css = os.path.join(gen, style)
- js = os.path.join(gen, script)
- #
- run('rsync', '--archive', f'{input_directory}/', f'{web}/')
- for directory in [css, js]:
- os.makedirs(directory)
- #
- link_gv = os.path.join(root, 'link.gv')
- link_svg = os.path.join(gen, 'link.svg')
- run('dot', link_gv, '-Tsvg', '-o', link_svg)
- with open(link_svg, 'br') as f:
- link_text = f.read().decode('u8')
- page_file = os.path.join(web, 'index.html')
- page_text = f'''\
-
-
-
-
-
-
-
-
-
-Marc Beninca
-
-
-
-
-
-
-
-
-
My/
-
-
-
-
CV
-
{tabs['cv']}
-
-
Profiles
-
{tabs['profiles']}
-
-
Projects
-
-
-
LSGM
-
{tabs['lsgm']}
-
-
OFSP
-
{tabs['ofsp']}
-
-
-
Tasks
-
{tabs['tasks']}
-
-
Trips
-
{tabs['trips']}
-
-
…/
-
-
-
Identity
-
{tabs['id']}
-
-
Links
-
{tabs['links']}
-
-
Repos
-
{tabs['repos']}
-
-
…
-
{tabs['others']}
-
-
-
-
Learn
-
{tabs['learn']}
-
-
Music
-
{tabs['music']}
-
-
Sites/
-
-
-
Books
-
{tabs['books']}
-
-
Buy
-
{tabs['buy']}
-
-
Social
-
{tabs['social']}
-
-
Software
-
{tabs['software']}
-
-
-
Videos/
-
-
-
Comments
-
{tabs['comments']}
-
-
Health
-
{tabs['health']}
-
-
Vegan
-
{tabs['vegan']}
-
-
-
…/
-
-
-
Style
-
{tabs['style']}
-
-
…
-
{tabs['unsorted']}
-
-
-
-
-
-
-
-Last update: {time.strftime('%Y/%m/%d %H:%M:%S')}
-
-
-
-
-
-'''
- css_file = os.path.join(css, 'index.css')
- css_text = f'''\
-@media screen and (max-aspect-ratio: 10/16) {{
-
-body {{
-font-size: 2em;
-}}
-
-}}
-
-body {{
-background: rgb(255,255,255);
-color: rgb(0,0,0);
-font-family: sans;
-margin: .5em;
-}}
-body.dark {{
-background: rgb(0,0,0);
-color: rgb(160,160,160);
-}}
-
-header {{
-background-image: url("../img/debian.jpeg");
-background-position: center;
-background-size: cover;
-display: flex;
-flex-wrap: wrap;
-}}
-
-.tabs {{
-display: flex;
-flex-wrap: wrap;
-}}
-.tabs .tabs {{
-padding: .5em 0 0 0;
-}}
-.tabs > input {{
-display: none;
-}}
-.tabs > input:checked + label + div {{
-display: block;
-}}
-.tabs > label {{
-order: 1;
-}}
-.tabs > div {{
-display: none;
-flex-basis: 100%;
-order: 2;
-}}
-
-.tabs {{
-margin: 0;
-}}
-.tabs > input:checked + label {{
-background: linear-gradient(rgba(128,128,128,1), rgba(128,128,128,0));
-}}
-.tabs > label {{
-background: linear-gradient(rgba(64,64,64,1), rgba(64,64,64,0));
-border-color: rgb(128,128,128);
-border-radius: .5em;
-border-style: solid;
-border-width: 1px 1px 0 1px;
-font-weight: bold;
-margin: 0;
-padding: .5em 1.5em;
-}}
-.tabs > label:hover {{
-background: linear-gradient(rgba(64,64,64,0), rgba(64,64,64,1));
-color: rgb(192,0,0);
-}}
-.tabs > div {{
-margin: 0;
-}}
-
-a {{
-color: rgb(0,192,192);
-text-decoration: none;
-}}
-a:hover {{
-color: rgb(192,0,0);
-}}
-a:visited {{
-color: rgb(0,160,160);
-}}
-
-img {{
-border: 1px solid;
-border-color: rgb(192,192,192);
-border-radius: 1em;
-height: 8em;
-}}
-
-table {{
-empty-cells: hide;
-}}
-th,td {{
-border-radius: .2em;
-}}
-th:hover,td:hover {{
-background: rgb(48,0,0);
-}}
-th {{
-background: rgb(64,64,64);
-color: rgb(128,128,0);
-}}
-td {{
-background: rgb(48,48,48);
-border: 1px solid;
-border-color: rgb(192,192,192);
-text-align: center;
-}}
-
-.cards {{
-display: flex;
-}}
-.card {{
-list-style: none;
-margin: 0 1em;
-text-align: center;
-}}
-.card img {{
-border: none;
-height: 3em;
-}}
-
-.debug {{
-border-color: rgb(255,0,255);
-border-style: solid;
-border-width: 1px;
-}}
-'''
- js_file = os.path.join(js, 'index.js')
- js_text = f'''\
-function check(tab) {{
- const tabs = tab.split('/')
- let id = 'tab'
- let element
- for (tab of tabs) {{
- id = `${{id}}/${{tab}}`
- element = document.getElementById(id)
- if (element) {{
- element.checked = true
- }}
- }}
-}}
-
-function debug() {{
- for (element of document.getElementsByTagName('*')) {{
- element.classList.toggle('debug')
- }}
-}}
-
-function push(tab) {{
- window.history.pushState(null, null, `?tab=${{tab}}`)
-}}
-
-function update(id) {{
- const tab = id.split('/').slice(1).join('/')
- push(tab)
-}}
-
-function main() {{
- let tab = (new URL(document.location)).searchParams.get('tab')
- if (tab) {{
- check(tab)
- }} else {{
- tab = 'my/profiles'
- check(tab)
- push(tab)
- }}
- const dark = document.getElementById('dark')
- if (dark) {{
- dark.click()
- }}
-}}
-
-function swap() {{
- document.body.classList.toggle('dark')
-}}
-'''
-# {link_text}
- with open(page_file, 'bw') as f:
- f.write(page_text.encode('u8'))
- with open(css_file, 'bw') as f:
- f.write(css_text.encode('u8'))
- with open(js_file, 'bw') as f:
- f.write(js_text.encode('u8'))
-
-
-tabs = {
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'about': f'''\
-About…
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'bio': f'''\
-Marc Beninca
-Welcome to a recap attempt of my IT life!
-
-The early days
-In my primary school days I started to interact with computers at home,
-mainly Amstrad CPC 464 & 6128 machines.
-It was the occasion for me to:
-
-discover computer architectures
-learn how to program in BASIC
-suffer the noise and speed of tape recorders
-experience the revolution of floppy disks transfer rates
-
-
-Diving in
-Right before beginning high school, I was introduced to the PC platform.
-The “system programming PC bible” was my reference for a long time.
-I had the occasion to develop projects in:
-
-Pascal (for example my own hexadecimal file editor)
-Assembly (mainly for critical subroutines performance)
-AutoLISP (automation in LISP of AutoCAD elements processing)
-
-
-To be continued…
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'books': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'buy': f'''\
-
-
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'comments': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'cv': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'repos': f'''\
-
-
-
-
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'health': f'''\
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'id': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'learn': f'''\
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'links': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'music': f'''\
-
-
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'profiles': f'''\
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'lsgm': f'''\
-Live Scan Grub Menu
-Setup a whole EFI System Partition:
-
-generate customized GRUB EFI & BIOS images
-scan data partition(s) for SquashFS image files
-display generated boot menu
-live boot selected kernel, initial ramdisk and file system image
-
-BASH experimenting:
-
-''',
- 'ofsp': f'''\
-Operating File System Profile
-Build from mirror a full operating system bootable file image:
-
-bootstrap base file system
-configure common core basics
-install TUI packages
-install GUI packages
-copy kernel and initial ramdisk for bootloader
-archive final file system as SquashFS file
-
-BASH experimenting:
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'social': f'''\
-
-
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'software': f'''\
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'style': f'''\
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'tasks': f'''\
-
-
-fix dark switch
-style list items
-switch fonts
-use CSS variables
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'trips': f'''\
-
-Belgium
-Estonia
- Lahemaa
- Narva
- Pärnu
- Saaremaa
- Tallinn
- Tartu
-
-Germany
-Japan
- Hiroshima
- Kyoto
- Okinawa
- Osaka
- Tokyo
-
-Netherlands
- Amsterdam
- Rotterdam
-
-Switzerland
-United States of America
- California
- Los Angeles
- San Francisco
-
- Georgia
- Hawaii
- Indiana
- Kentucky
- New York
- Ohio
- Tennessee
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'vegan': f'''\
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'others': f'''\
-
-
-
-
-
-''',
-#⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
- 'unsorted': f'''\
-
-''',
-}
-
-
-if __name__ == '__main__':
- main()
diff --git a/cc.html b/cc.html
deleted file mode 100644
index eda505c..0000000
--- a/cc.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
diff --git a/cc/ada b/cc/ada
deleted file mode 100644
index 3d6b49f..0000000
--- a/cc/ada
+++ /dev/null
@@ -1 +0,0 @@
-addr1q8xzhlhssfx0fwd57ha4khf7wtwdmr8rc4lkwnge6xjnskxv90l0pqjv7jumfa0mtdwnuukumkxw83tlvax3n5d98pvqgu558s
diff --git a/cc/algo b/cc/algo
deleted file mode 100644
index aaecf7b..0000000
--- a/cc/algo
+++ /dev/null
@@ -1 +0,0 @@
-7GHLYCLQKIET5XT2OWMAXU6NQKIRFJOWMKUOFON4RABVAA2PUZ2DLCDRLQ
diff --git a/cc/ark b/cc/ark
deleted file mode 100644
index 0779f71..0000000
--- a/cc/ark
+++ /dev/null
@@ -1 +0,0 @@
-AHHRwwELYb2KUjhcnZ4dknHuerdpRLfD4N
diff --git a/cc/atom b/cc/atom
deleted file mode 100644
index 068d885..0000000
--- a/cc/atom
+++ /dev/null
@@ -1 +0,0 @@
-cosmos132qm6ymwft9ck0xaaa9qamyaqq5ckwku98sak2
diff --git a/cc/bch b/cc/bch
deleted file mode 100644
index c76470c..0000000
--- a/cc/bch
+++ /dev/null
@@ -1 +0,0 @@
-qrqs9yxvnknvma6n8yy79xvlpd4l6kktmv28j35rwj
diff --git a/cc/bnb b/cc/bnb
deleted file mode 100644
index 15141c7..0000000
--- a/cc/bnb
+++ /dev/null
@@ -1 +0,0 @@
-bnb1dezkkkg23fesfaz7jrt6xguuqsan20wz9jgt3d
diff --git a/cc/btc b/cc/btc
deleted file mode 100644
index 1ff9f73..0000000
--- a/cc/btc
+++ /dev/null
@@ -1 +0,0 @@
-bc1qu2qa6m3lkf3cvr5220k4npa77g6endlaf45c3j
diff --git a/cc/dash b/cc/dash
deleted file mode 100644
index bd9bc15..0000000
--- a/cc/dash
+++ /dev/null
@@ -1 +0,0 @@
-Xx6DuquvMtZHZAuEjPSt175Kmmx3r36Pg3
diff --git a/cc/dgb b/cc/dgb
deleted file mode 100644
index 4428add..0000000
--- a/cc/dgb
+++ /dev/null
@@ -1 +0,0 @@
-DBHEv2ChbeQc7RJGaobMpwejK9tpgmi9FA
diff --git a/cc/dot b/cc/dot
deleted file mode 100644
index b574f33..0000000
--- a/cc/dot
+++ /dev/null
@@ -1 +0,0 @@
-13Mfiye1NW43JZKmr1MM2GxgJfbVvQFu9Rh3L83UMxYFUmRY
diff --git a/cc/egld b/cc/egld
deleted file mode 100644
index 165a8e9..0000000
--- a/cc/egld
+++ /dev/null
@@ -1 +0,0 @@
-erd1lz5tmvdvspyemykl05u34qqjj3tvkvze5n3hyac38dk37v2ymwasc6gyyg
diff --git a/cc/eth b/cc/eth
deleted file mode 100644
index fbe78a9..0000000
--- a/cc/eth
+++ /dev/null
@@ -1 +0,0 @@
-0xF9ef31EEea5956Cd193147E7D19b04f45cd9a38D
diff --git a/cc/fil b/cc/fil
deleted file mode 100644
index 08a2da0..0000000
--- a/cc/fil
+++ /dev/null
@@ -1 +0,0 @@
-f1unsj2vjm35jxvrctbvi2wxp2shsbvnvcaurszyq
diff --git a/cc/hbar b/cc/hbar
deleted file mode 100644
index 1d2d877..0000000
--- a/cc/hbar
+++ /dev/null
@@ -1 +0,0 @@
-0.0.892596
diff --git a/cc/icx b/cc/icx
deleted file mode 100644
index dfc5515..0000000
--- a/cc/icx
+++ /dev/null
@@ -1 +0,0 @@
-hx02b19ad56ff68d3a0a725b04ef27dbf8996684a8
diff --git a/cc/ltc b/cc/ltc
deleted file mode 100644
index ec662f1..0000000
--- a/cc/ltc
+++ /dev/null
@@ -1 +0,0 @@
-LVZGzfx6uPqJeTXPDUrCviBiyxveqvK2WK
diff --git a/cc/luna b/cc/luna
deleted file mode 100644
index 7872a9e..0000000
--- a/cc/luna
+++ /dev/null
@@ -1 +0,0 @@
-terra1rw6d6qkwqtlf38ncllt38axgwyu24ezlgx54wr
diff --git a/cc/ont b/cc/ont
deleted file mode 100644
index 597d656..0000000
--- a/cc/ont
+++ /dev/null
@@ -1 +0,0 @@
-AWEjJtRPkwL3VPwvp6G3wd96Z2oqAJ8s6s
diff --git a/cc/qtum b/cc/qtum
deleted file mode 100644
index a026b66..0000000
--- a/cc/qtum
+++ /dev/null
@@ -1 +0,0 @@
-QWDBhWadR1Xe2frRAZJ58LjzbMMff7udfH
diff --git a/cc/sol b/cc/sol
deleted file mode 100644
index 88bb5fb..0000000
--- a/cc/sol
+++ /dev/null
@@ -1 +0,0 @@
-FbDhn6rkT4x1uW6p9XufYwBrHeS53y56Q8vdo2eKb2Zc
diff --git a/cc/theta b/cc/theta
deleted file mode 100644
index 93a44fd..0000000
--- a/cc/theta
+++ /dev/null
@@ -1 +0,0 @@
-0x27d77039F7E852c72b15F824842E44A1295cC53A
diff --git a/cc/trx b/cc/trx
deleted file mode 100644
index a7fa108..0000000
--- a/cc/trx
+++ /dev/null
@@ -1 +0,0 @@
-TAFW2JVYXPfskGaoz4vu1oMwo6B72J2fEE
diff --git a/cc/vet b/cc/vet
deleted file mode 100644
index 6012dd5..0000000
--- a/cc/vet
+++ /dev/null
@@ -1 +0,0 @@
-0x877996962b331c032955fdb80B2AA7D6E78cb0d7
diff --git a/cc/xlm b/cc/xlm
deleted file mode 100644
index 9ede2c8..0000000
--- a/cc/xlm
+++ /dev/null
@@ -1 +0,0 @@
-GAYZAZU7BZ3PLSBLHMBIARS2NXC77R5TZBHLWX7PZV474FWYOTIXCYTK
diff --git a/cc/xmr b/cc/xmr
deleted file mode 100644
index 8a8a416..0000000
--- a/cc/xmr
+++ /dev/null
@@ -1 +0,0 @@
-43NTvQEtdgTHfvm9vtj3tQDYJL9R3aja1QR98YkY2DgDi8gcWnfCYBJe9qgBerGiu6eE9JM65o8rhHxbNHySUcLf4yxyYpr
diff --git a/cc/xno b/cc/xno
deleted file mode 100644
index b0bc9fd..0000000
--- a/cc/xno
+++ /dev/null
@@ -1 +0,0 @@
-nano_1ade4pu7t6t46xj7ufw99itgxzu873r6exhazz5mddbiz3hje8j614qipw3f
diff --git a/cc/xrp b/cc/xrp
deleted file mode 100644
index 1e949f6..0000000
--- a/cc/xrp
+++ /dev/null
@@ -1 +0,0 @@
-rKyjesfPonKVordBMoiFj3UztMWxCLQ6CV
diff --git a/cc/xtz b/cc/xtz
deleted file mode 100644
index c2bc73a..0000000
--- a/cc/xtz
+++ /dev/null
@@ -1 +0,0 @@
-tz1iLTaChtfT3ZH45DoxrWxyjhRLnFzuLRwu
diff --git a/cc/zec b/cc/zec
deleted file mode 100644
index 0da982b..0000000
--- a/cc/zec
+++ /dev/null
@@ -1 +0,0 @@
-t1ceshuxTbpEf6XqCXPbaL1LSazyJUvgVFE
diff --git a/cc/zil b/cc/zil
deleted file mode 100644
index 9eba3bb..0000000
--- a/cc/zil
+++ /dev/null
@@ -1 +0,0 @@
-zil13yagsjncsd0xxk8jte43gu9ll8s2ezwes258fl
diff --git a/in/.well-known/openpgpkey/hu/bs9ff8np9mc3c3uanz311ysm8ei3j1kx b/in/.well-known/openpgpkey/hu/bs9ff8np9mc3c3uanz311ysm8ei3j1kx
deleted file mode 120000
index 41aa63b..0000000
--- a/in/.well-known/openpgpkey/hu/bs9ff8np9mc3c3uanz311ysm8ei3j1kx
+++ /dev/null
@@ -1 +0,0 @@
-social
\ No newline at end of file
diff --git a/in/.well-known/openpgpkey/hu/e5a4bxki1ktx1jncwco5nkcofedmkxod b/in/.well-known/openpgpkey/hu/e5a4bxki1ktx1jncwco5nkcofedmkxod
deleted file mode 120000
index 0899c29..0000000
--- a/in/.well-known/openpgpkey/hu/e5a4bxki1ktx1jncwco5nkcofedmkxod
+++ /dev/null
@@ -1 +0,0 @@
-git
\ No newline at end of file
diff --git a/in/.well-known/openpgpkey/hu/git b/in/.well-known/openpgpkey/hu/git
deleted file mode 120000
index 687d959..0000000
--- a/in/.well-known/openpgpkey/hu/git
+++ /dev/null
@@ -1 +0,0 @@
-marc
\ No newline at end of file
diff --git a/in/.well-known/openpgpkey/hu/marc b/in/.well-known/openpgpkey/hu/marc
deleted file mode 100644
index 312f125..0000000
Binary files a/in/.well-known/openpgpkey/hu/marc and /dev/null differ
diff --git a/in/.well-known/openpgpkey/hu/social b/in/.well-known/openpgpkey/hu/social
deleted file mode 120000
index 687d959..0000000
--- a/in/.well-known/openpgpkey/hu/social
+++ /dev/null
@@ -1 +0,0 @@
-marc
\ No newline at end of file
diff --git a/in/.well-known/openpgpkey/policy b/in/.well-known/openpgpkey/policy
deleted file mode 100644
index e69de29..0000000
diff --git a/in/img/ForgeJo.svg b/in/img/ForgeJo.svg
deleted file mode 100644
index 804b05e..0000000
--- a/in/img/ForgeJo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/in/img/InstaGram.png b/in/img/InstaGram.png
deleted file mode 100644
index e388cb4..0000000
Binary files a/in/img/InstaGram.png and /dev/null differ
diff --git a/in/img/KeyOxide.png b/in/img/KeyOxide.png
deleted file mode 100644
index 249f088..0000000
Binary files a/in/img/KeyOxide.png and /dev/null differ
diff --git a/in/img/LinkedIn.png b/in/img/LinkedIn.png
deleted file mode 100644
index 40fb929..0000000
Binary files a/in/img/LinkedIn.png and /dev/null differ
diff --git a/in/img/PeerTube.png b/in/img/PeerTube.png
deleted file mode 100644
index 932a7ae..0000000
Binary files a/in/img/PeerTube.png and /dev/null differ
diff --git a/in/img/PixelFed.svg b/in/img/PixelFed.svg
deleted file mode 100644
index dfaf03f..0000000
--- a/in/img/PixelFed.svg
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
- icon/color/svg/pixelfed-icon-color
- Created with Sketch.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/in/img/YouTube.png b/in/img/YouTube.png
deleted file mode 100644
index 69f69ab..0000000
Binary files a/in/img/YouTube.png and /dev/null differ
diff --git a/in/img/debian.jpeg b/in/img/debian.jpeg
deleted file mode 100644
index ab060b0..0000000
Binary files a/in/img/debian.jpeg and /dev/null differ
diff --git a/in/img/en.svg b/in/img/en.svg
deleted file mode 100644
index fcec86c..0000000
--- a/in/img/en.svg
+++ /dev/null
@@ -1,1119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/in/img/fr.svg b/in/img/fr.svg
deleted file mode 100644
index b50bd7e..0000000
--- a/in/img/fr.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/in/img/marc.jpeg b/in/img/marc.jpeg
deleted file mode 100644
index b8fabcc..0000000
Binary files a/in/img/marc.jpeg and /dev/null differ
diff --git a/in/marc.beninca.asc b/in/marc.beninca.asc
deleted file mode 100644
index daf987b..0000000
--- a/in/marc.beninca.asc
+++ /dev/null
@@ -1,75 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mDMEXTefmxYJKwYBBAHaRw8BAQdA+H8/RzqjvpB7+mnypomWrxRe2zoUO0htbwP7
-xC/Mxei0IE1hcmMgQmVuaW5jYSA8bWFyY0BiZW5pbmNhLmxpbms+iQGOBBMWCgE2
-AhsBAgsJAhUKAhYDAh4BAheAAhkBMBSAAAAAABAAF3Byb29mQGFyaWFkbmUuaWRk
-bnM6dGlsZGUubGluaz90eXBlPVRYVDUUgAAAAAAQABxwcm9vZkBhcmlhZG5lLmlk
-ZG5zOm1hcmMtYmVuaW5jYS5mcj90eXBlPVRYVDIUgAAAAAAQABlwcm9vZkBhcmlh
-ZG5lLmlkZG5zOmJlbmluY2EubGluaz90eXBlPVRYVDQUgAAAAAAQABtwcm9vZkBh
-cmlhZG5lLmlkZG5zOmNvbXB1dGluZy5sYW5kP3R5cGU9VFhULhSAAAAAABAAFXBy
-b29mQGFyaWFkbmUuaWRkbnM6cnd4Lndvcms/dHlwZT1UWFQWIQQI7acAYjSg6ymj
-qEcdvV7EutpVeQUCZld4FwUJCwEL/AAKCRAdvV7EutpVeStiAQC5mlCjnqk4FU26
-bdDJyx69ghq+bxnTsvs6GkOfwByxNwEAn1ekf7ZvnN2i/xLKbjw3tw1XlZzBiqzg
-CgECjNiu4gG0JE1hcmMgQmVuaW5jYSA8Z2l0QG1hcmMuYmVuaW5jYS5saW5rPojT
-BBMWCgB7AhsBAgsJAhUKAhYDAh4BAheARRSAAAAAABAALHByb29mQGFyaWFkbmUu
-aWRodHRwczovL2ZvcmdlLnJ3eC53b3JrL21hcmMuYmVuaW5jYS8ucHJvZmlsZRYh
-BAjtpwBiNKDrKaOoRx29XsS62lV5BQJmV3gXBQkLAQv8AAoJEB29XsS62lV5ceoB
-ANCsDlwxQO75SVnvt11RNShnSqZl4S8wNDfJpOJyybTZAP4wTHDw8g82BYHgRPl/
-SpXBMSyK3bfii4qVqyGmHXWIC7QnTWFyYyBCZW5pbmNhIDxzb2NpYWxAbWFyYy5i
-ZW5pbmNhLmxpbms+iQLSBBMWCgJ6AhsBAgsJAhUKAhYDAh4BAheAShSAAAAAABAA
-MXByb29mQGFyaWFkbmUuaWRodHRwczovL25ld3MueWNvbWJpbmF0b3IuY29tL3Vz
-ZXI/aWQ9bWFyY19iZW5pbmNhPxSAAAAAABAAJnByb29mQGFyaWFkbmUuaWRodHRw
-czovL3Byb2dyYW1taW5nLmRldi91L21hcmNfYmVuaW5jYUMUgAAAAAAQACpwcm9v
-ZkBhcmlhZG5lLmlkaHR0cHM6Ly9waXhlbGZlZC5zb2NpYWwvdXNlcnMvbWFyYy5i
-ZW5pbmNhOxSAAAAAABAAInByb29mQGFyaWFkbmUuaWRodHRwczovL2xpYmVyYXBh
-eS5jb20vbWFyYy5iZW5pbmNhPRSAAAAAABAAJHByb29mQGFyaWFkbmUuaWRodHRw
-czovL21hc3RvZG9uLmNsb3VkL0BtYXJjX2JlbmluY2E9FIAAAAAAEAAkcHJvb2ZA
-YXJpYWRuZS5pZGh0dHBzOi8vZGV2cy5saXZlL3VzZXJzL21hcmNfYmVuaW5jYUQU
-gAAAAAAQACtwcm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9wZWVydHViZS5pcmlzZWRl
-bi5ldS9hL21hcmNfYmVuaW5jYT4UgAAAAAAQACVwcm9vZkBhcmlhZG5lLmlkaHR0
-cHM6Ly9yYW50LmxpL21hcmMtYmVuaW5jYS9rZXlveGlkZTkUgAAAAAAQACBwcm9v
-ZkBhcmlhZG5lLmlkaHR0cHM6Ly9sb2JzdGUucnMvdS9tYXJjX2JlbmluY2EWIQQI
-7acAYjSg6ymjqEcdvV7EutpVeQUCZld4GAUJCwEL/AAKCRAdvV7EutpVeYD4AP4v
-2JGU1fRKrjJef93q0+SRq+cPDDvQsPZewaokig3m8AD/UHc6qnBD8uJvZIkkgNQ0
-ej7DQhKeMxq0OLqfvMTXaQ+4MwRkBLE2FgkrBgEEAdpHDwEBB0AsYIYac0mKd7Ui
-WhnkXlDo2hidqKEDneaCGfRV9UhR4Yh+BBgWCgAmAhsgFiEECO2nAGI0oOspo6hH
-Hb1exLraVXkFAmZXeBkFCQQz+mMACgkQHb1exLraVXmcewD/S0zIWpVmEJikiijA
-Kd97fjcYGuAWdcYnkhARFU7cihgBAIarS+OWe5ZkvOVZAJDCCTxLrdpN8tQXgf4K
-xP9RxVMKuDMEZASx7RYJKwYBBAHaRw8BAQdAwJl98sJxO1aJ/6ucVHDMxjpjNuI+
-l7/M5I6Z8GdNHzCI9QQYFgoAJgIbAhYhBAjtpwBiNKDrKaOoRx29XsS62lV5BQJm
-V3gZBQkEM/msAIF2IAQZFgoAHRYhBEZFD76ABdKwQwlIa70nrOrleYioBQJkBLHt
-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
-=jG40
------END PGP PUBLIC KEY BLOCK-----
diff --git a/in/marc.beninca.pgp b/in/marc.beninca.pgp
deleted file mode 100644
index 312f125..0000000
Binary files a/in/marc.beninca.pgp and /dev/null differ
diff --git a/link.gv b/link.gv
deleted file mode 100644
index 0c40c49..0000000
--- a/link.gv
+++ /dev/null
@@ -1,71 +0,0 @@
-digraph {
-
-graph [
-rankdir="LR"
-]
-node [
-#shape="record"
-]
-
-subgraph cluster_git {
-"bitbucket" [label="Bit\nBucket",href="https://bitbucket.org/marc_beninca"]
-"github" [label="Git\nHub",href="https://github.com/marc-beninca"]
-"gitlab" [label="Git\nLab",href="https://gitlab.com/marc.beninca"]
-}
-
-"facebook" [label="Face\nBook",href="https://facebook.com/marc.beninca.page"]
-"hackernews" [label="Hacker\nNews",href="https://news.ycombinator.com/user?id=marc_beninca"]
-"instagram" [label="Insta\nGram",href="https://instagram.com/marc.beninca"]
-"linuxfr" [label="Linux\nFR",href="https://linuxfr.org/users/marc-beninca"]
-"lobsters" [label="Lobsters",href="https://lobste.rs/u/marc_beninca"]
-"mastodon" [label="Mastodon",href="https://social.tchncs.de/@marc_beninca"]
-"omglol" [label="OMG\nLOL",href="https://omg.lol/marc-beninca"]
-"openstreetmap" [label="Open\nStreet\nMap",href="https://openstreetmap.org/user/Marc Beninca"]
-"pleroma" [label="Pleroma",href="https://poa.st/@marc_beninca"]
-"reddit" [label="Reddit",href="https://reddit.com/user/marc_beninca"]
-"twitch" [label="Twitch",href="https://twitch.tv/marc_beninca"]
-"twitter" [label="Twitter",href="https://twitter.com/marc_beninca"]
-"youtube" [label="You\nTube",href="https://youtube.com/channel/UC4uk_6OKRke2soVah-Tf2Lw"]
-
-"keybase" [label="Key\nBase",href="https://keybase.io/marc_beninca"]
-"liberapay" [label="Libera\nPay",href="https://liberapay.com/marc.beninca"]
-"patreon" [label="Patreon",href="https://patreon.com/marc_beninca"]
-"utip" [label="U\ntip",href="https://utip.io/marc_beninca"]
-
-
-"instagram" -> "facebook"
-
-"keybase" -> {
-"github"
-"hackernews"
-"lobsters"
-"omglol"
-"reddit"
-"twitter"
-}
-"liberapay" -> {
-"bitbucket"
-"github"
-"gitlab"
-"linuxfr"
-"mastodon"
-"openstreetmap"
-"pleroma"
-"twitch"
-"twitter"
-}
-"patreon" -> {
-"facebook"
-"instagram"
-"twitter"
-"youtube"
-}
-"utip" -> {
-"facebook"
-"instagram"
-"twitch"
-"twitter"
-"youtube"
-}
-
-}
diff --git a/pubnix.py b/pubnix.py
deleted file mode 100644
index 30d5b30..0000000
--- a/pubnix.py
+++ /dev/null
@@ -1,61 +0,0 @@
-import os
-import subprocess
-
-PORT = 22
-USER = 'mspe'
-ROOT = 'public_html'
-PROTOCOL = 'https'
-DIR = False
-
-
-class PubNix:
-
- def __init__(self, dn,
- ssh=None, port=PORT, user=USER,
- root=ROOT, dir=DIR, web=None, sub=None):
- self.dn = dn
- self.ssh = f'{ssh}.{self.dn}' if ssh else self.dn
- self.port = port
- self.user = user
- self.root = root
- self.web = f'{web}.{self.dn}' if web else self.dn
- if sub:
- self.fqdn = f'{self.user}.{self.web}'
- self.context = None
- else:
- self.fqdn = self.web
- self.context = f'~{self.user}'
- self.path = os.path.join(self.root, self.fqdn) if dir else self.root
- self.target = f'{self.user}@{self.ssh}:{self.path}'
- self.url = [f'{PROTOCOL}:', str(), self.fqdn]
- if self.context:
- self.url.append(self.context)
- self.url = '/'.join(self.url)
-
- def capturun(self, *args):
- return self.run(*args, capture_output=True)
-
- def run(self, *args, **kwargs):
- return subprocess.run(['ssh',
- '-o', 'LogLevel Error',
- '-p', str(self.port),
- f'{self.user}@{self.ssh}',
- '--',
- *args,
- ], **kwargs)
-
- def disk_free(self):
- process = self.capturun('df', '-h', os.curdir)
- return process.stdout.decode('UTF-8').strip()
-
- def os(self):
- ps = self.capturun('cat', '/etc/os-release')
- if ps.returncode == 0:
- for line in ps.stdout.decode('UTF-8').strip().split(os.linesep):
- if 'PRETTY_NAME' in line:
- return line.split('=')[1].split('"')[1]
- else:
- return self.capturun('uname', '-sr').stdout.decode('UTF-8').strip()
-
- def __str__(self):
- return os.linesep.join([self.target, self.url])
diff --git a/readme.md b/readme.md
deleted file mode 100644
index 97ed378..0000000
--- a/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Marc Beninca
-
-## ToDo
-
-## Nope
-
-### Email
-
- * biolink.me
-
-### GAFAM
-
- * about.me
diff --git a/sync.py b/sync.py
deleted file mode 100755
index 2a63d5d..0000000
--- a/sync.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /usr/bin/env python3
-
-import os
-import subprocess
-
-import pubnix
-
-ARGS = [
- {'dn':'blinkenshell.org',
- 'ssh': 'ssh', 'port': 2222, 'web': 'u', 'sub': True},
- {'dn':'ctrl-c.club', 'sub': False},
- {'dn':'dimension.sh', 'sub': True},
- {'dn':'envs.net', 'sub': True},
- {'dn':'freeshell.de', 'sub': False},
- # {'dn':'hextilde.xyz', 'sub': True},
- {'dn':'insomnia247.nl', 'dir': True, 'sub': True},
- {'dn':'p.projectsegfau.lt', 'sub': True},
- # {'dn':'pubnix.pink', 'web': 'sites', 'sub': False},
- {'dn':'rawtext.club', 'sub': False},
- {'dn':'rw.rs', 'sub': False},
- {'dn':'thunix.net', 'sub': False},
- {'dn':'tilde.32bit.cafe', 'root': 'www', 'sub': False},
- {'dn':'tilde.cafe', 'sub': True},
- {'dn':'tilde.club', 'sub': False},
- {'dn':'tilde.fun', 'root': 'html', 'sub': False},
- {'dn':'tilde.green', 'sub': False},
- {'dn':'tilde.guru', 'sub': False},
- {'dn':'tilde.institute', 'sub': True},
- {'dn':'tilde.pink', 'sub': False},
- {'dn':'tilde.team', 'sub': True},
- {'dn':'tilde.town', 'sub': False},
- # {'dn':'trash.town', 'sub': False},
- # permissions
- # {'dn':'sdf.org', 'root': 'html', 'sub': True},
- # old
- {'dn':'fr.tild3.org', 'sub': True},
- {'dn':'remotes.club', 'port': 9022, 'root': 'web', 'sub': True},
- {'dn':'squiggle.city', 'sub': False},
- # down
- # {'dn':'aussies.space', 'sub': False},
- # {'dn':'heathens.club', 'root': 'www', 'sub': False},
- # {'dn':'vern.cc', 'sub': True},
-]
-PUBNIXES = [pubnix.PubNix(**args) for args in ARGS]
-
-
-def sync(root, pubnix, exclude=None):
- args = [
- 'rsync',
- '--archive',
- '--checksum',
- '--delete-before',
- '--rsh', f"ssh -o 'LogLevel Error' -p {pubnix.port}",
- '--partial',
- '--progress',
- '--verbose',
- os.path.join(root, str()),
- ]
- for item in exclude:
- args.extend(['--exclude', os.path.join(str(), item)])
- args.append(os.path.join(pubnix.target, str()))
- subprocess.call(args, stdout=subprocess.DEVNULL)
-
-
-def main():
- root = os.path.dirname(os.path.realpath(__file__))
- root = os.path.join(root, 'out', 'web')
- dns_length = max([len(pubnix.dn) for pubnix in PUBNIXES])
- for pubnix in PUBNIXES:
- print()
- print(pubnix)
- # print(f'{pubnix.dn.rjust(dns_length)} → ', end=str(), flush=True)
- sync(root, pubnix, exclude=['__pycache__', 'pgp.asc'])
- # print(pubnix.disk_free())
- # print(pubnix.os())
-
-
-if __name__ == '__main__':
- main()
diff --git a/test.css b/test.css
deleted file mode 100644
index fcb78a1..0000000
--- a/test.css
+++ /dev/null
@@ -1,40 +0,0 @@
-.tabs {
-display: flex;
-flex-wrap: wrap;
-}
-.tabs > input {
-display: none;
-}
-.tabs > input:checked + label + div {
-display: block;
-}
-.tabs > label {
-order: 1;
-}
-.tabs > div {
-display: none;
-flex-basis: 100%;
-order: 2;
-}
-
-.tabs {
-border: 1px solid;
-}
-.tabs > input:checked + label {
-background-color: gray;
-}
-.tabs > label {
-padding: 10px;
-}
-.tabs > div {
-padding: 10px;
-}
-
-body {
-background-color: white;
-color: black;
-}
-body.dark {
-background-color: black;
-color: white;
-}
diff --git a/test.html b/test.html
deleted file mode 100644
index 982a6e6..0000000
--- a/test.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tab: 1
-
-
-
-
Tab: 1 / 1
-
Tab: One / One
-
-
Tab: 1 / 2
-
Tab: One / Two
-
-
Tab: 1 / 3
-
Tab: One / Three
-
-
-
-
Tab: 2
-
-
-
-
Tab: 2 / 1
-
Tab: Two / One
-
-
Tab: 2 / 2
-
Tab: Two / Two
-
-
Tab: 2 / 3
-
Tab: Two / Three
-
-
-
-
-
-
diff --git a/test.js b/test.js
deleted file mode 100644
index b482e7c..0000000
--- a/test.js
+++ /dev/null
@@ -1,29 +0,0 @@
-function check(tab) {
- const tabs = tab.split('/')
- let path = 'tab'
- for (tab of tabs) {
- path = `${path}/${tab}`
- document.getElementById(path).checked = true
- }
-}
-function push(tab) {
- window.history.pushState(null, null, `?tab=${tab}`)
-}
-function update(id) {
- const tab = id.split('/').slice(1).join('/')
- push(tab)
-}
-function main() {
- let tab = (new URL(document.location)).searchParams.get('tab')
- if (tab) {
- check(tab)
- } else {
- tab = '1/1'
- check(tab)
- push(tab)
- }
-}
-
-function swap() {
- document.body.classList.toggle('dark')
-}