OcttKB Cross-Repo Sync (HTML to Raw)

This commit is contained in:
2023-07-23 13:33:31 +00:00
parent 0cfc51da4e
commit 49c7acc7f3
971 changed files with 50 additions and 29 deletions

View File

@@ -0,0 +1,9 @@
created: 20230218224840540
creator: Octt
list-before: $:/config/TiddlerIconFilters/default
modified: 20230218230846245
modifier: Octt
tags: $:/tags/TiddlerIconFilter
title: $:/OcttKB/Config/TiddlerIconFilters/Emoji
[has[Emoji]then{!!Emoji}addprefix[$:/Emojis/]]

View File

@@ -0,0 +1,15 @@
Enabled: 0
created: 20230413083119554
creator: Octt
modified: 20230429202841556
modifier: Octt
tags: $:/GlobalOption
title: $:/OcttKB/Config/AiLinks.ui
<$checkbox
field="Enabled"
checked="1"
unchecked="0"
>
Bing AI Links
</$checkbox>

View File

@@ -0,0 +1,15 @@
Enabled: 0
created: 20230208220901786
creator: Octt
modified: 20230530102728783
modifier: Octt
tags: $:/GlobalOption
title: $:/OcttKB/Config/LargeSidebar.ui
<$checkbox
field="Enabled"
checked="1"
unchecked="0"
>
Larger Sidebar
</$checkbox>

View File

@@ -0,0 +1,18 @@
#!/bin/sh
. ./Src.*.sh || true
# Update time of last edit
sh ./EmptySetDate.sh || true
# Ensure important directories
rm -rf ./Output.tmp || true
# Build HTML TiddlyWiki SPA
tiddlywiki \
./Wiki-OcttKB \
--verbose \
--output ./Output.tmp \
--rendertiddler "$:/core/save/all" "index.html" "text/plain"
mkdir -vp ./public
mv -v ./Output.tmp/index.html ./public/index.html

View File

@@ -0,0 +1,6 @@
created: 20230417120033076
creator: Octt
modified: 20230417120419255
modifier: Octt
title: $:/OcttKB/Repo/BuildSPA.sh
type: text/plain

View File

@@ -0,0 +1,4 @@
#!/bin/sh
. ./Src.*.sh || true
SetupGitProfile
TryCrossRepoSync

View File

@@ -0,0 +1,6 @@
created: 20230611200427481
creator: Octt
modified: 20230611201410726
modifier: Octt
title: $:/OcttKB/Repo/Deploy.CrossRepoSync.sh
type: text/plain

View File

@@ -0,0 +1,4 @@
#!/bin/sh
. ./Src.*.sh || true
sh ./BuildSPA.sh
sh ./DeployAll.sh

View File

@@ -0,0 +1,7 @@
created: 20230228080039630
creator: Octt
modified: 20230611195317148
modifier: Octt
tags:
title: $:/OcttKB/Repo/Deploy.Main.sh
type: text/plain

View File

@@ -0,0 +1,18 @@
#!/bin/sh
mkdir -p ./public
cd ./public
# Build single-page no-JS wiki
tiddlywiki \
--load ./index.html \
--output ./ \
--rendertiddler $:/core/templates/static.template.css Style.css text/plain \
--rendertiddler $:/core/templates/alltiddlers.template.html Static.html text/plain
# Apply patches to the static HTML
python3 ../PatchStatic.py ./Static.html
# Deploy copies of immediately previous versions
Url="https://kb.octt.eu.org"
wget -O ./-1.html "$Url" || true
wget -O ./-2.html "$Url/-1.html" || true

View File

@@ -0,0 +1,6 @@
created: 20230126082147025
creator: Octt
modified: 20230414105637948
modifier: Octt
title: $:/OcttKB/Repo/DeployAll.sh
type: text/plain

View File

@@ -0,0 +1,6 @@
#!/bin/sh
cat << EOF > ./Wiki-OcttKB/tiddlers/System/\$__OcttKB_Empty.tid
created: 19700101000000000
modified: $(date +%Y%m%d%H%M%S000)
title: \$:/OcttKB/Empty
EOF

View File

@@ -0,0 +1,6 @@
created: 20230414104412035
creator: Octt
modified: 20230414104554549
modifier: Octt
title: $:/OcttKB/Repo/EmptySetDate.sh
type: text/plain

View File

@@ -0,0 +1,60 @@
#!/bin/sh
set -e # Exit on any error
set -x # Echo all commands
# Configuration
TargetWiki="OcttKB"
TargetRepo="OcttKB"
git clone --depth 1 "https://gitlab.com/octtspacc/$TargetRepo" "./Repo-$TargetRepo"
cd "./Repo-$TargetRepo"
rm -rf "./Wiki-$TargetWiki" || true
tiddlywiki \
--verbose \
--load "../$TargetWiki.html" \
--output "./Wiki-$TargetWiki" \
--savewikifolder "./Wiki-$TargetWiki"
cd "./Wiki-$TargetWiki/tiddlers"
for Dir in Normal System
do mkdir -vp "../${Dir}" "../${Dir}.tmp"
done
mv \$__* ../System.tmp/ || true
mv * ../Normal.tmp/ || true
#mv .* ../Normal.tmp/ || true
cd ..
# Note: if the hell happens again:
# find -type f -name .tid -exec sh -c 'OldFile="{}"; Ext="$(echo "${OldFile}" | rev | cut -d"." -f1 | rev)"; NewFile="$(echo "${OldFile}" | sed -e "s|_|/|g" | rev | cut -d"." -f2- | rev)_.${Ext}"; mv "$OldFile" "$NewFile"; ' \;
for TypeDir in System Normal
do
cd "./${TypeDir}.tmp"
for OldFile in *
do
#Ext="$(echo "${OldFile}" | rev | cut -d"." -f1 | rev)"
#NewFile="$(echo "${OldFile}" | sed -e 's|_|/|g' | rev | cut -d"." -f2- | rev)_.${Ext}"
NewPath="$(echo "${OldFile}" | sed -e 's|_|/|g')"
NewName="$(basename "${NewPath}")"
NewParent="$(echo "${NewPath}" | rev | cut -d"/" -f2- | rev)"
{ [ "${NewPath}" = "${NewName}" ] && [ "${NewPath}" = "${NewParent}" ] ;} \
&& NewFile="_${NewPath}" \
|| NewFile="${NewParent}/_${NewName}"
#[ "$(basename "${NewFile}") | cut -b1" = . ]
mkdir -p "../${TypeDir}/${NewFile}"
rm -rf "../${TypeDir}/${NewFile}"
mv "./${OldFile}" "../${TypeDir}/${NewFile}"
done
cd ..
done
mv ./System ./System.tmp/System
mv ./System.tmp/System/\$ ./System
mv ./System ./Normal ./tiddlers
rm -rf ./System.tmp ./Normal.tmp
cd ..
GitPush "OcttKB Cross-Repo Sync (HTML to Raw)"

View File

@@ -0,0 +1,6 @@
created: 20230611200714094
creator: Octt
modified: 20230611213201141
modifier: Octt
title: $:/OcttKB/Repo/GitLab.CrossRepoSync.sh
type: text/plain

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env python3
from base64 import b64encode
from bs4 import BeautifulSoup
from re import sub
from sys import argv
File = argv[-1]
B64Prefix = 'data:text/html;base64,'
def b64encodeStr(Data):
return b64encode(Data.encode()).decode()
def MkHtml(Content:str):
return f'''\
<!DOCTYPE html>
<html>
<body>{Content}</body>
</html>
'''
def Fix1(m):
return f'<details><a name="{m.group(1)}"></a><summary>{m.group(2)}</summary>'
def SafeIframe(m):
SrcData = m.group(2)
SrcData = b64encodeStr(MkHtml(f'<a href="{SrcData}">Click to load: {SrcData}</a>'))
return f'<iframe {m.group(1)} src="{B64Prefix}{SrcData}"></iframe>'
Html = str(BeautifulSoup(open(File, 'r'), 'html5lib'))
Html = sub('<details><a name="(.+)"><summary>(.+)<\/summary>\s*<\/a>', Fix1, Html)
Html = sub('<iframe( +)src="(.+)"><\/iframe>', SafeIframe, Html)
Html = sub('<iframe (.+) src="(.+)"><\/iframe>', SafeIframe, Html)
open(File, 'w').write(Html)

View File

@@ -0,0 +1,6 @@
created: 20230307221237990
creator: Octt
modified: 20230307221722752
modifier: Octt
title: $:/OcttKB/Repo/PatchStatic.py
type: text/plain

View File

@@ -0,0 +1,26 @@
#!/bin/sh
GitPush(){
git add .
git commit -m "$1"
git push
}
SetupGitProfile(){
git config --global user.email "$GitUserEmail"
git config --global user.name "$GitUserName"
git config --global credential.helper store
echo "https://$GitUserName:$GitPassword@gitlab.com" > ~/.git-credentials
}
TryCrossRepoSync(){
CommitCheck="$(git log -1 --pretty=%B | ToLower)"
CommitMsg0="$("OcttKB Cross-Repo Sync" | ToLower)"
[ "$CommitCheck" != "$CommitMsg0 (html to raw)" ] && \
[ "$CommitCheck" != "$CommitMsg0 (raw to html)" ] && \
[ "$CommitCheck" != "$CommitMsg0 (htm to raw)" ] && \
[ "$CommitCheck" != "$CommitMsg0 (raw to htm)" ] && \
[ "$CommitCheck" != "$CommitMsg0 (web to raw)" ] && \
[ "$CommitCheck" != "$CommitMsg0 (raw to web)" ] && \
. ./GitLab.CrossRepoSync.sh || true
}

View File

@@ -0,0 +1,6 @@
created: 20230413125137469
creator: Octt
modified: 20230611232242860
modifier: Octt
title: $:/OcttKB/Repo/Src.Git.sh
type: text/plain

View File

@@ -0,0 +1,3 @@
#!/bin/sh
ToLower(){ echo "$1" | tr "[:upper:]" "[:lower:]"; }

View File

@@ -0,0 +1,6 @@
created: 20230414104412035
creator: Octt
modified: 20230414104554549
modifier: Octt
title: $:/OcttKB/Repo/Src.Misc.sh
type: text/plain

View File

@@ -0,0 +1,12 @@
caption: Map
created: 20230208165943628
creator: Octt
list-after: More
modified: 20230413082017130
modifier: Octt
tags: $:/tags/SideBar
title: $:/OcttKB/TheBrain/Focus
type:
{{$:/OcttKB/TheBrain/Levels.cfg}}
{{$:/OcttKB/TheBrain/Tiddler-Focused.wgt}}

View File

@@ -0,0 +1,19 @@
.Levels: 3
.Levels-Max: 8
.Levels-Min: 1
created: 20230208170228555
creator: Octt
modified: 20230221210807319
modifier: Octt
tags:
title: $:/OcttKB/TheBrain/Levels.cfg
<style>
input[type=number] { width: 1.5em; }
</style>
Depth: {{!!.Levels}}
<$edit-text type="number" style="width: 10px !important;" field=".Levels-Min" />
<$range min={{!!.Levels-Min}} max={{!!.Levels-Max}} field=".Levels" />
<$edit-text type="number" field=".Levels-Max" />

View File

@@ -0,0 +1,8 @@
created: 20230208171128457
creator: Octt
modified: 20230208171248569
modifier: Octt
tags:
title: $:/OcttKB/TheBrain/Tiddler-Focused.wgt
<$echarts $tiddler="$:/plugins/Gk0Wk/echarts/addons/TheBrain.js" aliasField="caption" levels={{$:/OcttKB/TheBrain/Levels.cfg!!.Levels}} />

View File

@@ -0,0 +1,10 @@
.Tiddler: Octt
created: 20230208170700510
creator: Octt
modified: 20230209164108677
modifier: Octt
tags:
title: $:/OcttKB/TheBrain/Tiddler-Manual.wgt
<$edit-text class="Edit-Text-Full" field=".Tiddler" />
<$echarts $tiddler="$:/plugins/Gk0Wk/echarts/addons/TheBrain.js" aliasField="caption" levels={{$:/OcttKB/TheBrain/Levels.cfg!!.Levels}} focussedTiddler={{!!.Tiddler}} />

View File

@@ -0,0 +1,8 @@
created: 20230110205229441
modified: 20230110213137071
tags:
title: $:/OcttKB/Tweaks/Starlight.cfg
!!! Personal Tweaks
|<$link to="$:/Config/OcttKB/Tweaks/Starlight/.tc-story-river Padding">.tc-story-river Padding</$link><br>//Default 42px.//|<$edit-text tiddler="$:/Config/OcttKB/Tweaks/Starlight/.tc-story-river Padding" default="" tag="input"/>|

View File

@@ -0,0 +1,13 @@
caption: All
created: 20220922114846670
creator: Octt
list-after: Open
list-before: Recent
modified: 20230208171825414
modifier: Octt
tags: $:/tags/SideBar
title: $:/OcttKB/AllTiddlers
type:
<!-- <<list-links "[!is[system]sort[title]]">> -->
<<tree_>>

View File

@@ -0,0 +1,3 @@
created: 19700101000000000
modified: 20230723102216000
title: $:/OcttKB/Empty

View File

@@ -0,0 +1,50 @@
/*\
Load our reusable, comodity JS functions.
\*/
exports.startup = function() {
try {
var $OcttKB = {};
$OcttKB.ErrAtLine = function ErrAtLine(e) {
var Str = `${e.stack.split('\n')[0]}: ${e}`
console.log(Str);
return Str;
};
/*
$OcttKB.EvalDecodeURI = function EvalDecodeURI(Str) {
eval(decodeURIComponent(Str));
};
*/
$OcttKB.Options = {};
$OcttKB.Options.Trues = [1, true, 'yes'];
$OcttKB.Options.Falses = [0, false, 'no'];
$OcttKB.Options.Nulls = ['none', 'null'];
$OcttKB.MediaWiki = {};
$OcttKB.MediaWiki.MkDomain = function MkDomain(Domain) {
if (!Domain) {
Domain = 'en.wikipedia.org';
} else
if (!Domain.includes('.')) {
Domain += '.wikipedia.org';
};
Domain = Domain.toLowerCase();
if (!Domain.startsWith('http://') && !Domain.startsWith('https://')) {
Domain = 'https://' + Domain;
};
return Domain;
};
window.$OcttKB = $OcttKB;
window.ErrAtLine = $OcttKB.ErrAtLine;
/*window.EvalDecodeURI = $OcttKB.EvalDecodeURI;*/
} catch(e) {
var Str = `${e.stack.split('\n')[0]}: ${e}`
console.log(Str);
return Str;
};
};

View File

@@ -0,0 +1,8 @@
created: 20230111221906132
creator: Octt
modified: 20230125220054682
modifier: Octt
module-type: startup
tags:
title: $:/OcttKB/Functions.js
type: application/javascript

View File

@@ -0,0 +1,27 @@
created: 20230413080548417
creator: Octt
list-before: $:/core/ui/SideBarSegments/search
modified: 20230413124924940
modifier: Octt
tags: $:/tags/SideBarSegment
title: $:/OcttKB/GlobalOptions.ui
<details class=tw-details>
<summary>
<b>Options</b>
(<$set name=NumTotal filter_="[has:field[Enabled]count[]]" filter="[tag[$:/GlobalOption]count[]]">
<$set name=NumEnabled filter="[tag[$:/GlobalOption]Enabled[1]count[]]">
<<NumEnabled>>/<<NumTotal>>
</$set>
</$set>)
</summary>
<style>
label {
display: inline-block;
width: 100%;
}
</style>
{{$:/OcttKB/Config/LargeSidebar.ui}}
<br/><br/>
{{$:/OcttKB/Config/AiLinks.ui}}
</details>

View File

@@ -0,0 +1,13 @@
created: 20230117113707614
creator: Octt
modified: 20230228112449928
modifier: Octt
tags:
title: $:/OcttKB/LastEditTime
\whitespace trim
<$list filter="[![$:/StoryList]![$:/HistoryList]!prefix[$:/temp/]!prefix[$:/state]get[modified]!prefix[NaN]!sort[]limit[1]]" variable="modified">
<$list filter="[modified<modified>]">
<$text text={{{[{!!modified}format:date[YYYY-0MM-0DD, 0hh:0mm]]}}}/>
</$list>
</$list>

View File

@@ -0,0 +1,6 @@
created: 20230112094149171
modified: 20230112210048896
tags:
title: $:/OcttKB/LicensingButtons
<$link to="OcttKB/Licensing" class="CC-BY-SA-Button">[img[$:/ThirdParty/Buttons/CC BY-SA.svg]]</$link>

View File

@@ -0,0 +1,19 @@
/*\
Load our custom polyfills, for old browsers support.
\*/
exports.startup = function() {
try {
// https://stackoverflow.com/a/63958411
if (!String.prototype.replaceAll) {
String.prototype.replaceAll = function replaceAll(search, replace) {
return this.split(search).join(replace);
};
};
} catch(e) {
const Str = `${e.stack.split('\n')[0]}: ${e}`
console.log(Str);
return Str;
};
};

View File

@@ -0,0 +1,8 @@
created: 20230111154758023
creator: Octt
modified: 20230429192213300
modifier: Octt
module-type: startup
tags:
title: $:/OcttKB/Polyfills.js
type: application/javascript

View File

@@ -0,0 +1,10 @@
created: 20230227073225540
creator: Octt
modified: 20230227073319615
modifier: Octt
tags:
title: $:/OcttKB/StartButton
<div>
<$link to="OcttKB" class="StartHere-Button">[img[$:/ThirdParty/Icons/Windows/9x-Start.png]] <span>here!</span></$link>
</div>

View File

@@ -0,0 +1,19 @@
created: 20230112221909714
creator: Octt
modified: 20230227073428911
modifier: Octt
tags:
title: $:/OcttKB/StaticBanner
<div style="Padding-Left:16px; Padding-Right:16px;">
<h1 class="tc-site-title">
[[OcttKB]]
</h1>
<div class="tc-site-subtitle">
Octt Knowledge Base || Powered by [[TiddlyWiki|TiddlyWiki]].</div>
<p>
<b>Note</b>: You're viewing the no-JS version of this site, some features will be missing. For the best experience, <a href="./">load the full version</a>.
</p>
</div>
{{$:/OcttKB/StartButton}}

View File

@@ -0,0 +1,27 @@
created: 20230110181206539
modified: 20230110182005662
tags:
title: $:/OcttKB/TagCloud
\import [[$:/ThirdParty/TiddlyTools/FilterGenerators/TagCloud]]
\define config() $:/config/TiddlyTools/TagCloud
\define options() $:/state/popup/tagcloud
\define default_min() 0.75
\define default_step() 0.25
\define default_max() 3.00
\define default_group() 5
<style>
.tc-tag-label { white-space: normal !important; }
.tc-tag-list-item { padding: 2px; }
.tt-tagcloud input { width:auto !important; }
.tt-tagcloud input.option { width:3em !important; text-align:right; }
</style>
<div class="tt-tagcloud">
<!--<<tagcloud_select>>--->
<!--<$set name=taglist filter="[<config>get[taglist]enlist-input[]]">--->
<$set name=taglist filter="[tags[]!is[system]]">
<!--<<tagcloud_summary>>--->
<<tagcloud_show>>

View File

@@ -0,0 +1,10 @@
created: 20230110183048646
creator: Octt
modified: 20230301201445152
modifier: Octt
tags:
title: $:/OcttKB/ToC
<div class="tc-table-of-contents">
<<toc-selective-expandable "$:/ToC">>
</div>

View File

@@ -0,0 +1,17 @@
Url: https://tiddlywiki.com
caption: Browser
created: 20230225105917089
creator: Octt
list-after: Map
modified: 20230504094359155
modifier: Octt
tags: $:/tags/SideBar
title: $:/OcttKB/WebBrowser
<small>Yo dawg, I heard you like web browsers, so I put a browser inside this wiki, so that you can browse the web while you use your browser to browse the wiki from your browser!
<small>If the CORS machine doesn't break again, that is...</small>
</small>
<$edit-text class="Edit-Text-Full" tiddler="$:/OcttKB/WebBrowser" field="Url"/>
<$macrocall $name="iFrameBypass" Src={{$:/OcttKB/WebBrowser!!Url}} Class="iFrameFitX iFrameFullY"/>

View File

@@ -0,0 +1,109 @@
### My personal links!
- [Mastodon](https://mastodon.uno/@octo) - Microblog, 98% italian
- [Pixelfed](https://pixelfed.uno/@octo) - Where I post my pictures
- [[🇮🇹️] Noblogo](https://noblogo.org/loli-documentatrice) - Old blog (italian)
- Spacc Inc - [Website](https://spacc.xyz), [Telegram (photos of broken stuff)](https://t.me/s/SpaccInc)
- SpaccCraft, my Minecraft server (italian): [Website](https://spacccraft.altervista.org), [Telegram](https://t.me/s/SpaccCraft), [Misskey](https://misskey.social/@SpaccCraft)
### Scripts and Configs
- [Andronix Scripts](https://github.com/AndronixApp/AndronixOrigin) - Scripts to install containerized Linux distros on Android in Termux
### Awesome Big Libre Games!
- [Techmino](https://github.com/26F-Studio/Techmino) - Flashy libre Tetris :)
- [Sonic Robo Blast 2](https://www.srb2.org) - Sonic pseudo-3D platformer
- [Sonic Robo Blast 2 Kart](https://wiki.srb2.org/wiki/SRB2Kart) - Sonic pseudo-3D kart racing
- [Minetest](https://www.minetest.net) - Minining, crafting, and exploring game
- [SuperTux](https://www.supertux.org) - Classic platformer but with the Linux penguin
- [Extreme Tux Racer](https://sourceforge.net/projects/extremetuxracer) - Snow racing game, with the Linux penguin
- [SuperTuxKart](https://supertuxkart.net) - Kart racing with many libre mascots
- [Xonotic](https://xonotic.org) - Super fast arena FPS
- [osu! lazer](https://github.com/ppy/osu) - Flashy multi-mode rhythm game
### Awesome Arcade Libre Games!
- [krassesSpiel](https://f-droid.org/packages/com.autismprime.krassesSpiel) - Shooting at boxes and avoiding enemy projectiles
- [Antimine](https://f-droid.org/packages/dev.lucanlm.antimine) - Classic Minesweeper with a modern look
- [SpaceCadetPinball](https://github.com/k4zmu2a/SpaceCadetPinball) - The classic 3D Pinball
- [HexGL](https://hexgl.bkcore.com) - F-Zero inspired, fast racing game
- [TuxPuck](https://packages.debian.org/search?keywords=tuxpuck) - Penguin air hockey game
### Awesome Libre Demos!
- [bb](http://aa-project.sourceforge.net/bb) - AA-lib text animation demo
### Awesome Libre Cross-Platform Tools!
- [Rclone](https://rclone.org) - CLI tool for managing cloud storage in flexible ways
- [Cryptomator](https://cryptomator.org) - Data encryption tool with cloud storage in mind
- [7-Zip](https://www.7-zip.org) - Useful file archiver supporting the efficient 7z format
- [GNU nano](https://www.nano-editor.org), [ne](https://ne.di.unimi.it) - CLI text editors
- [htop](https://htop.dev), [bottom](https://github.com/ClementTsang/bottom), [btop](https://github.com/aristocratos/btop) - CLI system monitors
- [bat](https://github.com/sharkdp/bat) - Advanced cat clone
- [RustDesk](https://github.com/rustdesk/rustdesk) - Promising remote desktop software
- [Deskreen](https://github.com/pavlobu/deskreen) - Turns a secondary PC into a secondary screen for a primary PC
- [Tor](https://www.torproject.org) - Anonymity and security online
### Awesome Libre Desktop Tools!
- [CoolRetroTerm](https://github.com/Swordfish90/cool-retro-term) - Terminal emulator that emulates a CRT monitor
- [OBS Studio](https://obsproject.com) - Advanced video recording/streaming tool
- [Olive](https://olivevideoeditor.org) - Nice and simple video editor
- [Kdenlive](https://kdenlive.org) - Video editor from KDE
- Shotcut - [Website](https://shotcut.org), [Source](https://github.com/mltframework/shotcut) - Video editor that might be my current favourite
- [Mint Webapp Manager](https://github.com/linuxmint/webapp-manager) - Using webapps as desktop apps
### Awesome Desktop Linux Themes!
- [Chicago95](https://github.com/grassmunk/Chicago95) - Windows 95 theme for XFCE
- [Papirus](https://github.com/PapirusDevelopmentTeam/papirus-icon-theme) - Material icon theme
### Awesome Libre Dev Stuff!
- [TIC-80](https://tic80.com) - Fantasy retro computer
### Awesome Web Frameworks!
- [98.css](https://github.com/jdan/98.css), [XP.css](https://github.com/botoxparty/XP.css), [7.css](https://github.com/khang-nd/7.css) - Windows-styled CSS
### Awesome Emulation Stuff!
- [Dolphin Emulator](https://dolphin-emu.org) - Emulator for the GameCube + Overclocked GameCube
- [yuzu](https://yuzu-emu.org), [Ryujinx](https://ryujinx.org), [Skyline](https://github.com/skyline-emu/skyline) emulator - Switch emulators
### Fediverse Bonanza!
- [Mastodon](https://github.com/mastodon/mastodon) - Simple microblogging
- [tooot](https://github.com/tooot-app/app) - Clean mobile Mastodon client
- [Friendica](https://github.com/friendica/friendica) - Advanced macroblogging and communication
- [Misskey](https://github.com/misskey-dev/misskey) - Colorful and advanced microblogging
- [Pixelfed](https://github.com/pixelfed/pixelfed) - Photo/video sharing
- [Lemmy](https://github.com/LemmyNet/lemmy) - Link aggregator and forum platform
- Bonfire - [Website](https://bonfirenetworks.org), [Source](https://github.com/bonfire-networks/bonfire-app) - New simple microblogging platform, with a focus on no-JS use
### Awesome Libre Server-Side Software!
- [Invidious](https://github.com/iv-org/invidious) - YouTube frontend
- [Nitter](https://github.com/zedeus/nitter) - Twitter frontend
- [Bibliogram](https://sr.ht/~cadence/bibliogram) - Instagram frontend
- [Libreddit](https://github.com/spikecodes/libreddit) - Reddit frontend
### Awesome Libre Android Tools!
- [WiGLE WiFi Wardriving](https://f-droid.org/packages/net.wigle.wigleandroid) - Tool for geomapping WiFi APs and Bluetooth devices
- [Gadgetbridge](https://f-droid.org/packages/nodomain.freeyourgadget.gadgetbridge) - Libre companion app for proprietary smart bands
- [Termux](https://f-droid.org/packages/com.termux) - Terminal emulator with integrated package manager and repos
- [Linux Deploy](https://github.com/meefik/linuxdeploy) - Quick tool for running full Linux distros on Android (containerized with Chroot); Use v<=2.5.1 for Android<5; Use v<=2.4.1 for Proot (no root needed on Android);
- [NewPipe](https://github.com/TeamNewPipe/NewPipe) - Frontend for YouTube and other platforms
- [Lawndesk](https://github.com/renzhn/Lawndesk) - Launcher without app drawer
- [Taskbar](https://github.com/farmerbb/Taskbar) - Desktop-like launcher
### MicroPython Stuff!
- [MicroPython](https://micropython.org) - MP itself, a lightweight Python implementation
- [FBConsole](https://github.com/boochow/FBConsole) - Frame buffer console class for MP (for displaying Python REPL on a display)
- [Micropython-Editor](https://github.com/robert-hh/Micropython-Editor) - Console text editor for MP
- [SH1106](https://github.com/robert-hh/SH1106) - MP driver for SH1106 OLED displays
- [PCF8574](https://github.com/mcauser/micropython-pcf8574) - MP driver for PCF8574 8-Bit I2C I/O Expander

View File

@@ -0,0 +1,5 @@
created: 20230117110233701
modified: 20230117110923520
tags:
title: $:/OcttKB/bachecoctt.md.old
type: text/plain