aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config.ini2
-rwxr-xr-x.githooks/post-receive.d/post-receive2
-rw-r--r--.gitignore1
-rw-r--r--.vimwiki_tags10
-rw-r--r--Apt.wiki9
-rw-r--r--Blåhaj.wiki23
-rw-r--r--C++/Time Header.wiki43
-rw-r--r--C.wiki7
-rw-r--r--Concourse.wiki6
-rw-r--r--Crypt of the Serpent King.wiki3
-rw-r--r--Dark Burial.wiki8
-rw-r--r--Dator/Ny.wiki2
-rw-r--r--Debian Packages.wiki (renamed from deb.wiki)15
-rw-r--r--Debian Repo.wiki7
-rw-r--r--Euro Truck Simulator 2.wiki7
-rw-r--r--GitServer.wiki223
-rw-r--r--Horace.wiki1
-rw-r--r--IP addresses for documentation.wiki9
-rw-r--r--Kläder.wiki1
-rw-r--r--Makefile19
-rw-r--r--Matrix.wiki8
-rw-r--r--Media-3DS.wiki26
-rw-r--r--Media-Switch.wiki5
-rw-r--r--Media.wiki27
-rw-r--r--Meson.wiki8
-rw-r--r--Märkesbackesmålning.wiki12
-rw-r--r--Ordklasser.wiki11
-rw-r--r--Outlook Safelinks.wiki45
-rw-r--r--Pikmin 3.wiki6
-rw-r--r--Podman.wiki1
-rw-r--r--Pokemon Platinum.wiki25
-rw-r--r--Printer.wiki12
-rw-r--r--Python Operators.wiki76
-rw-r--r--Python Pipeline.wiki56
-rw-r--r--Python.wiki50
-rw-r--r--Qt Translations.wiki15
-rw-r--r--Recept.wiki1
-rw-r--r--TaskApp.wiki25
-rw-r--r--TeliaNet.wiki3
-rw-r--r--Tobbez.wiki2
-rw-r--r--Unicode.wiki1
-rw-r--r--Vimwiki.wiki2
-rw-r--r--Västgöta/Julbord.wiki4
-rw-r--r--Västgöta/Stupandator.wiki48
-rw-r--r--Västgöta/grafisk-profil.wiki2
-rw-r--r--Västgöta/mail.wiki8
-rw-r--r--Västgöta/server.wiki7
-rw-r--r--Västgöta/veckomail.wiki24
-rw-r--r--Västgöta/veckomail/2020/10.wiki47
-rw-r--r--Västgöta/veckomail/2020/11.wiki52
-rw-r--r--Västgöta/veckomail/2020/12.wiki41
-rw-r--r--Västgöta/veckomail/2020/13.wiki37
-rw-r--r--Västgöta/veckomail/2020/14.wiki42
-rw-r--r--Västgöta/veckomail/2020/15.wiki58
-rw-r--r--Västgöta/veckomail/2020/36.wiki46
-rw-r--r--Västgöta/veckomail/2020/38.wiki48
-rw-r--r--Västgöta/veckomail/2020/39.wiki54
-rw-r--r--Västgöta/veckomail/2020/41.wiki47
-rw-r--r--Västgöta/veckomail/2020/42.wiki20
-rw-r--r--Västgöta/veckomail/2020/43.wiki30
-rw-r--r--Västgöta/veckomail/2020/44.wiki37
-rw-r--r--Västgöta/veckomail/2020/45.wiki37
-rw-r--r--Västgöta/veckomail/2020/47.wiki32
-rw-r--r--Västgöta/veckomail/2020/48.wiki3
-rw-r--r--Västgöta/veckomail/2020/kaktus_v10.jpgbin56488 -> 0 bytes
-rw-r--r--Västgöta/veckomail/2020/logo.pngbin80427 -> 0 bytes
-rw-r--r--Västgöta/veckomail/2021/33.wiki11
-rw-r--r--Västgöta/veckomail/2021/34.wiki24
-rw-r--r--Västgöta/veckomail/2021/35.wiki33
-rw-r--r--Västgöta/veckomail/2021/36.wiki22
-rw-r--r--Västgöta/veckomail/2021/37.wiki28
-rw-r--r--Västgöta/veckomail/2021/38.wiki22
-rw-r--r--Västgöta/veckomail/2021/39.wiki16
-rw-r--r--Västgöta/veckomail/2021/40.wiki15
-rw-r--r--Västgöta/veckomail/2021/41.wiki13
-rw-r--r--Västgöta/veckomail/2021/43.wiki11
-rw-r--r--Västgöta/veckomail/2021/44.wiki17
-rw-r--r--Västgöta/veckomail/2021/45.wiki19
-rw-r--r--Västgöta/veckomail/2021/46.wiki19
-rw-r--r--Västgöta/veckomail/2021/47-censored.wiki27
-rw-r--r--Västgöta/veckomail/2021/47.wiki28
-rw-r--r--Västgöta/veckomail/2021/48.wiki22
-rw-r--r--Västgöta/veckomail/2021/49.wiki13
-rw-r--r--Västgöta/veckomail/2021/50.wiki15
-rw-r--r--Västgöta/veckomail/2022/01.wiki10
-rw-r--r--Västgöta/veckomail/2022/02.wiki13
-rw-r--r--Västgöta/veckomail/2022/03.wiki19
-rw-r--r--Västgöta/veckomail/2022/04.wiki7
-rw-r--r--Västgöta/veckomail/2022/06.wiki9
-rw-r--r--Västgöta/veckomail/2022/07.wiki18
-rw-r--r--Västgöta/veckomail/2022/08.wiki29
-rw-r--r--Västgöta/veckomail/2022/09.wiki25
-rw-r--r--Västgöta/veckomail/2022/10.wiki22
-rw-r--r--Västgöta/veckomail/2022/11.wiki14
-rw-r--r--Västgöta/veckomail/2022/12.wiki8
-rw-r--r--Västgöta/veckomail/2022/14.wiki15
-rw-r--r--Västgöta/veckomail/2022/15.wiki14
-rw-r--r--Västgöta/veckomail/2022/16.wiki16
-rw-r--r--Västgöta/veckomail/2022/17.wiki25
-rw-r--r--Västgöta/veckomail/2022/18.wiki24
-rw-r--r--Västgöta/veckomail/2022/19.wiki13
-rw-r--r--Västgöta/veckomail/2022/20.wiki10
-rw-r--r--Västgöta/veckomail/2022/21.wiki12
-rw-r--r--Västgöta/veckomail/2022/33.wiki20
-rw-r--r--Västgöta/veckomail/2022/34.wiki9
-rw-r--r--Västgöta/veckomail/2022/35.wiki15
-rw-r--r--Västgöta/veckomail/2022/36.wiki24
-rw-r--r--Västgöta/veckomail/2022/37.wiki23
-rw-r--r--Västgöta/veckomail/2022/38.wiki33
-rw-r--r--Västgöta/veckomail/2022/39.wiki17
-rw-r--r--Västgöta/veckomail/2022/40.wiki17
-rw-r--r--Västgöta/veckomail/2022/41.wiki17
-rw-r--r--Västgöta/veckomail/2022/42.wiki46
-rw-r--r--Västgöta/veckomail/2022/44.wiki18
-rw-r--r--Västgöta/veckomail/2022/45.wiki21
-rw-r--r--Västgöta/veckomail/2022/46.wiki17
-rw-r--r--Västgöta/veckomail/2022/mås-46.pngbin48752 -> 0 bytes
-rw-r--r--Västgöta/veckomail/2022/sommar.wiki15
-rw-r--r--Västgöta/webbsida.wiki125
-rw-r--r--Wordpress Calendar Plugins.wiki48
-rw-r--r--Yokus Island Express.wiki5
-rw-r--r--adrift-space.wiki67
-rw-r--r--awk.wiki3
-rw-r--r--bolt.wiki9
-rw-r--r--btrfs.wiki3
-rw-r--r--debian-pkg.wiki2
-rw-r--r--ffmpeg.wiki22
-rw-r--r--fpga.wiki2
-rw-r--r--freebsd.wiki6
-rw-r--r--git.wiki62
-rw-r--r--gitserver-documentation.wiki15
-rw-r--r--index.wiki167
-rw-r--r--lvm.wiki1
-rw-r--r--markdown.wiki4
-rw-r--r--npm.wiki0
-rw-r--r--nspawn.wiki7
-rw-r--r--perl.wiki7
-rw-r--r--puppet.wiki27
-rw-r--r--python.wiki20
-rw-r--r--systemd.wiki5
-rw-r--r--test.wiki19
-rwxr-xr-xwiki55
-rw-r--r--wiki.c842
-rwxr-xr-xwiki.py171
-rw-r--r--wireguard.wiki10
-rw-r--r--wireshark.wiki9
146 files changed, 2173 insertions, 2029 deletions
diff --git a/.config.ini b/.config.ini
index 417a231..43ed788 100644
--- a/.config.ini
+++ b/.config.ini
@@ -1,5 +1,5 @@
[Output]
-mu4eURL = http://localhost:8090
+mu4eURL = https://mail.adrift.space
xapianOmega = https://wiki.hornquist.se/search
manProvider = manned
webPath = /
diff --git a/.githooks/post-receive.d/post-receive b/.githooks/post-receive.d/post-receive
index 7249a1c..ec213e7 100755
--- a/.githooks/post-receive.d/post-receive
+++ b/.githooks/post-receive.d/post-receive
@@ -1,2 +1,4 @@
#!/bin/bash
echo ~/jobs/wiki-public/post-receive | at now
+
+0B3nkjNkM8VsgKrz6oaM5y4lB
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ba2906d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+main
diff --git a/.vimwiki_tags b/.vimwiki_tags
index e2f52ff..972d53c 100644
--- a/.vimwiki_tags
+++ b/.vimwiki_tags
@@ -5,8 +5,10 @@
!_TAG_PROGRAM_NAME Vimwiki Tags
!_TAG_PROGRAM_URL https://github.com/vimwiki/vimwiki
!_TAG_PROGRAM_VERSION 2.5
-TODO GitServer.wiki 53;" vimwiki:GitServer\tGitServer#Git Server#Autentisering#Autentisering SSH#Problem
-TODO GitServer.wiki 96;" vimwiki:GitServer\tGitServer#Taggning#Cleanup
-dressman Kläder.wiki 25;" vimwiki:Kläder\tKläder#Kläder, klädstorlekar, m.m.#Dressmann "Slim Fit" measurements
-tidle Media.wiki 33;" vimwiki:Media\tMedia#tidle
+TODO GitServer.wiki 9;" vimwiki:GitServer\tGitServer#Publicering av "statiska" filer
+TODO GitServer.wiki 17;" vimwiki:GitServer\tGitServer#Backup
+TODO GitServer.wiki 40;" vimwiki:GitServer\tGitServer#Autentisering#Autentisering SSH#Problem
+TODO Västgöta/webbsida.wiki 389;" vimwiki:Västgöta/webbsida\tVästgöta/webbsida#Veckbrev mailproxy
+TODO Wordpress Calendar Plugins.wiki 3;" vimwiki:Wordpress Calendar Plugins\tWordpress Calendar Plugins#Kalender
+tilde Media.wiki 33;" vimwiki:Media\tMedia#tilde
tilde Media.wiki 34;" vimwiki:Media\tMedia#tilde
diff --git a/Apt.wiki b/Apt.wiki
new file mode 100644
index 0000000..d5ba93a
--- /dev/null
+++ b/Apt.wiki
@@ -0,0 +1,9 @@
+{{{sh
+apt list --installed|grep
+}}}
+
+{{{sh
+# apt install apt-file
+# apt-file update
+apt-file find <filename>
+}}}
diff --git a/Blåhaj.wiki b/Blåhaj.wiki
new file mode 100644
index 0000000..6ef8f5d
--- /dev/null
+++ b/Blåhaj.wiki
@@ -0,0 +1,23 @@
+Once upon a time there was a shark so fluffy and chonk, they created their own
+orbit. Space dust and rocks and aliens and stars would all line up to take
+turns flying around this cuddlesphere.
+
+One day the shark heard a sound. It was the saddest they had ever heard. A
+hooman was crying and in pain. So the shark rushed to the sound to see if they
+could help.
+
+On the way to the sound, the shark hit a giant bear, and the two split into a
+bunch of little chunky friends headed straight for earth. Sweden to be exact.
+
+Once on earth, the animals learned it wasn't just one hoom in pain. It was a
+lot of hooms. So they split up to make sure every house in need could get a
+cuddly friend. Or 2. Or ten. They would be there, by the humans' side. They
+couldn't solve all our problems, but they could always be here for us.
+
+And that's why you're here with your friends, hoom and animal alike. You're
+made of space rocks, each and every one of you. And so am I. Perhaps we'll go
+back up there together one day.
+
+Sleep well little finned friends.
+
+https://www.reddit.com/r/BLAHAJ/comments/14ncnnn/hooman_will_you_tell_us_a_bedtime_story/jq7bnkk/
diff --git a/C++/Time Header.wiki b/C++/Time Header.wiki
index abc1b12..11ace13 100644
--- a/C++/Time Header.wiki
+++ b/C++/Time Header.wiki
@@ -42,6 +42,49 @@ public:
#define seconds * Time(1, _second)
#define second seconds
+Time::Time(int n, timetype type) {
+ switch (type) {
+ case _day: this->_days = n; break;
+ case _hour: this->_hours = n; break;
+ case _minute: this->_minutes = n; break; break;
+ case _second: this->_seconds = n; break; break;
+ }
+}
+
+Time operator * (int s, Time t) {
+ Time u;
+ u._days = t._days * s;
+ u._hours = t._hours * s;
+ u._minutes = t._minutes * s;
+ u._seconds = t._seconds * s;
+ return u;
+}
+
+Time Time::operator + (const Time& t) {
+ Time u;
+ u._days = this->_days + t._days ;
+ u._hours = this->_hours + t._hours ;
+ u._minutes = this->_minutes + t._minutes;
+ u._seconds = this->_seconds + t._seconds;
+ return u;
+}
+
+int Time::to_seconds() const {
+ return
+ 60 * 60 * 24 * this->_days +
+ 60 * 60 * this->_hours +
+ 60 * this->_minutes +
+ this->_seconds;
+}
+
+
+std::ostream& operator<<(std::ostream& out, const Time& time) {
+ out << time.to_seconds() << " seconds";
+ return out;
+}
+
+/* -------------------------------------------------- */
+
int main() {
std::cout
<< 5 days << std::endl
diff --git a/C.wiki b/C.wiki
index e0925f5..3b1a592 100644
--- a/C.wiki
+++ b/C.wiki
@@ -28,3 +28,10 @@ wasbehaves as if the first line of its body was
static const char __func__[] = "fname";
}}}
+
+== Printing size_t ==
+
+Printf-formatters
+
+`%zu` :: `size_t`
+`%zi` :: `ssize_t`
diff --git a/Concourse.wiki b/Concourse.wiki
new file mode 100644
index 0000000..fe921cc
--- /dev/null
+++ b/Concourse.wiki
@@ -0,0 +1,6 @@
+{{{sh
+fly validate-pipeline -c $pipeline.yaml
+
+fly -t docker set-pipeline -p $pipeline -c $pipeline.yaml
+fly -t docker unpause-pipeline -p $pipeline
+}}}
diff --git a/Crypt of the Serpent King.wiki b/Crypt of the Serpent King.wiki
new file mode 100644
index 0000000..b1c7918
--- /dev/null
+++ b/Crypt of the Serpent King.wiki
@@ -0,0 +1,3 @@
+First person CRPG/Dungeon Crawler
+
+Skapligt segt, ingen bra game-feel.
diff --git a/Dark Burial.wiki b/Dark Burial.wiki
new file mode 100644
index 0000000..db78a4f
--- /dev/null
+++ b/Dark Burial.wiki
@@ -0,0 +1,8 @@
+2D Action puzzle platformer
+
+Du är någon form av vampyrvägare, och ditt armborts pil fästs i väggar
+m.m. och låter dig hoppa då den.
+
+Skapligt svårt.
+
+Inte allt för bra, men bättre än jag hade för mig.
diff --git a/Dator/Ny.wiki b/Dator/Ny.wiki
index 61908d9..c37836e 100644
--- a/Dator/Ny.wiki
+++ b/Dator/Ny.wiki
@@ -13,6 +13,8 @@
1200 https://www.prisjakt.nu/produkt.php?p=4894211
https://www.prisjakt.nu/jamfor/produkter/4759611,4894211?categoryId=1320
+https://download.msi.com/archive/mnu_exe/mb/E7C02v1.5.pdf
+
MSI B450-A PRO Moderkort - AMD B450 - AMD AM4 socket - DDR4 RAM - ATX
== Skärmar ==
diff --git a/deb.wiki b/Debian Packages.wiki
index 8294c74..c90c791 100644
--- a/deb.wiki
+++ b/Debian Packages.wiki
@@ -1,5 +1,8 @@
+
See also [[debian-pkg]], [[Debian Repo]]
+apt-file (like Arch's [[pkgfile]])
+
All commands assume (unless otherwise noted) that PWD is the source
dir of the upstream code, and that there is a `debian` repo in that
directory.
@@ -30,6 +33,14 @@ Runs `debian/rules build` to build package
sudo debuild --no-sign
}}}
+== Patches ==
+https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#diff-u
+
+{{{
+diff -Nru file.upstream file.changed > debian/patches/000-change-file.patch
+echo 000-change-file.patch >> debian/patches/series
+}}}
+
== sections ==
https://packages.debian.org/stable/
@@ -64,6 +75,10 @@ apt install debmake build-dep tree
`-2` :: is debian package version, start at 2 to avoid lintian issue about [[https://wiki.debian.org/ITP|ITP]]
`.1` :: Shows that this is an [[https://www.debian.org/doc/manuals/developers-reference/pkgs.html#nmus-and-debian-changelog|NMU]], since we aren't a Debian maintainer
+{{{
+dch --release --no-force-save-on-release
+}}}
+
=== Figure out runtime dependencies ===
`objdump -p <build-binary> | grep NEEDED`
diff --git a/Debian Repo.wiki b/Debian Repo.wiki
index 256c507..c9bf375 100644
--- a/Debian Repo.wiki
+++ b/Debian Repo.wiki
@@ -1,5 +1,7 @@
= Debian Repo =
+[[Debian Packages]]
+
[[adrift-space repository]]
Repos are easiest managed by reprepro.
@@ -9,11 +11,16 @@ stretch :: Debian 9
buster :: Debian 10
bullseye :: Debian 11
bookworm :: Debian 12
+trixie :: Debian 13
+forky :: Debian 14
+
xenial :: Ubuntu 16
bionic :: Ubuntu 18
focal :: Ubuntu 20 & Mint 20
jammy :: Ubuntu 22
+
una :: Mint 20
+vera :: Mint 21.1
== Adding Packages ==
diff --git a/Euro Truck Simulator 2.wiki b/Euro Truck Simulator 2.wiki
new file mode 100644
index 0000000..c911bca
--- /dev/null
+++ b/Euro Truck Simulator 2.wiki
@@ -0,0 +1,7 @@
+~/.local/share/Euro Truck Simulator 2/config.cfg
+
+https://eurotrucksimulator2.com/multimon_config.php
+
+{{{
+xrandr --setmonitor OneLarge auto HDMI-A-0,HDMI-A-1,DisplayPort-2
+}}}
diff --git a/GitServer.wiki b/GitServer.wiki
deleted file mode 100644
index 165fd9d..0000000
--- a/GitServer.wiki
+++ /dev/null
@@ -1,223 +0,0 @@
-= Contents =
- - [[#Git Server|Git Server]]
- - [[#Git Server#Autentisering|Autentisering]]
- - [[#Git Server#Autentisering#Autentisering HTTP|Autentisering HTTP]]
- - [[#Git Server#Autentisering#Autentisering HTTP#Framtiden|Framtiden]]
- - [[#Git Server#Autentisering#Autentisering SSH|Autentisering SSH]]
- - [[#Git Server#Autentisering#Autentisering SSH#Problem|Problem]]
- - [[#Git Server#Autentisering#Autentisering SSH#HTTP access|HTTP access]]
- - [[#Git Server#Autentisering#Autentisering SSH#gitweb.owner|gitweb.owner]]
- - [[#Git Server#Pull Requests|Pull Requests]]
- - [[#Taggning|Taggning]]
- - [[#Taggning#Cleanup|Cleanup]]
- - [[#Hooks|Hooks]]
- - [[#Hooks#Sample run of post-receive|Sample run of post-receive]]
- - [[#Hooks#Sample run of post-receive#COMMAND LINE|COMMAND LINE]]
- - [[#Hooks#Sample run of post-receive#ENVIRONMENT|ENVIRONMENT]]
- - [[#Hooks#Sample run of post-receive#STDIN|STDIN]]
- - [[#Hooks#Sample run of post-receive#Framtida förbättringar|Framtida förbättringar]]
- - [[#Hooks#Sample run of post-receive#Default config|Default config]]
- - [[#Hooks#Sample run of post-receive#Default config#cclite|cclite]]
- - [[#Hooks#Sample run of post-receive#Default config#VVVVVV|VVVVVV]]
- - [[#Hooks#Sample run of post-receive#Default config#password-store|password-store]]
- - [[#Hooks#Sample run of post-receive#Default config#reddit-parenthesis-bot|reddit-parenthesis-bot]]
- - [[#Hooks#Sample run of post-receive#Default config#cgit|cgit]]
- - [[#Hooks#Sample run of post-receive#Default config#guile-cairo|guile-cairo]]
- - [[#Hooks#Publish|Publish]]
- - [[#Hooks#Publish#in repo, for `/.githooks/${hookname}.d}/*.publish`|in repo, for `/.githooks/${hookname}.d}/*.publish`]]
- - [[#Hooks#Publish#config|config]]
- - [[#Hooks#Publish#publish|publish]]
-
-= Git Server =
-https://git.hornquist.se
-
-[[wn.private:git-hooks]]
-
-== Autentisering ==
-
-=== Autentisering HTTP ===
-==== Framtiden ====
-Det jag vill ha är ett grupp-baserat system där jag enkelt kan lägga
-till användare. Varje användare är med i ett antal gruppen, och varje
-repo har en användare och en grupp. Autentiseringssystemet ska gärna
-vara skillt från Unix's system (men fungera ungefär lika dant).
-
-=== Autentisering SSH ===
-Gitolite används för authentisering på serversidan. Dock har det vissa
-problem:
-
-- [[#HTTP access]]
-- [[#gitweb.owner]]
-
-==== Problem ====
-:TODO:
-2018-12-28
-
-Jag satte upp gitolite, och pull fungerade bra. Dock med vissa
-autentiseringsskavanker enligt nedan. Dock gick repon:a sönder när jag
-drog från dem via HTTP. Tror det hade att göra med filrättigheter. Om
-nginx låter en sätta användare per sub-sida skulle det lösa problemen.
-
-==== HTTP access ====
-För nuvarande är HTTP-access allt eller inget på repo:na markerade
-daemon. Förhoppningen är att det ska gå att sätta upp HTTP konton,
-vilkas rättigheter sedan administreras genom gitolite.
-
-Även vilka konton som finns får gärna administreras genom gitolite.
-
-==== gitweb.owner ====
-Då (planen är att) cgit ska autentisera användare mot fälten
-`gitweb.{owner,group}` behöver dem propageras ut från gitolite.
-Alternativt att någon form av gemensamm config sätts, som trycker till
-dem båda.
-
-== Pull Requests ==
-
-Taget från [[Vimwiki]]:
-
- Jag bör från varje wiki sida länka till motsvarande git sida.
- (http://wiki.hornquist.se & http://git.hornquist.se/vimwiki ).
- Sen bör servern tillåta smidiga pull-requests för att andra ska kunna
- förbättra.
-
-En lösning är att ha fyra access-nivåer till servern (eller
-åtminstånde repo):
-- Enbart läsning
-- Push skapar ny gren (pull request)
-- Kan jobba på existerande grenar (som de inte skapat)
-- Full access
-
-= Taggning =
-{{{
-find -type d -name \*.git -execdir env GIT_DIR={} git config gitweb.category Liu \;
-}}}
-
-== Cleanup ==
-:TODO:
-- [ ] `gitweb.category` should be set automaticly
-
-= Hooks =
-
-- [[gitserver-documentation]]
-
-== Sample run of post-receive ==
-
-Repo stored in `~git/git/test.git`, pushed over SSH.
-
-=== COMMAND LINE ===
-{{{
-argv ['/dev/fd/4']
- cwd '/home/git/git/test.git'
-}}}
-
-=== ENVIRONMENT ===
-{{{
-DBUS_SESSION_BUS_ADDRESS 'unix:path=/run/user/1001/bus'
- GIT_DIR '.'
- GIT_EXEC_PATH '/usr/lib/git-core'
- GIT_PUSH_OPTION_COUNT '0'
- HOME '/home/git'
- LANG 'en_US.UTF-8'
- LANGUAGE 'en_US:en'
- LOGNAME 'git'
- MOTD_SHOWN 'pam'
- PATH '/usr/lib/git-core:/home/git/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
- PWD '/home/git'
- SHELL '/bin/bash'
- SHLVL '0'
- SSH_CLIENT '46.59.41.54 60166 22'
- SSH_CONNECTION '46.59.41.54 60166 90.143.207.193 22'
- USER 'git'
- XDG_RUNTIME_DIR '/run/user/1001'
- XDG_SESSION_CLASS 'user'
- XDG_SESSION_ID '59490'
- XDG_SESSION_TYPE 'tty'
- _ '/usr/bin/git-receive-pack'
- GITHOOKS '1'
-}}}
-
-=== STDIN ===
-{{{
-7aaa112c7563e535f71f99e79fc3bf008f45750d 432ef726ac54c0acecc9c9728129413510e518b4 refs/heads/master
-}}}
-
-
-=== Framtida förbättringar ===
-- `enable-remote-branches` ([[man:cgitrc#5]])
-- Vad händer om ett repo har både subdir och kattegori
- - Vad händer om de inte stämmer överrens?
-- Delade repositories
- - gitolite?
-
-=== Default config ===
-{{{
-[core]
- repositoryformatversion = 0
- filemode = true
- bare = true
-}}}
-41adefcd1f91e91d473275a100d31a2c
-
-===== cclite =====
-[remote "origin"]
- url = https://github.com/Sorroko/cclite
-
-===== VVVVVV =====
-[remote "origin"]
- url = https://github.com/TerryCavanagh/VVVVVV
- fetch = `+refs/heads/*:refs/remotes/origin/*`
-
-===== password-store =====
-[remote "upstream"]
- url = https://git.zx2c4.com/password-store
- fetch = `+refs/heads/*:refs/remotes/upstream`
-
-===== reddit-parenthesis-bot =====
-[gitweb]
- category = fork
-[remote "origin"]
- url = https://github.com/HugoNikanor/reddit-parenthesis-bot
-
-===== cgit =====
-[gitweb]
- group = cgit
- category = fork
-[remote "upstream"]
- url = git://git.zx2c4.com/cgit
- fetch = `+refs/heads/*:refs/remotes/upstream/*`
-
-===== guile-cairo =====
-[gitweb]
- category = fork
-[remote "upstream"]
- url = git://git.savannah.nongnu.org/guile-cairo.git
- fetch = `+refs/heads/*:refs/remotes/upstream/*`
-
-== Publish ==
-
-githooks.hornquist.se?
-
-https://git.hornquist.se/githooks/
-⇒ https://githooks.hornquist.se/githooks/
-
-/githooks/commit/?id=<hash>
-/calp/tag/?h=v0.5.9
-
-=== in repo, for `/.githooks/${hookname}.d}/*.publish` ===
-Setup containerized environment?
-
-
-=== config ===
-if `githooks.checkout = true`
-end
-
-
-env
-GIT_SOURCE_URL=https://git.hornquist.se/githooks/tree/${filename}
-GIT_REPO_DIR=${repo_dir}
-TARGET_DIRECTORY=${target_directory}
-PUBLISH=${target_directory}/file-to-publish
-
-=== publish ===
-{{{
-find -t file ?
diff --git a/Horace.wiki b/Horace.wiki
new file mode 100644
index 0000000..c1236ce
--- /dev/null
+++ b/Horace.wiki
@@ -0,0 +1 @@
+13h in game time 1.000.000 junk ending
diff --git a/IP addresses for documentation.wiki b/IP addresses for documentation.wiki
new file mode 100644
index 0000000..43f4e4c
--- /dev/null
+++ b/IP addresses for documentation.wiki
@@ -0,0 +1,9 @@
+%title IP Addresses Reserved for Documentation
+
+- `192.0.2.0/24` [[RFC:5737]]
+- `198.51.100.0/24` [[RFC:5737]]
+- `203.0.113.0/24` [[RFC:5737]]
+- `233.252.0.0/24` (for multicast) [[RFC:5771]], [[RFC:6676]]
+- `2001:db8::/32` [[RFC:3879]] (may contain multicast, see [[RFC:6676]])
+
+Also see [[RFC:5771]] for further special blocks.
diff --git a/Kläder.wiki b/Kläder.wiki
index 9858435..ac85ccf 100644
--- a/Kläder.wiki
+++ b/Kläder.wiki
@@ -22,7 +22,6 @@ Byxor :: 32/30
- MX 34R
== Dressmann "Slim Fit" measurements ==
-:dressman:
| size | collar | Chest | Waist width | Back length | Sleeve length |
|------|--------|-------|-------------|-------------|---------------|
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..436ab9b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,19 @@
+.PHONY: check
+
+CFLAGS = -Wall -pedantic -std=c2x -ggdb \
+ -D_POSIX_C_SOURCE=200809L \
+ -D_XOPEN_SOURCE=700 \
+ -D_DEFAULT_SOURCE \
+ -D_BSD_SORUCE \
+ -pthread \
+ -I/usr/local/include \
+ -fsanitize=thread
+#### -fsanitize=undefined
+LDFLAGS = -pthread -L/usr/local/lib
+LDLIBS = -lpthread
+
+main: wiki.c
+ $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS)
+
+check:
+ cppcheck --enable=all --suppress=missingIncludeSystem wiki.c
diff --git a/Matrix.wiki b/Matrix.wiki
new file mode 100644
index 0000000..8c529dc
--- /dev/null
+++ b/Matrix.wiki
@@ -0,0 +1,8 @@
+Matrix Synapse :: Nuvarande referensimplementation
+Dendrite :: Ska bli nästa "
+Conduit :: Rust implementation
+
+element.liu.se
+matrix.it.liu.se - för egen klient
+
+Kräver LiU-inlogg
diff --git a/Media-3DS.wiki b/Media-3DS.wiki
index ef749ad..32bdd39 100644
--- a/Media-3DS.wiki
+++ b/Media-3DS.wiki
@@ -1,18 +1,16 @@
+= Owned =
- [ ] [[10-in-1 Arcade collection]]
- [ ] [[Ace Attorney Dual Destinies]]
- [ ] [[Alien Chaos]]
-- [ ] [[Baloon Fight]]
- [ ] [[Batman Arkham Origins Blackgate]]
- [ ] [[Bugs vs Tanks]]
- [ ] [[Chrimson Shroud]]
- [ ] [[Citizens of Earth]]
-- [ ] [[Donkey Kong Jr.]]
- [ ] [[Edge]]
- [ ] [[Fallblox]]
- [ ] [[Fantasy Life]]
- [ ] [[Fullblox]]
- [ ] [[Ghost Recon Shadow Wars]]
-- [ ] [[Ice Climbers]]
- [ ] [[Liberation Maiden]]
- [ ] [[Mario & Luigi: Dream Team Bros]]
- [ ] [[Mario Tennis Open]]
@@ -34,6 +32,24 @@
- [ ] [[Zelda: Majoras Mask]]
- [ ] [[Zelda: Oracle of Ages]]
- [ ] [[Zelda: Oracle of Seaons]]
+- [ ] The legend of Kusakari
+- [ ] Gunman Clive 2
+- [ ] Fairune
+- [ ] Fairune 2
+- [ ] Go Go Kokopolo 3D
+- [ ] Aura-Aura Climber
+- [ ] Devil Survivor 2
+- [ ] Stella Glow
+- [ ] Persona Q
+- [ ] Soul Hackers
+- [ ] Parascientific Escape 1
+- [ ] Parascientific Escape 2
+- [ ] Parascientific Escape 3
+- [ ] Etrian Odyssey 4
+- [ ] Etrian Odyssey Untold
+- [ ] Pokemon Crystal
+
+= Finished =
- [X] [[Animal Crossing New Leaf]]
- [X] [[Anonymous Notes 1 - From the Abyss]]
- [X] [[Bravely Default]]
@@ -85,3 +101,7 @@
- [X] [[Zelda: Four Swords]]
- [X] [[Zelda: Link's Awakening]]
- [X] [[Zelda: The Minish Cap]]
+- [X] Luigis Mansion 2
+- [X] [[Ice Climbers]]
+- [X] [[Baloon Fight]]
+- [X] [[Donkey Kong Jr.]]
diff --git a/Media-Switch.wiki b/Media-Switch.wiki
index 487d13c..ec500d1 100644
--- a/Media-Switch.wiki
+++ b/Media-Switch.wiki
@@ -1,4 +1,4 @@
-- [ ] [[Alwa's Awakening]]
+- [X] [[Alwa's Awakening]]
- [ ] [[Breathing Fear]]
- [ ] [[Castle of Heart]]
- [ ] [[Castlevania Advanced Collection]]
@@ -14,6 +14,7 @@
- [ ] [[Event Horizon]]
- [ ] [[Grim Fandango]]
- [ ] [[Hollow]]
+- [X] [[Horace]]
- [ ] [[La Mulana]]
- [ ] [[MIND Path to Thalamus]]
- [ ] [[Mana Spark]]
@@ -28,7 +29,7 @@
- [ ] [[Transistor]]
- [ ] [[Unepic]]
- [ ] [[Volgarr the Viking]]
-- [ ] [[Warlocks 2: God Slayrs]]
+- [ ] [[Warlocks 2: God Slayers]]
- [ ] [[Xenoblade Chronicles]]
- [X] [[Baba is You]]
- [X] [[Bloodstained: Curse of the Moon]]
diff --git a/Media.wiki b/Media.wiki
index 71c1f9d..79953ea 100644
--- a/Media.wiki
+++ b/Media.wiki
@@ -9,7 +9,7 @@ Teolog
- [ ] Dune
- [X] Hogfather by Terry Pratchet
- [X] Humble Pi, av Mat parker
-- [ ] Hunger games prequel
+- [ ] The Ballad of Songbirds and Snakes (Hunger games prequel)
- [ ] Norse Mythology av Neil Gaiman
- [ ] Player Piano
- [ ] Ringworld av Larry Niven
@@ -30,7 +30,7 @@ Teolog
== Böcker (fackliga) ==
- [ ] "List Processing in Real Time on a Serial Computer" by Henry Baker
- [ ] Haskell from first principles
-- [ ] Just for Fun by Linus Torvalds :tidle:
+- [ ] Just for Fun by Linus Torvalds :tilde:
- [o] Software Design for Flexibility :tilde:
- [X] Started
- [ ] Finished
@@ -49,6 +49,9 @@ Teolog
Conqured the Global Toy Industry, by David C. Robertson, Bill
Breen
- [ ] [[https://www.stroustrup.com/dne.html|The Design and Evolution of C++, Bajarne Stroustrup]]
+- [ ] Edward Snowdens bok?
+- [ ] The Outer Limits of Reason
+- [ ] Silo (book series)
- Lőkar?
- https://www.thedarkweblinks.com/deep-web-books-sites-links/
@@ -96,6 +99,16 @@ Teolog
- [ ] American Psycho
- [ ] Taxi Driver
- [ ] Trainspotting
+- [ ] Eternal Sunshine of the Spotless Mind
+- [ ] Ricky (2009)
+- [ ] Disenchantment (TV series)
+- [ ] 12 Angry Men.
+- [ ] [[https://en.wikipedia.org/wiki/Pirates_of_Silicon_Valley|Pirates of Silicon Valley]]
+- [ ] Gravity Falls (TV series)
+- [ ] Adventure Time (TV series)
+- [ ] 57 Seconds
+- [ ] Wednesday (TV series)
+- [ ] Jerry and Margo Go Large
== Podcasts ==
- https://corecursive.com/brian-kernighan-unix-bell-labs1/
@@ -128,6 +141,13 @@ Teolog
- [ ] Subnautica
- [ ] [[https://www.reddit.com/r/RogueLegacy/comments/8byxfk/free_rogue_legacy_mod_the_lament_of_zors_a/|Lament of Zors - Rogue Legacy MOD]]
- [ ] Supreme Commander
+- [ ] Hades
+- [ ] Earthblade
+- [ ] [[https://www.gog.com/game/daggerfall_unity_gog_cut|Daggerfall Unity]]
+- [X] [[https://hempuli.itch.io/baba-files-taxes|Baba Files Taxes]]
+- [ ] Lone Fungus
+- [ ] DooM 2016
+- [ ] Lifeless Moon
=== GBA ===
- [ ] Samurai Jack
@@ -142,6 +162,9 @@ Teolog
- [ ] The Last of Us
- [ ] Armored Core 4 (även på XBox 360)
+=== Amiga ===
+- Moonstone: A hHard Days Knight
+
=== Switch ===
==== Att köpa ====
- [ ] Bloodstained (switch)
diff --git a/Meson.wiki b/Meson.wiki
new file mode 100644
index 0000000..4de4789
--- /dev/null
+++ b/Meson.wiki
@@ -0,0 +1,8 @@
+https://docs.mesa3d.org/meson.html
+
+If `meson.build` exists:
+
+{{{sh
+meson setup build
+ninja -C build
+}}}
diff --git a/Märkesbackesmålning.wiki b/Märkesbackesmålning.wiki
new file mode 100644
index 0000000..14197de
--- /dev/null
+++ b/Märkesbackesmålning.wiki
@@ -0,0 +1,12 @@
+- [ ] Färg
+ - [ ] Gul
+ - [ ] Svart
+ - [ ] (Röd)
+ - [ ] (Vit)
+- [ ] Blandkärl för färg
+- [ ] Någonting att blanda färgen med
+- [ ] Borste (för att få bort skräp från märket)
+- [ ] (Lacknafta)
+- [ ] Penslar
+ - [ ] Stor
+ - [ ] (relativt) mycket liten
diff --git a/Ordklasser.wiki b/Ordklasser.wiki
new file mode 100644
index 0000000..8084536
--- /dev/null
+++ b/Ordklasser.wiki
@@ -0,0 +1,11 @@
+== Substantiv ==
+Konkreta föremål, samt abstrakta objekt.
+
+Inkluderar sol, blomma, känsla, kärlek.
+
+== Verb ==
+== Adjektiv ==
+== Adverb ==
+== Pronomen ==
+== Adposition ==
+== Konjunktion / Subjunktion ==
diff --git a/Outlook Safelinks.wiki b/Outlook Safelinks.wiki
new file mode 100644
index 0000000..2930f27
--- /dev/null
+++ b/Outlook Safelinks.wiki
@@ -0,0 +1,45 @@
+%title Outlook Safelinks
+
+A quick decoder for Outlooks safelinks "protection"
+
+{{{scheme
+(use-modules (web uri)
+ (ice-9 regex))
+
+(define uri (string->uri "https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgoogle.com%2F%3Fp1%3Dhello%26p2%3Dworld&amp;data=04%7C01%7Chugo.hornquist%40liu.se%7C07769d4323fa49da8ae908d9b6569ce9%7C913f18ec7f264c5fa816784fe9a58edd%7C0%7C0%7C637741305400535204%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=nJBoGaNj2Ub58jLFpsMwhEdt6DH1m%2BMbyrFa7Qj5iBI%3D&amp;reserved=0"))
+
+(define decoded (uri-decode (uri-query uri)))
+
+(write decoded) (newline)
+
+(define components
+ (map (lambda (kv)
+ (define idx (string-index kv #\=))
+ (cons (string->symbol (string-take kv idx))
+ (string-drop kv (1+ idx))))
+ (string-split
+
+ (regexp-substitute/global
+ #f (make-regexp "&amp;") decoded
+ 'pre (string #\us) 'post)
+ #\us))
+ )
+}}}
+
+
+
+{{{scheme
+(write (string-split (assoc-ref components 'data) #\|))
+}}}
+
+0 :: "04"
+1 :: "01"
+2 :: from email
+3 :: uid?
+4 :: uid?
+5 :: "0"
+6 :: "0"
+7 :: uid?
+8 :: "Unknown"
+9 ::
+10 :: "2000"
diff --git a/Pikmin 3.wiki b/Pikmin 3.wiki
index e39fbdb..e516d47 100644
--- a/Pikmin 3.wiki
+++ b/Pikmin 3.wiki
@@ -1,3 +1,9 @@
+%title Pikmin 3
+
+= Pikmin 3 =
+
+== Multiplayerbanor ==
+
1. Liten och mysig, möjlighet för PVP
2. Too much water, 7.8/10
3. Allting nedgrävt, går vilse, rekomenderas ej
diff --git a/Podman.wiki b/Podman.wiki
new file mode 100644
index 0000000..19979d2
--- /dev/null
+++ b/Podman.wiki
@@ -0,0 +1 @@
+podman run --mount type=bind,src=.,dst=/workdir localhost/muppet:latest make check
diff --git a/Pokemon Platinum.wiki b/Pokemon Platinum.wiki
index 9353965..88b8b50 100644
--- a/Pokemon Platinum.wiki
+++ b/Pokemon Platinum.wiki
@@ -1 +1,26 @@
[[Pokemon]]
+
+= Pokétch =
+1. Clock
+2. Calculator
+3. Notepad
+4. *Step counter*
+5. Party Pokémon
+6. *Friendship Checker*
+7. *Dowsing Machine*
+8. *Berry Map*
+9. *Daycare Checker*
+10. Obtained Pokémon
+11. *Counter*
+12. Analog Clock
+13. Marker Map
+14. Link Searcher
+15. Coin Flip
+16. Type Checker
+17. Calendar
+18. Pixel Writer
+19. Roulette
+20. *Poké Radar Status*
+21. Kitchen Timer
+22. Colour Changer
+23. Love Checker
diff --git a/Printer.wiki b/Printer.wiki
new file mode 100644
index 0000000..11be696
--- /dev/null
+++ b/Printer.wiki
@@ -0,0 +1,12 @@
+{{{sh
+lpinfo -v
+}}}
+
+{{{sh
+pacaur -S xerox-workcentre-6515-6510
+}}}
+
+{{{sh
+lpadmin -v usb://Xerox/Phaser%206510?serial=874409 -P /usr/share/ppd/xerox/rxr6510.ppd -p xerox
+cupsaccept xerox
+}}}
diff --git a/Python Operators.wiki b/Python Operators.wiki
new file mode 100644
index 0000000..09c168b
--- /dev/null
+++ b/Python Operators.wiki
@@ -0,0 +1,76 @@
+== Operators ==
+https://docs.python.org/3/library/operator.html
+
+{{{
+< __lt__
+<= __le__
+== __eq__
+!= __ne__
+>= __ge__
+> __gt_
+
++ __add__
+// __floordiv__
+~ __invert__
+<< __lshift__
+% __mod__
+* __mul__
+@ __matmul__
+- (unary) __neg__
+| __or__
++ (unary) __pos__
+>> __rshift__
+- __sub__
+/ __truediv__
+^ __xor__
++ (sequences) __concat__
+
++= __iadd__, __iconcat__
+&= __iand__
+//= __ifloordiv__
+<<= __ilshift__
+%= __imod__
+*= __imul__
+|= __ior__
+**= __ipow__
+>>= __irshift
+-= __isub__
+/= __itruediv__
+^= __ixor__
+
+
+** __pow__
+
+in __contains__
+
+& __and__
+
+
+__abs__
+}}}
+
+{{{
+__bool__
+__str__
+__repr__
+}}}
+
+== Order of operations ==
+1. parenthesis
+2. subscription_ call, attribute reference `x.attr`
+3. `await`
+4. `**`
+5. Unary prefixes `+`, `-`, `~`
+6. `*`, `@`, `/`, `//`, `%`
+7. `+`, `+`
+8. `<<`, `>>`
+9. `&`
+10. `^`
+11. `|`
+12. `in`, `not in` `is`, `is not`, and all comparison operators
+13. `not` prefix
+14. `and`
+15. `or`
+16. if-else expression
+17. lambda
+18. `:=`
diff --git a/Python Pipeline.wiki b/Python Pipeline.wiki
new file mode 100644
index 0000000..e91f93f
--- /dev/null
+++ b/Python Pipeline.wiki
@@ -0,0 +1,56 @@
+{{{python
+#!/usr/bin/env python3
+
+import base64
+import hashlib
+import os.path
+import sys
+from typing import Callable, Any
+from dataclasses import dataclass
+
+
+@dataclass
+class Pipeline:
+ """
+ A data pipeline.
+
+ "Syntax" to allow functions and methods to be chained, similar to
+ clojures arrow operator (``->``).
+
+ Each operation applies some kind of procedure, and forwards the
+ pipeline with the result (by returning a new Pipeline object with
+ the contained object being replaced:
+
+ ``.do`` applies a function, passing the pipelined object as the
+ first value. If another position is wanted, use a lambda.
+
+ ``.on`` Applies a method on the object. The method name needs to
+ be passed as a string due to how python works.
+ """
+
+ object: Any
+
+ def on(self, proc: str, *args) -> 'Pipeline':
+ """Apply function to pipeline."""
+ return Pipeline(getattr(self.object, proc)(*args))
+
+ def do(self, proc: Callable, *args) -> 'Pipeline':
+ """Run method in pipeline."""
+ return Pipeline(proc(self.object, *args))
+
+
+with open(os.path.expanduser('~/.ssh/id_rsa'), 'rb') as f:
+ data = f.read()
+
+Pipeline(data) \
+ .on('split', b'\n') \
+ .do(lambda x: x[1:-2]) \
+ .do(lambda d: b''.join(d)) \
+ .do(base64.b64decode) \
+ .do(hashlib.sha256) \
+ .on('digest') \
+ .do(base64.b64encode) \
+ .do(sys.stdout.buffer.write)
+
+print()
+}}}
diff --git a/Python.wiki b/Python.wiki
index e221599..4921020 100644
--- a/Python.wiki
+++ b/Python.wiki
@@ -1,7 +1,49 @@
+%title Python
-== Imports are lazy ==
+- [[PEP3131]] :: Handling of weird unicode characters
+- [[Python Operators]] :: And operator overloading
+- [[Python Pipeline]]
-=== main.py ===
+= String IO =
+Open strings as file descriptors
+
+{{{python
+import io
+f = io.StringIO("Hello, World")
+f.read()
+# ⇒ 'H'
+}}}
+
+
+= Disable typing for line =
+{{{python
+somethintg_which_doesnt_typecheck() # type: ignore
+}}}
+
+= Properties =
+property
+
+{{{python
+field = property(get_f, set_f)
+}}}
+
+{{{python
+class C:
+ def __init__(self):
+ self._x = 10
+
+ @property
+ def x(self):
+ return self._x
+
+ @x.setter
+ def x(self, value):
+ self._x = value
+}}}
+
+= Imports are lazy =
+
+== main.py ==
{{{python
import sys
@@ -17,13 +59,13 @@ match sys.argv:
}}}
-=== a.py ===
+== a.py ==
{{{python
print('Importing a')
x = 10
}}}
-=== b.py ===
+== b.py ==
{{{python
print('Importing b')
x = 20
diff --git a/Qt Translations.wiki b/Qt Translations.wiki
new file mode 100644
index 0000000..0415403
--- /dev/null
+++ b/Qt Translations.wiki
@@ -0,0 +1,15 @@
+`*.ts` :: Translation source files
+`*.qm` :: Compiled translation files
+
+= qt translations =
+== `lupdate *.pro` ==
+Extract strings from all source files mentioned by the pro file, and place them
+in the mentioned `*.ts` files.
+
+A `subdirs` pro-file recurses correctly.
+
+== `lrelease *.pro` ==
+Generates `*.qm` from `*.ts`
+
+== linguist ==
+Qt's graphical translation software.
diff --git a/Recept.wiki b/Recept.wiki
new file mode 100644
index 0000000..e39618e
--- /dev/null
+++ b/Recept.wiki
@@ -0,0 +1 @@
+%title Recept
diff --git a/TaskApp.wiki b/TaskApp.wiki
index 37e62c0..0022803 100644
--- a/TaskApp.wiki
+++ b/TaskApp.wiki
@@ -1,13 +1,16 @@
+[[wn.private:Taskmanagers]]
+
= Part 1 =
notation:
-item :: item of type
-[item] :: list of item's
-{item} :: optional item
+`item` :: item of type
+`[item]` :: list of item's
+`{item}` :: optional item
--------------------------------------------------
+{{{
[project]
project:
@@ -21,6 +24,7 @@ update:
- title
- pub-date
- {body}
+- }}}
--------------------------------------------------
@@ -30,6 +34,7 @@ tt list <id>
--------------------------------------------------
+{{{sql
sqlite example tables
create table projects (
@@ -52,6 +57,7 @@ create table updates (
title text not null,
body text
);
+}}}
= Part 2 =
[ ] Possibly database, with sepparate frontend
@@ -87,3 +93,16 @@ Tasks should be able to block each other
but with high enough priority / deadline close enough they should show
despite the block
+
+= Part 5 =
+{{{SQL
+CREATE TABLE IF NOT EXISTS task
+( id INTEGER PRIMARY KEY NOT NULL
+, description TEXT NOT NULL
+, priority INTEGER NOT NULL DEFAULT 0
+, blocked_by INTEGER
+, parent INTEGER
+, FOREIGN KEY (parent) REFERENCES task (id)
+, FOREIGN KEY (blocked_by) REFERENCES task (id)
+)
+}}}
diff --git a/TeliaNet.wiki b/TeliaNet.wiki
index 328e003..7ef95c1 100644
--- a/TeliaNet.wiki
+++ b/TeliaNet.wiki
@@ -1,3 +1,5 @@
+[[https://github.com/aleixrodriala/wa-tunnel|See whatsapp tunnel instead]]
+
= TeliaNet =
TeliaNet is a program aimed at researching networking through social
media in a novel fashion. Furthermore, the program will investigate
@@ -7,6 +9,7 @@ https://git.lysator.liu.se/hugo/telianet
{{http://www.lysator.liu.se/~hugo/img/IMG_20181010_211237190.jpg|Diagram|style="width:500px;float:left"}}
+
== Telia ==
https://www.telia.se/privat/telefoni/frisurfsocial?intcmp=surfpott_frisurfsocial
diff --git a/Tobbez.wiki b/Tobbez.wiki
index 84864fd..0b9bc48 100644
--- a/Tobbez.wiki
+++ b/Tobbez.wiki
@@ -1,3 +1,5 @@
+https://git.lysator.liu.se/hugo/web-monkey-scripts/-/tree/master/tobbez-tagger
+
== Buggar ==
{{{
2018-10-07 14:46:35 kempe hugo: Om man tänker lägga till en tagg i ditt tobbez-plugin, men trycker på cancel så lägger den till en tagg som heter "null"
diff --git a/Unicode.wiki b/Unicode.wiki
index 8e83416..46cb903 100644
--- a/Unicode.wiki
+++ b/Unicode.wiki
@@ -13,3 +13,4 @@
+﷽
diff --git a/Vimwiki.wiki b/Vimwiki.wiki
index 862f0f9..9137efe 100644
--- a/Vimwiki.wiki
+++ b/Vimwiki.wiki
@@ -1,7 +1,7 @@
%title Vimwiki User Guide
= Vimwiki =
-Den här repon versionskontrolleras på git@hornquist.se/git/vimwiki.git,
+Det här repon versionskontrolleras på git.hornquist.se/git/vimwiki.git,
och bör vid varje push byggas och publiceras på
http://wiki.hornquist.se.
diff --git a/Västgöta/Julbord.wiki b/Västgöta/Julbord.wiki
new file mode 100644
index 0000000..475776a
--- /dev/null
+++ b/Västgöta/Julbord.wiki
@@ -0,0 +1,4 @@
+- [ ] Mumma
+- [ ] Mat
+- [ ] Glögg
+- [ ] Kaffe
diff --git a/Västgöta/Stupandator.wiki b/Västgöta/Stupandator.wiki
new file mode 100644
index 0000000..4fe82f2
--- /dev/null
+++ b/Västgöta/Stupandator.wiki
@@ -0,0 +1,48 @@
+%title Stupandatorn
+
+= NUC =
+NUC :: [[https://www.intel.com/content/www/us/en/products/sku/214624/intel-nuc-kit-nuc7cjyhn/specifications.html|NUC7CJYHN]] ([[https://compatibleproducts.intel.com/ProductDetails?prodSearch=True&searchTerm=NUC7CJYHN|Compatibility]])
+RAM :: Crucial 4GB 2400MHz CT4G4SFS824A ([[https://www.amazon.se/dp/B019FRDKWI?smid=ANU9KP01APNAG&ref_=chk_typ_imgToDp&th=1|Amazon]])
+SSD :: Kingston A400 ([[https://www.webhallen.com/se/product/269876-Kingston-A400-2-5-SATA-SA400S37120G-120GB|Webhallen]])
+
+= Gigabyte =
+GB-BACE-3160 https://www.gigabyte.com/Mini-PcBarebone/GB-BACE-3160-rev-10#ov
+
+Kräver
+SO-DIMM DDR3L 1.35V Slots (1066/1600 MHz)
+
+== Köpt ==
+- Crucial RAM 8GB 3200MHz CT8G4SFRA32A
+- Barebone Gigabyte BRICX Base-3160 CEL-3160
+- Samsung 870 QVO 1 TB SATA MZ-77Q1T0
+
+== Andra dator? ==
+https://www.prisjakt.nu/produkt.php?p=5812562
+
+== Kassasystem ==
+https://git.lysator.liu.se/hugo/stupan
+
+{{{sh
+vastgota@balder:~$ cat /etc/apt/sources.list.d/adrift-space.list
+deb [allow-insecure=yes] http://repo.adrift.space/debian una main
+deb-src [allow-insecure=yes] http://repo.adrift.space/debian una main
+}}}
+
+== Musik ==
+
+`apt install wildmidi`
+
+=== /etc/mpd.conf ===
+{{{
+
+music_directory "/home/vastgota/Musik/Music"
+
+audio_output {
+ type "pulse"
+ name "My Pulse Output"
+ # server "localhost"
+}
+}}}
+
+== Puppet ==
+Resterande hanteras genom Puppet, puppetkod finns här: https://git.lysator.liu.se/hugo/stupan-puppet
diff --git a/Västgöta/grafisk-profil.wiki b/Västgöta/grafisk-profil.wiki
index 35b4589..d02805f 100644
--- a/Västgöta/grafisk-profil.wiki
+++ b/Västgöta/grafisk-profil.wiki
@@ -1,3 +1,5 @@
= Grafisk profil för Västgöta Nation i Linköping =
gul :: `#ffe500`
+
+Brun :: `#100b08`
diff --git a/Västgöta/mail.wiki b/Västgöta/mail.wiki
index e4040ab..8d1d18f 100644
--- a/Västgöta/mail.wiki
+++ b/Västgöta/mail.wiki
@@ -6,6 +6,14 @@ Connection Security :: SSL/TLS
Authentication Method :: Normal Password
Username :: pq (eller ditt konto) *UTAN* `@vastgota.nation.liu.se` på slutet
+=== Forward ===
+{{{
+cat ~/.forward
+qurator external@example.com
+}}}
+
+=== Local Delivery ===
+`~/Maildir`
== Outgoing ==
Hostname :: vastgota.nation.liu.se
diff --git a/Västgöta/server.wiki b/Västgöta/server.wiki
index 6600930..870038b 100644
--- a/Västgöta/server.wiki
+++ b/Västgöta/server.wiki
@@ -1,3 +1,10 @@
== Att göra ==
- fail2ban bör logga till sysloggen
- bara betrodda parter ska få skicka till massutskick@
+- LC_ALL=sv_SE.UTF-8 (eller motsvarande) vid inloggning
+
+
+
+/srv/styrelse/{styrelseår}
+
+~/Maildir
diff --git a/Västgöta/veckomail.wiki b/Västgöta/veckomail.wiki
index 2551d2b..5f51aa8 100644
--- a/Västgöta/veckomail.wiki
+++ b/Västgöta/veckomail.wiki
@@ -65,19 +65,31 @@
- [[veckomail/2022/44]]
- [[veckomail/2022/45]]
- [[veckomail/2022/46]]
+- [[veckomail/2022/48]]
+- [[veckomail/2022/49]]
+- [[veckomail/2022/50]]
+- [[veckomail/2022/51]]
+- [[veckomail/2022/51-sensurerad]]
+- [[veckomail/2023/03]]
+- [[veckomail/2023/04]]
+- [[veckomail/2023/05]]
+- [[veckomail/2023/06]]
+- [[veckomail/2023/07]]
+- [[veckomail/2023/09]]
+- [[veckomail/2023/12]]
+- [[veckomail/2023/13]]
+- [[veckomail/2023/16]]
= Kommande datum =
-2022-11-17 :: VM i Punchkille
-2022-12-03 :: Midvinterblotet
-2022-12-16 :: Julbord
+2023-04-22 :: NömD
+2023-04-30 :: Valborg
+2023-05-29 :: 29 Maj
= Veckomail v.`date +%V` =
To: massutskick@vastgota.nation.liu.se
subject: [västgöta nation] veckomail v.%v
-
-== Kommande datum ==
-
== Veckans `` ==
+https://i.redd.it/p2d8mc4zi9ba1.jpg
diff --git a/Västgöta/veckomail/2020/10.wiki b/Västgöta/veckomail/2020/10.wiki
deleted file mode 100644
index 1a42700..0000000
--- a/Västgöta/veckomail/2020/10.wiki
+++ /dev/null
@@ -1,47 +0,0 @@
-= Veckomail v.10 =
-
-Nytt år och nya tider. Nationen överväger ny profil där vi inte gör
-någonting men berättar aggressivt att studentlivet inte kunde finnas
-utan oss. Åtminstone om man ska tro dumbommen som kommit på hur man
-skickar veckomail.
-
-= Contents =
- - [[#Veckomail v.10|Veckomail v.10]]
- - [[#Veckomail v.10#Extrainsatt nationsmöte|Extrainsatt nationsmöte]]
- - [[#Veckomail v.10#Årets västgöte|Årets västgöte]]
- - [[#Veckomail v.10#Fredag|Fredag]]
- - [[#Veckomail v.10#Kommande datum|Kommande datum]]
- - [[#Veckomail v.10#Veckans ko|Veckans ko]]
-
-== Extrainsatt nationsmöte ==
-Under nationens årsmöte i fredags valdes _inget_ styre. Istället
-sitter föregående kvar som ett interimstyre fram till ett
-*extrainsatt nationsmöte* fredagen den 27 mars.
-
-== Årets västgöte ==
-
-Peter Höglund valdes till årets västgöte med oklar anledning. Grattis?
-
-== Fredag ==
-
-Trotts vårt lilla problem med nationens framtid är Stupan öppen som
-vanligt på fredag, dock oklart vem som är ansvarig.
-
-== Kommande datum ==
-
-2020-03-13 :: WGA:s hemvändarafton
-2020-03-27 :: Extrainsatt årsmöte
-2020-05-29 :: 29 maj
-
-== Veckans ko ==
-
-{{{
- ____________
-< Sök styret >
- ------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-}}}
diff --git a/Västgöta/veckomail/2020/11.wiki b/Västgöta/veckomail/2020/11.wiki
deleted file mode 100644
index 40a822f..0000000
--- a/Västgöta/veckomail/2020/11.wiki
+++ /dev/null
@@ -1,52 +0,0 @@
-= Veckomail v.11 =
-
-Minns ni förr, när det var bättre? När veckomailen kom i tid, inte var
-det sämsta ni någonsin läst, samt till och med skrevs av styret?
-Tyvärr har jag glömmt det då mitt andra veckomail i rad utgör grunden
-för en tradition. En vecka till så är ni helt fast!
-
-= Contents =
- - [[#Veckomail v.11|Veckomail v.11]]
- - [[#Veckomail v.11#Extrainsatt nationsmöte|Extrainsatt nationsmöte]]
- - [[#Veckomail v.11#Fredag & Hemvändarafton|Fredag & Hemvändarafton]]
- - [[#Veckomail v.11#Kommande datum|Kommande datum]]
- - [[#Veckomail v.11#Veckans ko|Veckans ko]]
-
-== Extrainsatt nationsmöte ==
-Vårt kära styre är fortfarande kvar i interimets limbo. Kom den 27
-mars och säkra nationens framtid.
-
-För att söka styret, eller allmänna frågon, kontakta
-val@vastgota.nation.liu.se.
-
-== Fredag & Hemvändarafton ==
-På fredag (idag) hålls stupan öppen, men inte helt som vanligt. Vår
-gammlingförening WGA har nämligen sin hemvändarafton. Kom förbi, och
-möt de vilka faktiskt har lämnat universitetet!
-
-== Kommande datum ==
-
-2020-03-13 :: WGA:s hemvändarafton
-2020-03-27 :: Extrainsatt årsmöte
-2020-05-29 :: 29 maj
-
-== Veckans ko ==
-{{{
- ________________________________________
-< erit igitur magis, quamquam in Swedish >
- ----------------------------------------
-\ . .
- \ / `. .' "
- \ .---. < > < > .---.
- \ | \ \ - ~ ~ - / / |
- _____ ..-~ ~-..-~
- | | \~~~\.' `./~~~/
- --------- \__/ \__/
- .' O \ / / \ "
- (_____, `._.' | } \/~~~/
- `----. / } | / \__/
- `-. | / | / `. ,~~|
- ~-.__| /_ - ~ ^| /- _ `..-'
- | / | / ~-. `-. _ _ _
- |_____| |_____| ~ - . _ _ _ _ _>
-}}}
diff --git a/Västgöta/veckomail/2020/12.wiki b/Västgöta/veckomail/2020/12.wiki
deleted file mode 100644
index d6c32b9..0000000
--- a/Västgöta/veckomail/2020/12.wiki
+++ /dev/null
@@ -1,41 +0,0 @@
-= Veckomail v.12 =
-
-Jag hade fått skämta här om hur Hôl i vägga inte innebär att man
-bokstavligen ska slå sig in på Stupan, men sen gick värden och dog.
-I dessa kris-tider tror jag på att hålla ihop, och att lite gemenskap
-nog främjar oss mer än fullständig distansiering.
-
-= Contents =
- - [[#Veckomail v.12|Veckomail v.12]]
- - [[#Veckomail v.12#Extrainsatt nationsmöte|Extrainsatt nationsmöte]]
- - [[#Veckomail v.12#Fredag|Fredag]]
- - [[#Veckomail v.12#Kommande datum|Kommande datum]]
- - [[#Veckomail v.12#Veckans ko|Veckans ko]]
-
-== Extrainsatt nationsmöte ==
-Vårt kära styre är fortfarande kvar i interimets limbo. Kom den 27
-mars och säkra nationens framtid.
-
-För att söka styret, eller allmänna frågon, kontakta
-val@vastgota.nation.liu.se.
-
-== Fredag ==
-Trotts Coronatider och utegångsförbud kommer Stupan hålla öppet på
-fredag, och Hugo är ansvarig. Om du är sjuk ombeds du hålla dig borta.
-
-== Kommande datum ==
-
-2020-03-27 :: Extrainsatt årsmöte
-2020-05-29 :: 29 maj
-
-== Veckans ko ==
-{{{
- _____________________________
-/ Skulle valt Herpes istället \
-\ för Corona... /
- -----------------------------
- \ \_______
- v__v \ \ O )
- (oo) ||----w |
- (__) || || \/\
-}}}
diff --git a/Västgöta/veckomail/2020/13.wiki b/Västgöta/veckomail/2020/13.wiki
deleted file mode 100644
index a7251aa..0000000
--- a/Västgöta/veckomail/2020/13.wiki
+++ /dev/null
@@ -1,37 +0,0 @@
-= Veckomail v.13 =
-
-Jag minns sen, när det blir sämmre. När vi ännu en gång kommer att ha
-en styrelseledamot som skriver veckomailen... eller, det är ju bättre!
-
-= Contents =
- - [[#Veckomail v.13|Veckomail v.13]]
- - [[#Veckomail v.13#Extrainsatt nationsmöte|Extrainsatt nationsmöte]]
- - [[#Veckomail v.13#Fredag|Fredag]]
- - [[#Veckomail v.13#Kommande datum|Kommande datum]]
- - [[#Veckomail v.13#Veckans Ko|Veckans Ko]]
-
-== Extrainsatt nationsmöte ==
-Nu direkt idag hålls vårt extrainsatta årsmöte, klockan 19 på Stupan.
-Kom och bli del av styret! Knappt nåt jobb erfordras.
-
-== Fredag ==
-Efter mötets avslutande öppnar Stupan som vanligt, och Rehnman är
-ansvarig. Veckans utbud kommer vara aningen "annorlunda".
-
-== Kommande datum ==
-2020-03-27 :: Extrainsatt årsmöte
-2020-05-29 :: 29 maj
-
-== Veckans Ko ==
-{{{
- _________
-< hej då? >
- ---------
- \
- \ .
- ___ //
- {~._.~}//
- ( Y )K/
- ()~*~()
- (_)-(_)
-}}}
diff --git a/Västgöta/veckomail/2020/14.wiki b/Västgöta/veckomail/2020/14.wiki
deleted file mode 100644
index 1ae94d1..0000000
--- a/Västgöta/veckomail/2020/14.wiki
+++ /dev/null
@@ -1,42 +0,0 @@
-= Veckomail v.14 =
-
-Ny styrelse men ni blev ändå inte av med mig. Med lite tur får ni veta
-varför nästa vecka.
-
-= Contents =
- - [[#Veckomail v.14|Veckomail v.14]]
- - [[#Veckomail v.14#Fredag|Fredag]]
- - [[#Veckomail v.14#Kommande datum|Kommande datum]]
- - [[#Veckomail v.14#Veckans Ko|Veckans Ko]]
-
-== Fredag ==
-
-Stupan kommer hålla STÄNGT på fredag. Dels funderar styret på om man
-borde göra någonting angående Corona, samt så måste vi sätta nya
-lokalgöten på sin plats. Jag beklagar.
-
-== Kommande datum ==
-2020-05-29 :: 29 maj
-
-== Veckans Ko ==
-{{{
- ________________
-< Stupan är min! >
- ----------------
- \ / \ //\
- \ |\___/| / \// \\
- /0 0 \__ / // | \ \
- / / \/_/ // | \ \
- @_^_@'/ \/_ // | \ \
- //_^_/ \/_ // | \ \
- ( //) | \/// | \ \
- ( / /) _|_ / ) // | \ _\
- ( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
- (( / / )) ,-{ _ `-.|.-~-. .~ `.
- (( // / )) '/\ / ~-. _ .-~ .-~^-. \
- (( /// )) `. { } / \ \
- (( / )) .----~-.\ \-' .~ \ `. \^-.
- ///.----..> \ _ -~ `. ^-` ^-_
- ///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
- /.-~
-}}}
diff --git a/Västgöta/veckomail/2020/15.wiki b/Västgöta/veckomail/2020/15.wiki
deleted file mode 100644
index e6643b4..0000000
--- a/Västgöta/veckomail/2020/15.wiki
+++ /dev/null
@@ -1,58 +0,0 @@
-= Veckomail v.15 =
-
-Ny vecka, ny misär.
-Ni trodde ni slapp mig här.
-Nu Q jag råka vara,
-och rimma kan jag inte heller.
-
-= Contents =
- - [[#Veckomail v.15|Veckomail v.15]]
- - [[#Veckomail v.15#Kommande Fredagar|Kommande Fredagar]]
- - [[#Veckomail v.15#KSO huomannut meidät!|KSO huomannut meidät!]]
- - [[#Veckomail v.15#Kommande datum|Kommande datum]]
- - [[#Veckomail v.15#Veckans Ko|Veckans Ko]]
-
-== Kommande Fredagar ==
-Corona är jobbigt. Lokalgöten informerar att Stupan kommer inte öppna
-igen förens tidigast efter påsk. Dock påminner han om att
-spontanöppningar numera är tillåtna igen. Kom som alltid ihåg att
-inte vara för högljudda.
-
-== KSO huomannut meidät! ==
-KSO, vår vän-nation i Finland, vill skriva artiklar om våra fina minnen
-tillsammans. Om ni har någonting är det bara att dra på studentmössan
-och innan den 12 april fylla i deras formulär. Bifogar deras brev
-nedan:
-
- I hope everything is okay there during the exceptional situation with
- the covid-19 pandemic. Since we are under quarantine-like
- circumstances at the time, our nations magazine Ksoidin is taking
- advantage of the extra time for writing articles, which is also the
- reason why I am contacting your nation!
-
- I and a team of fellow reporters of our magazine are writing an
- article regarding the friendship between our organizations. We would
- be extremely delighted to hear some memories, stories or thoughts of
- your nation’s members regarding the friendship between KSO and your
- nation. For this purpose, would it be possible for you to forward the
- following Google Form (https://forms.gle/kxYVun8PMHUJv8vT6) to your
- nation’s members?
-
-== Kommande datum ==
-2020-05-29 :: 29 maj
-
-== Veckans Ko ==
-{{{
- _____________________
-< Göm er från Corona! >
- ---------------------
- \
- \
- ,__, | |
- (oo)\| |___
- (__)\| | )\_
- | |_w | \
- | | || *
-
- Cower....
-}}}
diff --git a/Västgöta/veckomail/2020/36.wiki b/Västgöta/veckomail/2020/36.wiki
deleted file mode 100644
index dd1a07c..0000000
--- a/Västgöta/veckomail/2020/36.wiki
+++ /dev/null
@@ -1,46 +0,0 @@
-= Veckomail v.36 =
-
-En ny termin och nya "möjligheter". Veckomailen kommer åtminstånde
-börja komma igen...
-
-= Contents =
- - [[#Veckomail v.36|Veckomail v.36]]
- - [[#Veckomail v.36#Kalasmottagningen|Kalasmottagningen]]
- - [[#Veckomail v.36#Fredag|Fredag]]
- - [[#Veckomail v.36#Kommande datum|Kommande datum]]
- - [[#Veckomail v.36#Veckans ko|Veckans ko]]
-
-== Kalasmottagningen ==
-
-På onsdag har ni (kanske) möjligheten att få se Västgötas reklamfilm
-som en del av Kalasmottagningen. För att få se den nu, och slippa råka
-se tjuvjakt live, följ länken.
-https://www.youtube.com/watch?v=3ULNJtx4KPY
-
-== Fredag ==
-
-På fredag är Stupan öppen från 19 och framåt, likt vanligt. Stanna
-hemma och du är kraslig.
-
-== Kommande datum ==
-Inga kommande datum.
-
-== Veckans ko ==
-{{{
-⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
-⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⡟⢉⠁⠈⡻⠘⠏⠀⠹⢛⣷⠄⠀⠀⠀⠀⠀⠀⠀⠀
-⠀⠀⠀⠀⠀⣰⡞⢿⡄⠀⢻⡴⣇⣀⣷⣴⢄⢀⡖⡾⠁⢀⣼⢛⣦⠀⠀⠀⠀⠀
-⠀⠀⠀⣠⣄⠈⠙⢦⣿⣶⠞⠋⠉⠁⣀⣄⡀⠉⠙⠻⢦⣾⣵⠟⠉⢠⣄⠀⠀⠀
-⠀⠀⢰⣯⣙⠷⣄⡴⠋⣤⣤⣤⠀⢸⡏⢉⣿⠀⣠⡤⣤⡘⢷⣤⡴⣛⣹⣧⠀⠀
-⠀⢀⣄⠀⠉⢛⡿⠁⠘⣧⣀⣼⠃⠀⠙⠛⠁⠀⢿⣄⣸⠇⠀⢹⡟⠉⠁⢀⣄⠀
-⠀⡾⡙⣛⣳⣾⠁⠀⡀⣀⠉⠀⠀⠀⣀⣀⠀⠀⠀⠉⢁⡀⡀⠀⢿⣶⣛⣋⣻⠀
-⠀⠉⠈⠉⠈⡹⠀⠸⠁⠙⣷⠀⠀⢸⡏⠉⣷⠀⠀⢰⠉⠈⣣⠀⠸⡉⠉⠉⠉⠀
-⠀⣿⠛⣛⣻⣿⠀⠈⠛⠙⠁⠀⠀⠈⠛⠛⠁⠀⠀⠀⠙⠛⠉⠀⣼⣽⣛⡛⣹⠀
-⠀⠘⠟⠉⠁⣘⣧⠀⢀⡶⠛⢶⡂⠀⢀⣀⠀⠀⣴⠟⢳⡄⠀⢰⣏⠀⠉⠙⠛⠀
-⠀⠀⢰⡶⢛⣭⠟⢧⡈⠷⠶⠾⠁⢰⡏⠙⣷⠀⠻⢦⠾⢃⣴⠿⢯⣛⢳⡶⠀⠀
-⠀⠀⠀⠻⠟⠁⢀⡴⣿⢶⣄⡀⠀⠈⠛⠚⠋⠀⢀⣠⡴⣾⢷⣄⠀⠹⠟⠁⠀⠀
-⠀⠀⠀⠀⠀⢺⣏⣴⠏⠀⣸⠟⠝⠓⠶⠶⠖⠛⠛⣯⠀⠘⢷⣙⡿⠀⠀⠀⠀⠀
-⠀⠀⠀⠀⠀⠀⠈⠉⠀⣶⣏⣬⠁⠀⣥⢠⠆⠀⣰⣘⣷⠄⠈⠉⠀⠀⠀⠀⠀⠀
-⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠘⠳⠾⠛⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
- Ko-rona
-}}}
diff --git a/Västgöta/veckomail/2020/38.wiki b/Västgöta/veckomail/2020/38.wiki
deleted file mode 100644
index 56f8429..0000000
--- a/Västgöta/veckomail/2020/38.wiki
+++ /dev/null
@@ -1,48 +0,0 @@
-= Veckomail v.38 =
-
-Äntligen bör veckomailen börja visa sig på webbsidan igen, när jag nu
-till slut har kommit på hur man skriptar *shudders* Wordpress!
-
-= Contents =
- - [[#Veckomail v.38|Veckomail v.38]]
- - [[#Veckomail v.38#Fredag|Fredag]]
- - [[#Veckomail v.38#Medlemsskap går ut|Medlemsskap går ut]]
- - [[#Veckomail v.38#Sensommarblotet|Sensommarblotet]]
- - [[#Veckomail v.38#Kommande datum|Kommande datum]]
- - [[#Veckomail v.38#Veckans Ko|Veckans Ko]]
-
-== Fredag ==
-På fredag är Stupan öppen som vanligt, och Dexter är så illa tvungen
-att vara ansvarig.
-
-== Medlemsskap går ut ==
-Om man vill fortsätta vara medlem kan man med fördel förnya sitt
-medlemskap, ty enligt GDPR kommer vi senast den 31 oktober BRÄNNA
-hela medlemsregistret! Om du vill vara med har vi...
-
-== Sensommarblotet ==
-Vår uråldriga tradition att bränna medlemsregistret.
-I år bjuder dessutom styrelsen in till klassisk fulsittning i samband
-med ritualen.
-
-Ritualen kommer äga rum lördagen den 10 oktober, och anmälan stänger
-torsdagen den 8 oktober vid lunch. Deltagande kostar 30kr, mat ingår.
-
-
-== Kommande datum ==
-2020-10-10 :: Sensommarblotet
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
-.-. .-.
- \\_//| /_(
- _/(o)/ .'_(
-/o_.-. \\/__( .
- \\-\\--' |\\
- 3\\-3\\ \\ .|
- /--\\ '.'/
- __//_//__.-'
- '-'-'-'-'
-}}}
diff --git a/Västgöta/veckomail/2020/39.wiki b/Västgöta/veckomail/2020/39.wiki
deleted file mode 100644
index 64f1525..0000000
--- a/Västgöta/veckomail/2020/39.wiki
+++ /dev/null
@@ -1,54 +0,0 @@
-= Veckomail v.39 =
-
-= Contents =
- - [[#Veckomail v.39|Veckomail v.39]]
- - [[#Veckomail v.39#Fredag|Fredag]]
- - [[#Veckomail v.39#Förnya medlemskap|Förnya medlemskap]]
- - [[#Veckomail v.39#Sensommarblotet|Sensommarblotet]]
- - [[#Veckomail v.39#Kommande datum|Kommande datum]]
- - [[#Veckomail v.39#Veckans Ko|Veckans Ko]]
-
-== Fredag ==
-På fredag är Stupan öppen som vanligt, och Dexter är friviligt
-ansvarig.
-
-== Förnya medlemskap ==
-Om man vill fortsätta vara medlem är det dags att förnya sitt
-medlemskap. Alla gamla åker bort från epostlistan.
-
-== Sensommarblotet ==
-Anmälan till sensommarblotet är fortfarande öppen.
-30:-
-Kvällen 10 oktober
-Fulsittning + Blot
-
-Anmälan stänger 8 oktober (vid lunch)
-
-https://vastgota.nation.liu.se/aktiviteter/sensommarblotet/
-
-== Kommande datum ==
-2020-10-10 :: Sensommarblotet
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- _____________________________________
-< Sakta men säkert går det framåt. >
- -------------------------------------
- \ ___-------___
- \ _-~~ ~~-_
- \ _-~ /~-_
- /^\__/^\ /~ \ / \
- /| O|| O| / \_______________/ \
- | |___||__| / / \ \
- | \ / / \ \
- | (_______) /______/ \_________ \
- | / / \ / \
- \ \^\\ \ / \ /
- \ || \______________/ _-_ //\__//
- \ ||------_-~~-_ ------------- \ --/~ ~\ || __/
- ~-----||====/~ |==================| |/~~~~~
- (_(__/ ./ / \_\ \.
- (_(___/ \_____)_)
-}}}
diff --git a/Västgöta/veckomail/2020/41.wiki b/Västgöta/veckomail/2020/41.wiki
deleted file mode 100644
index dcc214e..0000000
--- a/Västgöta/veckomail/2020/41.wiki
+++ /dev/null
@@ -1,47 +0,0 @@
-= Veckomail v.41 =
-
-Efter lång väntan är veckomailen äntligen tillbaka!
-Med samma innehåll som alltid!
-
-= Contents =
- - [[#Veckomail v.41|Veckomail v.41]]
- - [[#Veckomail v.41#Fredag|Fredag]]
- - [[#Veckomail v.41#Sensommarblotet|Sensommarblotet]]
- - [[#Veckomail v.41#Kommande datum|Kommande datum]]
- - [[#Veckomail v.41#Veckans Ko|Veckans Ko]]
-
-== Fredag ==
-På fredag är Stupan öppen som vanligt, och nån snubbe vid namn Alex är
-ansvarig.
-
-== Sensommarblotet ==
-Snart stänger anmälan till Sensommarblotet!
-Tänk er midvinterblotet, fast man slipper frysa, och mycket billigare!
-30:-
-Kvällen 10 oktober
-Fulsittning + Blot
-
-Anmälan stänger 8 oktober (vid lunch)
-
-Direktlänk till anmälan:
-https://docs.google.com/forms/d/e/1FAIpQLScRxVhMBqpEP1FHLwzO7mjbMXFkSlMEWZFlvMfTjr_YpEdF1A/viewform?usp=sf_link
-
-== Kommande datum ==
-2020-10-10 :: Sensommarblotet
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- _____________
-< distans.zip >
- -------------
- \
- \ ^__^
- (oo)\_______
- (__^__^ )\/\
- (oo)\___||__
- (__)\ )\/\
- ||----w |
- || ||
-}}}
diff --git a/Västgöta/veckomail/2020/42.wiki b/Västgöta/veckomail/2020/42.wiki
deleted file mode 100644
index 540e90c..0000000
--- a/Västgöta/veckomail/2020/42.wiki
+++ /dev/null
@@ -1,20 +0,0 @@
-= Veckomail v.42 =
-
-== Fredag ==
-Stupan håller öppen likt vanligt idag (fredag), Claes är ansvarig.
-
-== Kommande datum ==
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- _.._..,_,_
- ( )
- ]~,"-.-~~[
-.=])' (; ([
-| ]:: ' [
-'=]): .) ([
- |:: ' |
- ~~----~~
-}}}
diff --git a/Västgöta/veckomail/2020/43.wiki b/Västgöta/veckomail/2020/43.wiki
deleted file mode 100644
index 8908507..0000000
--- a/Västgöta/veckomail/2020/43.wiki
+++ /dev/null
@@ -1,30 +0,0 @@
-= Veckomail v.43 =
-
-== Fredag ==
-Stupan håller öppet, Arvid är ansvarig.
-
-== Höstmöte ==
-
-Om två veckor är det höstmöte!
-
-Åtminstånde kommer valberedning väljas, och ansvarsfrihet för styret
-19/20 behandlas. Om ni vill ta upp något mer
-
-- fredagen den 30 oktober - handlingar
-- fredagen den 6 november - möte
-
-== Kommande datum ==
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- ___________________
-< En vanlig koo...? >
- -------------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-}}}
diff --git a/Västgöta/veckomail/2020/44.wiki b/Västgöta/veckomail/2020/44.wiki
deleted file mode 100644
index da69763..0000000
--- a/Västgöta/veckomail/2020/44.wiki
+++ /dev/null
@@ -1,37 +0,0 @@
-= Veckomail v.43 =
-
-== Fredag ==
-Stupan är öppet som vanligt på fredag. Rehnman är ansvarig.
-
-== Höstmöte ==
-
-Bara en vecka kvar till höstmöte (på fredag)!
-
-Åtminstånde kommer valberedning väljas, och ansvarsfrihet för styret
-19/20 behandlas. Om ni vill ta upp något mer
-
-- fredagen den 30 oktober - handlingar
-- fredagen den 6 november - möte
-
-== Kommande datum ==
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- /) (\
- .-._((,~~.))_.-,
- `=. 99 ,='
- / ,o~~o. \
- { { .__. } }
- ) `~~~\' (
- /`-._ _\.-\
- / ) \
- ,-X # X-.
- / \ / \
- ( )| | | |( )
- \ / | | | | \ /
- \_(.-( )--( )-.)_/
- /_,\ ) / \ ( /._\
- /_,\ /._\
-}}}
diff --git a/Västgöta/veckomail/2020/45.wiki b/Västgöta/veckomail/2020/45.wiki
deleted file mode 100644
index 91e5919..0000000
--- a/Västgöta/veckomail/2020/45.wiki
+++ /dev/null
@@ -1,37 +0,0 @@
-= Veckomail v.45 =
-
-== Fredag ==
-På grund av Coronarestriktioner kommer Stupan vara STÄNGD
-
-== Höstmöte ==
-Trotts Stupans oöppnande kommer höstmötet fortfarande äga rum där,
-alternativt strax utanför om vi blir många.
-
-18.00, fredagen den 6 november.
-
-Valberidning kommer väljas
-Styret 19/20 kanske får ansvarsfrihet.
-
-== Kommande datum ==
-2020-11-06 :: Höstmöte
-2020-11-28 :: Midvinterblotet
-
-== Veckans Ko ==
-{{{
- __
- ,-_ (` ).
- |-_'-, ( ).
- |-_'-' _( '`.
- _ |-_'/ .=(`( . )
- /;-,_ |-_' ( (.__.:-`-_.'
- /-.-;,-,___|' `( ) )
- /;-;-;-;_;_/|\_ _ _ _ _ ` __.:' )
- x_( __`|_P_|`-;-;-;,| `--'
- |\ \ _|| `-;-;-'
- | \` -_|. '-'
- | / /-_| `
- |/ ,'-_| \
- /____|'-_|___\
- _..,____]__|_\-_'|_[___,.._
-' ``'--,..,.
-}}}
diff --git a/Västgöta/veckomail/2020/47.wiki b/Västgöta/veckomail/2020/47.wiki
deleted file mode 100644
index bc99fdb..0000000
--- a/Västgöta/veckomail/2020/47.wiki
+++ /dev/null
@@ -1,32 +0,0 @@
-= Veckomail v.47 =
-Minns ni goda nyheter... det var förr, när det var bättre.
-
-== Fredagar framöver ==
-Stupan är framöver stängd. Nästa öppning återstår att se.
-
-== Inget midvinterblot ==
-Eftersom läget inte ens tillåter vanliga fredagar kommer även blotet
-STÄLLAS IN. Styrelsen kollar på möjliga alternativa fester.
-
-
-== Sök valberedning ==
-Under årsmötet vakantsattes valberedningen, och styret gavs rätt att
-fyllnadsvälja en.
-
-Vill du vara med och hitta nästa styre?
-Kontakta styrelse@vastgota.nation.liu.se.
-
-== Kommande datum ==
-Inga kommande datum
-
-== Veckans Ko ==
-{{{
- || ||
- ||----w |
- (__)\ )\/\
- \ (oo)\_______
- \ ^__^
- -----------
-< Snart så >
- ___________
-}}}
diff --git a/Västgöta/veckomail/2020/48.wiki b/Västgöta/veckomail/2020/48.wiki
deleted file mode 100644
index 80d3f22..0000000
--- a/Västgöta/veckomail/2020/48.wiki
+++ /dev/null
@@ -1,3 +0,0 @@
-= Veckomail v.48 =
-
-Ingenting händer, återkommer när någonting händer.
diff --git a/Västgöta/veckomail/2020/kaktus_v10.jpg b/Västgöta/veckomail/2020/kaktus_v10.jpg
deleted file mode 100644
index 3b39f57..0000000
--- a/Västgöta/veckomail/2020/kaktus_v10.jpg
+++ /dev/null
Binary files differ
diff --git a/Västgöta/veckomail/2020/logo.png b/Västgöta/veckomail/2020/logo.png
deleted file mode 100644
index d990a65..0000000
--- a/Västgöta/veckomail/2020/logo.png
+++ /dev/null
Binary files differ
diff --git a/Västgöta/veckomail/2021/33.wiki b/Västgöta/veckomail/2021/33.wiki
deleted file mode 100644
index 66df073..0000000
--- a/Västgöta/veckomail/2021/33.wiki
+++ /dev/null
@@ -1,11 +0,0 @@
-= Veckomail v.33 =
-Efter nästan ett år återvänder veckomailen! Äntligen slipper ni slippa
-mina fagra bokstäver!
-
-== Stupan ==
-Stupan kommer återigen ha öppet varje fredag, och den här veckan är
-Agrup ansvarig. Tänk dock på att pandemin inte än är över, och håll
-dig borta om du är det minsta sjuk.
-
-== Veckans överraskning ==
-Att veckomailen har återvänt!
diff --git a/Västgöta/veckomail/2021/34.wiki b/Västgöta/veckomail/2021/34.wiki
deleted file mode 100644
index a8d2af1..0000000
--- a/Västgöta/veckomail/2021/34.wiki
+++ /dev/null
@@ -1,24 +0,0 @@
-= Veckomail v.34 =
-
-== Extrainsatt nationsstämma ==
-Extra nationsstämma kommer hållas söndagen den 29 augusti, 19.00 på
-Stupan. Två mindre propositioner ang. stadgeändring kommer hanteras.
-Kallelse ska ha kommit ut separat.
-
-== Recentiorsgasquen ==
-Nästa fredag (3 september) ersätts ordinarie föreningskväll av
-Recentiorsgasquen. Då är alla nya och nyfikna extra välkomna! Dra med
-en kompis och låt honom se hur Västgöta Nation fungerar!
-
-== Fredag ==
-Stupan är som vanligt öppet på fredag från 19.00 och framåt, och Slash
-är ansvarig. Tänk dock på att pandemin inte än är över, och håll dig
-borta om du är det minsta sjuk.
-
-== Kommande datum ==
-
-2021-08-29 :: Extrainsatt föreningsmöte
-2021-09-03 :: Recentiorsgasquen
-2021-09-18 :: Midsommarblotet
-2021-09-24 :: Höstmöte
-2021-09-25 :: Häfv-VM
diff --git a/Västgöta/veckomail/2021/35.wiki b/Västgöta/veckomail/2021/35.wiki
deleted file mode 100644
index d2014fc..0000000
--- a/Västgöta/veckomail/2021/35.wiki
+++ /dev/null
@@ -1,33 +0,0 @@
-Terminen är igång för fullt, och våra aktiviteter har ännu en gång
-börjat ta fart!
-
-== Fredag / Recentiorsgasquen ==
-Nu på fredag ersätts ordinarie föreningskväll med Recentiorsgasquen.
-
-En Recentiorsgasque är en långt gående tradition bland Nationer, då
-alla intresserade av nationsliv är bjudna (gamlingar får också komma).
-
-Dra med en kompis och kom till Ättestupan från 19.00 och framåt.
-(Rydsvägen 252, 3tr https://vastgota.nation.liu.se/attestupan/)
-
-Tänk dock på att pandemin inte än är över, och håll dig
-borta om du är det minsta sjuk.
-
-== Midsommarblotet ==
-
-Ryktet om Midsommarblotets inställning är betydligt överdrivna. Dock
-är Sensommarblotet inställt.
-
-Midsommarblotet är som sagt en kräftskiva, och kommer äga rum lördagen
-den 18 september.
-
-Biljetter kostar 200kr, och då ingår mat samt någon snaps.
-
-Anmälan på: https://forms.gle/tZBkqAFzLy9k1JPk7
-
-== Kommande datum ==
-
-2021-09-03 :: Recentiorsgasquen
-2021-09-18 :: Midsommarblotet
-2021-09-24 :: Höstmöte
-2021-09-25 :: Häfv-VM
diff --git a/Västgöta/veckomail/2021/36.wiki b/Västgöta/veckomail/2021/36.wiki
deleted file mode 100644
index 1f7e435..0000000
--- a/Västgöta/veckomail/2021/36.wiki
+++ /dev/null
@@ -1,22 +0,0 @@
-
-== Fredag ==
-
-Stupan har som vanligt öppet på fredag, och troligen är inte Peter
-ansvarig.
-
-Stupan har också fått ny telefon!
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Midsommarblotet ==
-
-Lördagen den 18 september och kräftskivan Midsommarblotet närmar sig.
-
-Biljetter kostar 200kr, och då ingår mat samt någon snaps.
-
-Anmälan på: https://forms.gle/tZBkqAFzLy9k1JPk7
-
-== Kommande datum ==
-
-2021-09-18 :: Midsommarblotet
-2021-09-24 :: Höstmöte
-2021-09-25 :: Häfv-VM
diff --git a/Västgöta/veckomail/2021/37.wiki b/Västgöta/veckomail/2021/37.wiki
deleted file mode 100644
index 7a29387..0000000
--- a/Västgöta/veckomail/2021/37.wiki
+++ /dev/null
@@ -1,28 +0,0 @@
-Nya vecka betyder nytt veckomail. Men eftersom världen ännu inte är
-bra är inte heller breven det.
-
-== Fredag ==
-Stupan har som vanligt öppet på fredag, och Rehnman är ansvarig.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Midsommarblotet ==
-Nu på lördag är det dags för kräftor! Sista anmälan nu på torsdag,
-16.00.
-
-Anmälan på: https://forms.gle/tZBkqAFzLy9k1JPk7
-
-== Höstmöte ==
-Fredagen där efter (18.00) är det dags för höstens Nationsstämma.
-Valberedning kommer väljas. Tveka inte att nominera någon (till
-styrelse@vastgota.nation.liu.se).
-
-== Häfv-VM ==
-Åters upplaga av Häfv-VM går av stapeln lördagen den 25 september.
-Anmälan sker på plats.
-
-== Kommande datum ==
-2021-09-18 :: Midsommarblotet
-2021-09-24 :: Höstmöte
-2021-09-25 :: Häfv-VM
diff --git a/Västgöta/veckomail/2021/38.wiki b/Västgöta/veckomail/2021/38.wiki
deleted file mode 100644
index 08f6680..0000000
--- a/Västgöta/veckomail/2021/38.wiki
+++ /dev/null
@@ -1,22 +0,0 @@
-Ni trodde ni slapp det, men här kommer veckans upplaga av veckomailet!
-
-== Höstmöte ==
-Redan imorgon (fredag) klockan 18.00 är det höstmöte på Ättestupan.
-Valberedning kommer väljas. Tveka inte att nominera någon (till
-styrelse@vastgota.nation.liu.se).
-
-== Fredag ==
-Så fort höstmötet är avklarat vidtar ordinarie föreningskväll, vilken
-Claes ansvarar för.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Häfv-VM ==
-Veckan rundas av med VM i Häfv! Nu på Lördag, från 20.00 och framåt.
-Anmälan sker på plats och alla är välkommna, även de som inte häft
-någonting tidigare. Vi kan instruera.
-
-== Kommande datum ==
-2021-09-24 :: Höstmöte
-2021-09-25 :: Häfv-VM
diff --git a/Västgöta/veckomail/2021/39.wiki b/Västgöta/veckomail/2021/39.wiki
deleted file mode 100644
index 8664df1..0000000
--- a/Västgöta/veckomail/2021/39.wiki
+++ /dev/null
@@ -1,16 +0,0 @@
-== Förnya medlemsskap ==
-I början av september upprättade vi ett nytt medlemsregister, så om
-du vill fortsätta vara medlem bör du komma förbi Ättestupan och förnya
-det innan den siste oktober, då vi bränner allt det gamla.
-
-== Fredag ==
-På fredag är Stupan öppen som vanligt, men vi vet ännu inte vem som är
-ansvarig. Är du sugen på att veta mer om hur föreningen drivs, kan du
-kika förbi lokalmötet som börjar redan 18.30.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Kommande datum ==
-2021-11-27 :: Midvinterblotet
-2022-05-29 :: 29 Maj?
diff --git a/Västgöta/veckomail/2021/40.wiki b/Västgöta/veckomail/2021/40.wiki
deleted file mode 100644
index 1861519..0000000
--- a/Västgöta/veckomail/2021/40.wiki
+++ /dev/null
@@ -1,15 +0,0 @@
-== Förnya medlemsskap ==
-I början av september upprättade vi ett nytt medlemsregister, så om
-du vill fortsätta vara medlem bör du komma förbi Ättestupan och förnya
-det innan den siste oktober, då vi bränner allt det gamla?
-
-== Fredag ==
-På fredag håller Rehnman Stupan öppen i vanlig stil.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Kommande datum ==
-2021-11-27 :: Midvinterblotet
-2022-05-29 :: 29 Maj?
-
diff --git a/Västgöta/veckomail/2021/41.wiki b/Västgöta/veckomail/2021/41.wiki
deleted file mode 100644
index 49c7e6f..0000000
--- a/Västgöta/veckomail/2021/41.wiki
+++ /dev/null
@@ -1,13 +0,0 @@
-== Förnya medlemsskap ==
-Även om alla medlemsskap redan har gått ut er det fortfarade nästan 3
-veckor kvar tills de gamla glöms bort. Kom förbi Stupan och förnya.
-
-== Fredag ==
-Peter håller Stupan öppen i vanlig ordning nu på fredag.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Kommande datum ==
-2021-11-27 :: Midvinterblotet
-2022-05-29 :: 29 Maj?
diff --git a/Västgöta/veckomail/2021/43.wiki b/Västgöta/veckomail/2021/43.wiki
deleted file mode 100644
index d502cb5..0000000
--- a/Västgöta/veckomail/2021/43.wiki
+++ /dev/null
@@ -1,11 +0,0 @@
-Ni trodde ni slapp dem, men nu kommer till slut ett nytt veckomail!
-
-== Fredag ==
-Fredagens tillställning står Claes för, och startar i vanlig ordning
-19.00.
-
-Ring 073 - 81 88 442 så släpper vi in dig, men stanna fortfarande
-hemma om du känner dig sjuk.
-
-== Kommande datum ==
-2021-11-27 :: Midvinterblotet
diff --git a/Västgöta/veckomail/2021/44.wiki b/Västgöta/veckomail/2021/44.wiki
deleted file mode 100644
index 780bb58..0000000
--- a/Västgöta/veckomail/2021/44.wiki
+++ /dev/null
@@ -1,17 +0,0 @@
-Äntligen börjar det hända saker. Redan nu på fredag kommer det vara
-dags för VM i kille (INTE Ålandskille)!
-
-== Fredag / VM i Punshkille ==
-Fredagens föreningskväll kommer på av stapeln likt förvantat, tack vare Hugo.
-Klockan 20 under kvällen kommer även VM i Punshkille hållas, där du
-har möjlighet att visa dina förmågor i ett ytterst komplext spel.
-Anmälan sker på plats.
-
-Likt alltid kan du ringa 073 - 81 88 442 för att bli insläppet, men
-stanna fortfarande hemma om du känner dig sjuk.
-
-= Kommande datum =
-2021-11-05 :: Kille-VM
-2021-11-27 :: Midvinterblotet
-2021-12-03 :: Caps-VM
-2021-12-11 :: Julbord
diff --git a/Västgöta/veckomail/2021/45.wiki b/Västgöta/veckomail/2021/45.wiki
deleted file mode 100644
index 73b8cd7..0000000
--- a/Västgöta/veckomail/2021/45.wiki
+++ /dev/null
@@ -1,19 +0,0 @@
-= Fredag =
-Fredagens föreningskväll sker i vanlig ordning, men i ovanlig ordning
-är Rehnman ansvarig.
-
-Likt alltid kan du ringa 073 - 81 88 442 för att bli insläppet, men
-stanna fortfarande hemma om du känner dig sjuk.
-
-= Mera punschkille-VM =
-På grund av det rådande väderleksförhållandet ställdes punschkillen in
-förrå veckan. Vi försöker igen den här veckan. Start klockan 20,
-anmälan sker på plats.
-
-= Kommande datum =
-2021-11-15 :: Kille-OVM
-2021-11-27 :: Midvinterblotet
-2021-12-03 :: Caps-VM
-2021-12-11 :: Julbord
-2021-12-17 :: Bartömning
-
diff --git a/Västgöta/veckomail/2021/46.wiki b/Västgöta/veckomail/2021/46.wiki
deleted file mode 100644
index d46c7b9..0000000
--- a/Västgöta/veckomail/2021/46.wiki
+++ /dev/null
@@ -1,19 +0,0 @@
-Efter ett rasslande slut på kille-vm (på grund av GDPR kan här endast
-anslås att någon anonym, vilken ville vara känd som Rehnman, vann)
-återgår vi till det normala, alltså taggande inför Midvinterblotet!
-
-== Midvinterblotet ==
-Efter 2 års väntan är midvinterblotet tillbaka! Årets upplaga går
-traditionsenligt av stapeln sista lördagen i november (27 november)!
-
-Anmälan kostar 220:-, och görs nedan (ursäkta Google-formuläret):
-https://forms.gle/Pk4Xp3tvvLxnZ5DX9
-
-== Fredag ==
-På fredag håller Hugo öppet, och nås per Stupanfån 073 - 81 88 442.
-
-= Kommande datum =
-2021-11-27 :: Midvinterblotet
-2021-12-03 :: Caps-VM
-2021-12-11 :: Julbord
-2021-12-17 :: Bartömning
diff --git a/Västgöta/veckomail/2021/47-censored.wiki b/Västgöta/veckomail/2021/47-censored.wiki
deleted file mode 100644
index 6d970f7..0000000
--- a/Västgöta/veckomail/2021/47-censored.wiki
+++ /dev/null
@@ -1,27 +0,0 @@
-== Midvinterblot (nytt datum) ==
-På grund av anledningar har Midvinterblotet flyttat fram exakt en
-vecka till lördagen den 4 december.
-
-Anmälan kostar 220:-, och görs senast 29 november.
-Mer info finns på https://vastgota.nation.liu.se/blot
-eller så anmäler man sig direkt: https://forms.gle/Pk4Xp3tvvLxnZ5DX9
-
-== Övriga ändringar i planering ==
-Då Blotet blev framflyttat kommer inte längre Caps-VM hållas den 3
-december. Julbordet den 11 december kommer dock gå av stapeln likt
-planerat.
-
-== Julbord ==
-Lördagen den 11 december bjuder vi in till Julbord på Ättestupan.
-Detaljer kommer.
-
-== Fredag ==
-Och slutligen, trotts tidigare rykten kommer Stupan hålla öppet nu på
-fredag, och Hugo är ännu en gång ansvarig.
-
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Kommande datum ==
-2021-12-04 :: Midvinterblotet
-2021-12-11 :: Julbord
-januari :: Caps-VM
diff --git a/Västgöta/veckomail/2021/47.wiki b/Västgöta/veckomail/2021/47.wiki
deleted file mode 100644
index 1e80ba3..0000000
--- a/Västgöta/veckomail/2021/47.wiki
+++ /dev/null
@@ -1,28 +0,0 @@
-== Midvinterblot (nytt datum) ==
-På grund av anledningar har Midvinterblotet flyttat fram exakt en
-vecka till lördagen den 4 december.
-
-Anmälan kostar 220:-, och görs senast 29 november.
-Mer info finns på https://vastgota.nation.liu.se/blot
-eller så anmäler man sig direkt: https://forms.gle/Pk4Xp3tvvLxnZ5DX9
-
-== Övriga ändringar i planering ==
-Då Blotet blev framflyttat kommer inte längre Caps-VM hållas den 3
-december. Julbordet den 11 december, samt bartömmningen den 17
-december kommer dock gå av stapeln likt planerat.
-
-== Julbord ==
-Lördagen den 11 december bjuder vi in till Julbord på Ättestupan.
-Detaljer kommer.
-
-== Fredag ==
-Och slutligen, trotts tidigare rykten kommer Stupan hålla öppet nu på
-fredag, och Hugo är ännu en gång ansvarig.
-
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Kommande datum ==
-2021-12-04 :: Midvinterblotet
-2021-12-11 :: Julbord
-2021-12-17 :: Bartömning
-januari :: Caps-VM
diff --git a/Västgöta/veckomail/2021/48.wiki b/Västgöta/veckomail/2021/48.wiki
deleted file mode 100644
index e5aa4aa..0000000
--- a/Västgöta/veckomail/2021/48.wiki
+++ /dev/null
@@ -1,22 +0,0 @@
-== Midvinterblotet ==
-På lördag glömmer vi våra gudar och minns *våra* gudar, asagudarna!
-
-Idag (måndag) är deadline för anmälan, så skynnda er in.
-220:- för biljett.
-Mer info finns på https://vastgota.nation.liu.se/blot
-eller så anmäler man sig direkt: https://forms.gle/Pk4Xp3tvvLxnZ5DX9
-
-== Julbord ==
-Lördagen därefter (11 december) bjuder nationen in till julbord!
-Anmälan kommer.
-
-== Fredag ==
-Även om det är dagen innan blotet håller Stupan likfullt öppet!
-Slash är ansvarig.
-
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Kommande datum ==
-2021-12-04 :: Midvinterblotet
-2021-12-11 :: Julbord
-januari :: Caps-VM
diff --git a/Västgöta/veckomail/2021/49.wiki b/Västgöta/veckomail/2021/49.wiki
deleted file mode 100644
index 9d74be1..0000000
--- a/Västgöta/veckomail/2021/49.wiki
+++ /dev/null
@@ -1,13 +0,0 @@
-== Julbord ==
-Nu på lördag (11 december) bjuder vi in till julbord!
-Vill du komma? Maila qurator@vastgota.nation.liu.se (senast fredag),
-eller skriv upp dig under fredagens medlemskväll. Pris 120:-
-
-== Fredag ==
-Den här veckan håller Peter öppet
-
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Kommande datum ==
-2021-12-11 :: Julbord
-januari :: Caps-VM
diff --git a/Västgöta/veckomail/2021/50.wiki b/Västgöta/veckomail/2021/50.wiki
deleted file mode 100644
index bab28d0..0000000
--- a/Västgöta/veckomail/2021/50.wiki
+++ /dev/null
@@ -1,15 +0,0 @@
-Nationen vill börja med att önska God Jul samt ett Gott nytt år, då
-det här är årets sista veckomail.
-
-== Fredagens Bartömning ==
-Nu på fredag är det årets sista (ordinarie) öppning av Stupan, vilken
-även innebär bartömning. I vanlig ordning kommer vi ha inkrementell
-Happy Hour, tills ölen är alldeles för billig för någons bästa.
-
-Hugo håller ställningarna, och släpper förhoppningsvis in er om ni
-ringer 073 - 81 88 442.
-
-== Kommande datum ==
-2021-12-17 :: Bartömning
-januari :: Caps-VM
-2021-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/01.wiki b/Västgöta/veckomail/2022/01.wiki
deleted file mode 100644
index 19a9268..0000000
--- a/Västgöta/veckomail/2022/01.wiki
+++ /dev/null
@@ -1,10 +0,0 @@
-Nytt år, men ännu inte nya tider
-
-== Fredag ==
-Stupan öppnar igen för året redan nu på fredag, och Hugo är ansvarig.
-
-Ring 073 - 81 88 442 så släpper vi in dig.
-
-== Kommande datum ==
-januari :: Caps-VM
-2021-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/02.wiki b/Västgöta/veckomail/2022/02.wiki
deleted file mode 100644
index 805d1cc..0000000
--- a/Västgöta/veckomail/2022/02.wiki
+++ /dev/null
@@ -1,13 +0,0 @@
-== Fredag ==
-Stupan håller öppet även den här fredagen, och Arvid är ansvarig.
-
-Ring 073 - 81 88 442 så släpper han in dig.
-
-== Caps-VM ==
-Fredagen efter det (21 januari) kommer även Västgötamästerskapen i
-Caps att hållas under kvällen. Alla är välkommna, även om du inte vet
-vad caps är, och alla erfarna är troligen så pass ringrostiga att du
-ändra hår en chans att vinna!
-
-== Kommande datum ==
-2022-01-21 :: Caps-VM
diff --git a/Västgöta/veckomail/2022/03.wiki b/Västgöta/veckomail/2022/03.wiki
deleted file mode 100644
index e83495e..0000000
--- a/Västgöta/veckomail/2022/03.wiki
+++ /dev/null
@@ -1,19 +0,0 @@
-Terminen har börjat på riktigt, och trotts ökade Coronarestriktioner
-(tydligen) fortsätter vi ha medlemskvällar!
-
-== Fredag ==
-Rehnman ansvarar för fredagens underhållning och kan nås per 073 - 81
-88 442 för ett stycke insläpp.
-Under kvällen kommer dessutom Caps-VM att hållas!
-
-== Caps-VM ==
-Nu på fredag, klockan 20 kommer Västgötamästerskapen i Caps att gå av
-stapeln! Ingen föranmälan krävs, och inga förkunskaper häller.
-
-För er som inte har koll på Caps, så är det den ädla konsten att
-kasta små runda saker (kapsyler) i större runda saker (glas).
-Tydligare beskrivning fås på begäran.
-
-
-== Kommande datum ==
-2022-01-21 :: Caps-VM
diff --git a/Västgöta/veckomail/2022/04.wiki b/Västgöta/veckomail/2022/04.wiki
deleted file mode 100644
index 1c71028..0000000
--- a/Västgöta/veckomail/2022/04.wiki
+++ /dev/null
@@ -1,7 +0,0 @@
-Efter årets mest spännande capstävling fortsätter vi nu med en lugn
-vecka.
-
-== Fredag ==
-Stupan är öppen likt vanligt, och Peter är ansvarig.
-Ring 073 - 81 88 442 så släpper vi in dig, men kom ihåg att stanna
-hemma om du känner dig sjuk.
diff --git a/Västgöta/veckomail/2022/06.wiki b/Västgöta/veckomail/2022/06.wiki
deleted file mode 100644
index b7464c0..0000000
--- a/Västgöta/veckomail/2022/06.wiki
+++ /dev/null
@@ -1,9 +0,0 @@
-= Fredag =
-Stupan är öppen som vanligt på fredag (och den här gången är det inte
-ens hemligt). Rehnman är ansvarig, och nås likt alltid på 073 - 81 88 442.
-
-= Kommande datum =
-2022-02-18 :: VM i Öråd
-2022-02-25 :: Stickstuga
-2022-03-04 :: VM i stickning
-2022-03-11 :: Nationsstämma
diff --git a/Västgöta/veckomail/2022/07.wiki b/Västgöta/veckomail/2022/07.wiki
deleted file mode 100644
index c61d3e4..0000000
--- a/Västgöta/veckomail/2022/07.wiki
+++ /dev/null
@@ -1,18 +0,0 @@
-Ni må ha väntat, men ni får vänta en stund till. VM i öråd är tyvärr
-inställt.
-
-= Fredag =
-Trotts det håller Peter stupan öppen, och ni blir insläppta genom att
-ringa 073 - 81 88 442.
-
-= Sök styrelsen =
-Ett nytt verksamhetsår närmar sig, och möjligheten att söka styrelsen
-är nu öppen. Vill du vara med och arrangera någon fest? Eller har du
-visioner för nationens framtid? Kontakta
-qurator@vastgota.nation.liu.se så kan vi pratas vid.
-
-= Kommande datum =
-2022-02-25 :: Stickstuga
-2022-03-04 :: VM i stickning
-2022-03-11 :: Nationsstämma
-
diff --git a/Västgöta/veckomail/2022/08.wiki b/Västgöta/veckomail/2022/08.wiki
deleted file mode 100644
index f4245ac..0000000
--- a/Västgöta/veckomail/2022/08.wiki
+++ /dev/null
@@ -1,29 +0,0 @@
-= Fredag =
-Stupan håller likt alltid öppet på fredag, och Hugo är ansvarig.
-Ring 073 - 81 88 442 för inläpp.
-
-Under kvällen kommer en stickstugga hållas.
-
-= Stickstuga =
-Är du nybörjare eller har du aldrig stickar förut? Kom till Stupan nu
-på fredag och lär dig grunderna eller utveckla dina kunskaper.
-Sticknålar och garn kommer finnas på plats, men om ni har egna saker
-ta med dem.
-
-Och varför skulle man nu vilja lära sig sticka? Jo, för nästa vecka är
-det dags för VM i stickning!
-
-= VM i Stickning =
-Nästa vecka (4 mars) är det VM i stickning. Vem vet hur det fungerar?
-Men kul blir det!
-
-= Sök styrelsen =
-Ett nytt verksamhetsår närmar sig, och möjligheten att söka styrelsen
-är nu öppen. Vill du vara med och arrangera någon fest? Eller har du
-visioner för nationens framtid? Kontakta
-qurator@vastgota.nation.liu.se så kan vi pratas vid.
-
-= Kommande datum =
-2022-02-25 :: Stickstuga
-2022-03-04 :: VM i stickning
-2022-03-11 :: Nationsstämma
diff --git a/Västgöta/veckomail/2022/09.wiki b/Västgöta/veckomail/2022/09.wiki
deleted file mode 100644
index 8dd5453..0000000
--- a/Västgöta/veckomail/2022/09.wiki
+++ /dev/null
@@ -1,25 +0,0 @@
-Ännu är det inte fredag! Så veckomailet är inte för sent ute!
-
-= Fredag =
-Stupan håller öppet som vanligt på fredag, men ingen vet vem som är
-ansvarig. Antagligen råder total anarki.
-Dörren nås dock på 073 - 81 88 442.
-
-= VM i Stickning =
-Trotts anarkin kommer VM i stickning att hållas. Hur tävlar man i
-stickning? Kom får du se. Start ~20.
-
-= Årsmöte =
-Fredagen den 11 mars är det Årsmöte. Kallelse ska ha gått ut till alla
-medlemmar. På mötet kommer bland annat ny styrelse väljas.
-Intresserad? Kontakta qurator@vastgota.nation.liu.se, eller prata med
-Qurator när han inte njuter av utsikten.
-
-= TexMex =
-Om några veckor (19 mars) är det TexMex, vår kära, lugna fest som alla
-minns. Anmälan öppnar snart.
-
-= Kommande datum =
-2022-03-04 :: VM i stickning
-2022-03-11 :: Nationsstämma
-2022-03-19 :: TexMex
diff --git a/Västgöta/veckomail/2022/10.wiki b/Västgöta/veckomail/2022/10.wiki
deleted file mode 100644
index 289c20f..0000000
--- a/Västgöta/veckomail/2022/10.wiki
+++ /dev/null
@@ -1,22 +0,0 @@
-Efter ett rafflande slut på den sista VM-grenen är det nu dags för
-årsmöte, och prisceremoni för vinnaren!
-
-= Årsmöte =
-Redan imorgon (11 mars) är det årsmöte, med start 18.00 på Ättestupan.
-Kom förbi ve`t ja!
-
-= Fredag =
-Efter mötet håller självklart stupan öpppen. Peter ansvarar, och det
-kan hända att man får se några WGA:are (nationens före-dettingar)
-denna kväll!
-
-Ring 073 - 81 88 442 för att bli insläppt.
-
-= TexMex =
-Årets upplaga av TexMex går av stapeln den 19 mars. Anmälan är öppen
-och finns tillgänglig på stupan. Vill du komma men kan inte ta dig
-till anmälningslistan? Maila qurator@vastgota.nation.liu.se.
-
-= Kommande datum =
-2022-03-11 :: Nationsstämma
-2022-03-19 :: TexMex
diff --git a/Västgöta/veckomail/2022/11.wiki b/Västgöta/veckomail/2022/11.wiki
deleted file mode 100644
index 0d4275a..0000000
--- a/Västgöta/veckomail/2022/11.wiki
+++ /dev/null
@@ -1,14 +0,0 @@
-Är det tidigt? Är det sent? Det är fredag.
-
-= Fredag =
-Stupan är öppen i vanlig ordning, och Rehnman ansvarar.
-
-Ring 073 - 81 88 442 för att bli insläppt.
-
-= TexMex =
-Sen på lördag (18.00) är det dag för TexMex! Anmälan är fortfarande öppen, och
-görs enklast genom att skriva upp sig på Stupan. Vill du vara med men
-kan inte ta dig förbi? Maila qurator@vastgota.nation.liu.se.
-
-= Kommande Datum =
-2022-03-19 :: TexMex
diff --git a/Västgöta/veckomail/2022/12.wiki b/Västgöta/veckomail/2022/12.wiki
deleted file mode 100644
index 8b1167b..0000000
--- a/Västgöta/veckomail/2022/12.wiki
+++ /dev/null
@@ -1,8 +0,0 @@
-= Rollspel på torsdag =
-Nu på torsdag (idag alltså) håller Claes i rollspel. Start 18 på
-Ättestupan. Även här kan man ringa för att bli insläppt.
-
-= Fredag =
-Stupan är öppen i vanlig ordning, och Hugo ansvarar.
-
-Ring 073 - 81 88 442 för att bli insläppt.
diff --git a/Västgöta/veckomail/2022/14.wiki b/Västgöta/veckomail/2022/14.wiki
deleted file mode 100644
index bb4ba2d..0000000
--- a/Västgöta/veckomail/2022/14.wiki
+++ /dev/null
@@ -1,15 +0,0 @@
-= Fredag =
-Stupan är öppen som vanligt på fredag.
-
-Ring 073 - 81 88 442 för att komma in.
-
-= Nᴏ̈ᴍD =
-Nu på fredag kommer Nᴏ̈ᴍD (Nationernas öppna mästerskap i Dart)
-att gå av stapeln. Var man för sig själv, i Linköpings (antagligen) största
-dart-tävling under dagen! Start ca 13 på Ättestupan, där man även kan anmäla
-sig till och med fredag. Vill man vara med men kan inte anmäla sig, kontakta
-qurator@vastgota.nation.liu.se.
-
-= Kommande datum =
-2022-04-09 :: Nᴏ̈ᴍD
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/15.wiki b/Västgöta/veckomail/2022/15.wiki
deleted file mode 100644
index 2506e35..0000000
--- a/Västgöta/veckomail/2022/15.wiki
+++ /dev/null
@@ -1,14 +0,0 @@
-= Fredag =
-Det hade ryktats att veckans fredag skulle vara extra lång. Huruvida
-det stämmer är oklart, dock är den garanterat god, då Arvid håller
-Stupan öppen.
-
-Ring 073 - 81 88 442 för att komma in.
-
-= Extrainsatt nationsmöte =
-Nästa lördag kommer ett extrainsatt nationsmöte att hållas. Kallelse
-kommer imorgon.
-
-= Kommande Datum =
-2022-04-23 :: Extra Nationsstämma
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/16.wiki b/Västgöta/veckomail/2022/16.wiki
deleted file mode 100644
index 49bbcd7..0000000
--- a/Västgöta/veckomail/2022/16.wiki
+++ /dev/null
@@ -1,16 +0,0 @@
-= Fredag =
-Stupan öppnar i vanlig stil klockan 19, och Rehnman är ansvarig.
-
-073 - 81 88 442 för insläpp.
-
-= Extrainsatt nationsmöte =
-Nu på lördag (23 april) klockan 18.30 är det ett extrainsatt
-föreningsmöte på Ättestupan.
-
-Första läsningen av en stadgeändring för att förtydliga stadgan kommer
-ske. Se kallelse för vidare detaljer.
-
-= Kommande Datum =
-2022-04-23 :: Extra Nationsstämma
-2022-04-30 :: VM i Kubb (samt Valborg)
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/17.wiki b/Västgöta/veckomail/2022/17.wiki
deleted file mode 100644
index 98a2641..0000000
--- a/Västgöta/veckomail/2022/17.wiki
+++ /dev/null
@@ -1,25 +0,0 @@
-= Fredag =
-Trotts nära inpå följande valborg håller Stupan öppen nu på fredag,
-och Hugo är ansvarig. Ring 073 - 81 88 442 för insläpp.
-
-= Klädhämtardag =
-Nu på fredag, under stupankvällen, kommer alla gamla bortglömda kläder
-finnas tillgängliga. Veckan där efter (7 maj) kommer de finnas igen,
-men då är det fritt fram att plocka vad man tycker ser fint ut!
-Resterande kläder där efter kommer avyttras.
-
-Tror du att vi har någonting som är ditt men du har inte tid att komma
-förbi? Kontakta pq@vastgota.nation.liu.se.
-
-= Valborg =
-Vill du garanterat ha en bra plats på Valborg? Sätt dig med resten av
-oss västgöttar! Vi kommer gemensamt cykla från Stupan 9.45 (exakt tid,
-var i tid om du vill vara med) ner till trädgårsföreningen, där VM i
-Kubb kommer spelas. Framåt 15-snåret beger vi oss tillbaka till Ryds
-Gravhögar, för att sedan avsluta kvällen på Ättestupan.
-
-= Kommande Datum =
-2022-04-29 :: Klädhämtardag
-2022-04-30 :: VM i Kubb (samt Valborg)
-2022-05-07 :: Klädplockardag
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/18.wiki b/Västgöta/veckomail/2022/18.wiki
deleted file mode 100644
index 22ea604..0000000
--- a/Västgöta/veckomail/2022/18.wiki
+++ /dev/null
@@ -1,24 +0,0 @@
-= Fredag =
-Stupan håller som vanligt öppet från 19 på fredag, förutsatt att inte
-alla som potentiellt kan hålla öppet är upptagna.
-
-Ring 073-8188442 och utgå från att någon öppnar.
-
-= Klädplockardag =
-Förra veckan hade ni möjlighet att hämta era egna kläder, nu på fredag
-får ni istället hämta alla andras kläder!
-
-Vad: Gratis kläder
-Var: Ättestupan
-När: Fredag (under öppet)
-Annars: Inga kläder
-
-= För3 fest (deadline idag) =
-För er som är aktiva inom västgöta (avgör själva om ni är det) är
-bjudna till Föreningen för Föreningsaktivas vårgrill nästa måndag,
-18.15 vid M-grillen (märkesbacken).
-
-Anmälan genom länken nedan, anmäl er under godtycklig föreningen, då
-vi saknas i listan...
-https://forms.gle/yzXCn1reLZUhwoCu5
-
diff --git a/Västgöta/veckomail/2022/19.wiki b/Västgöta/veckomail/2022/19.wiki
deleted file mode 100644
index 1b93a20..0000000
--- a/Västgöta/veckomail/2022/19.wiki
+++ /dev/null
@@ -1,13 +0,0 @@
-= Fredag =
-Stupan är i vanlig ordning öppen för föreningskväll, och allmänt häng
-börjar strax efter 19 i vanlig ordning. Dock kommer vi dessförinnan ha
-filmkväll (se nedan).
-
-Ring 073-8188442 och utgå från att någon öppnar.
-
-= Filmkväll =
-Nu på fredag är det också filmkväll på Stupan, där vi kommer att se
-Borat. Filmen startar 18.00.
-
-= Kommande datum =
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/20.wiki b/Västgöta/veckomail/2022/20.wiki
deleted file mode 100644
index 34ec01e..0000000
--- a/Västgöta/veckomail/2022/20.wiki
+++ /dev/null
@@ -1,10 +0,0 @@
-= Fredag =
-Stupan är i vanlig ordning öppen från 19, och Rehnman är ansvarig
-Ring 073-81 88 442 för att bli insläppt.
-
-= 29 maj =
-Den 29 maj är det dags för 29 maj, så glöm inte att skriva upp det i
-era kalendrar.
-
-= Kommande datum =
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/21.wiki b/Västgöta/veckomail/2022/21.wiki
deleted file mode 100644
index 0b3188f..0000000
--- a/Västgöta/veckomail/2022/21.wiki
+++ /dev/null
@@ -1,12 +0,0 @@
-= Fredag =
-Trotts att det är dagen efter Kristi himmelsfärd, och folk tror att
-brädspel är bättre en nationer är Stupan öppen, och Hugo ansvarar.
-Ring 073-81 88 442 för att bli insläppt.
-
-= 29 Maj =
-Söndagen den 29 maj är det den 29 maj, och eftersom det är vilket
-datum som helst kommer vi att titta på NileCity. Vi rattar över radion
-till 105.6 klockan 15, och fortsätter tills AM-bandet låter för illa.
-
-= Kommande datum =
-2022-05-29 :: 29 Maj
diff --git a/Västgöta/veckomail/2022/33.wiki b/Västgöta/veckomail/2022/33.wiki
deleted file mode 100644
index 5c93759..0000000
--- a/Västgöta/veckomail/2022/33.wiki
+++ /dev/null
@@ -1,20 +0,0 @@
-Sommaren är äntligen över! Och nationens aktiviteter sätter igång
-igen!
-
-= Torsdag =
-Medlemskvällarna på Ättestupan har flyttat tillbaka till torsdagar,
-men fortfarande från 19.
-Och just den här gången är Emil ansvarig.
-
-Ring 073-8188442 för att bli insläppt.
-
-= Fredag =
-Ättestupan har inte längre fredagsöppet. Se torsdag ovan.
-
-= Migration av e-post =
-Just nu håller vi på att migrera vår e-postlösning. Och vi kan där med
-vara aningen svåra att nå. Om det är brådskande kan vi för tillfället
-nås på hugo@lysator.liu.se.
-
-= Kommande datum =
-2022-09-24 :: Häfv-VM
diff --git a/Västgöta/veckomail/2022/34.wiki b/Västgöta/veckomail/2022/34.wiki
deleted file mode 100644
index 6402bf1..0000000
--- a/Västgöta/veckomail/2022/34.wiki
+++ /dev/null
@@ -1,9 +0,0 @@
-Lite sent, men Stupan har åtmistånde inte öppnat än!
-
-= Torsdag =
-Stupan har öppet som vanligt idag, och Hugo är ansvarig.
-
-Ring 073-8188442 för att bli insläppt.
-
-= Kommande Datum =
-2022-09-24 :: Häfv-VM
diff --git a/Västgöta/veckomail/2022/35.wiki b/Västgöta/veckomail/2022/35.wiki
deleted file mode 100644
index 5eb0d2a..0000000
--- a/Västgöta/veckomail/2022/35.wiki
+++ /dev/null
@@ -1,15 +0,0 @@
-Våra epost-system har (förhoppningsvis) börjat fungera igen, och den
-här veckan kanske jag inte gör bort mig helt i utskicket!
-
-= Torsdag =
-Stupan är öppet likt vanligt, och Claes är ansvarig.
-
-Ring 073-8188442 för att bli insläppt.
-
-= Förnya medlemsskap =
-Vid månadens slut går alla gamla medlemsskap ut, men redan idag
-(egentligen på torsdag) kan du komma förbi och förnya medlemsskapet
-för kommande året.
-
-= Kommande Datum =
-2022-09-24 :: Häfv-VM
diff --git a/Västgöta/veckomail/2022/36.wiki b/Västgöta/veckomail/2022/36.wiki
deleted file mode 100644
index dad8ec2..0000000
--- a/Västgöta/veckomail/2022/36.wiki
+++ /dev/null
@@ -1,24 +0,0 @@
-Efter en lyckad Kalasmottagning ett "vackert" veckomail.
-
-= Torsdag =
-Likt varje vecka är Stupan öppen på torsdag från 19.00 och framåt.
-Arvid ansvarig.
-
-Ring 073-8188442 för att bli insläppt.
-
-= Förnya medlemsskap =
-Vid septembers slut går förra årets medlemsskap ut. Kom förbi Stupan
-och förnya!
-
-= Häfv-VM =
-24 september är det dags för Häfv-VM!
-
-En lördag start klockan 15.
-
-= Hjälp marknadsföra Häfv-VM =
-Vill du vara med och marknadsföra Häfv-VM? Vid lämplig dag innan 24
-september kommer vi stå på campus. Kontakta pq@vastgota.nation.liu.se
-(eller prata med Hugo) om du vill hjälpa till.
-
-= Kommande Datum =
-2022-09-24 :: Häfv-VM
diff --git a/Västgöta/veckomail/2022/37.wiki b/Västgöta/veckomail/2022/37.wiki
deleted file mode 100644
index 02295b0..0000000
--- a/Västgöta/veckomail/2022/37.wiki
+++ /dev/null
@@ -1,23 +0,0 @@
-Samma som förra veckan, och jag är för lat för att omformulera mig.
-
-= Torsdag =
-Den här veckan håller Rehnman öppet från 19.00!
-
-Ring 073-8188442 för att bli insläppt.
-
-= Förnya medlemsskap =
-Vid septembers slut går förra årets medlemsskap ut. Kom förbi Stupan
-och förnya!
-
-= Häfv-VM =
-24 september är det dags för Häfv-VM!
-
-En lördag start klockan 15.
-
-= Hjälp marknadsföra Häfv-VM =
-Vill du vara med och marknadsföra Häfv-VM? Vid lämplig dag innan 24
-september kommer vi stå på campus. Kontakta pq@vastgota.nation.liu.se
-(eller prata med Hugo) om du vill hjälpa till.
-
-= Kommande Datum =
-2022-09-24 :: Häfv-VM
diff --git a/Västgöta/veckomail/2022/38.wiki b/Västgöta/veckomail/2022/38.wiki
deleted file mode 100644
index 2d43392..0000000
--- a/Västgöta/veckomail/2022/38.wiki
+++ /dev/null
@@ -1,33 +0,0 @@
-= Torsdag =
-Stupan håller likt alltid öppen från 19 på torsdag, den här gången med
-Hugo som ansvarig.
-
-Det ryktas även om att vissa kommer prata som pirater där, och
-möjligen drycka rom & cola.
-
-Ring 073-81 88 442 så öppnar vi dörren!
-
-= Häfv-VM =
-Nu på lördag, 24 septmeber, 15.00 kör Västgötamästerskapen i Häfv
-igång. Vi kommer i vanlig ordning köra singeltävling, med bästa tid
-under dagen som vinnare (exakta detaljer finns på plats).
-
-Alla är varmt välkomna, och ingen föranmälan krävs.
-
-= Sensommarblotet, en kräftskiva =
-Vi hittade massor gamla papper med personuppgifter i en låda, så nu
-måste vi bränna dem! För att hedra tillfället bjuder vi i samma veva
-in till en kräftskiva.
-
-Tillställningen hålls lördagen den förste oktober, och anmälan sker på
-stupan från och med nu på torsdag.
-
-= Förnya medlemsskap =
-Medlemsskap går ut den siste september. Kom ihåg att förna (på Stupan)
-innan dess.
-
-= Kommande datum =
-2022-09-24 :: Häfv-VM
-2022-10-01 :: Sensommarblotet, en kräftskiva
-2022-10-20 :: Höstmöte
-2022-12-03 :: Midvinterblotet
diff --git a/Västgöta/veckomail/2022/39.wiki b/Västgöta/veckomail/2022/39.wiki
deleted file mode 100644
index 7d7d12b..0000000
--- a/Västgöta/veckomail/2022/39.wiki
+++ /dev/null
@@ -1,17 +0,0 @@
-= Torsdag =
-Stupan är som vanligt öppen från 19, och Viidas ansvarar.
-Ring 073-81 88 442 för att bli insläppt.
-= Sensommarblotet, en kräftskiva =
-Nu på lördag bränner vi medlemslappar och äter kräftor.
-Anmälan på Stupan (eller maila pq@vastgota.nation.liu.se).
-Sista anmälningsdag är nu på torsdag, och kostar 150:-.
-
-= Förnya medlemsskap =
-Sista chansen att förnya nu på torsdag! Åtminstånde om du inte vill ha
-en period där du inte är medlem.
-
-= Kommande datum =
-2022-09-24 :: Häfv-VM
-2022-10-01 :: Sensommarblotet, en kräftskiva
-2022-10-20 :: Höstmöte
-2022-12-03 :: Midvinterblotet
diff --git a/Västgöta/veckomail/2022/40.wiki b/Västgöta/veckomail/2022/40.wiki
deleted file mode 100644
index 9cac08a..0000000
--- a/Västgöta/veckomail/2022/40.wiki
+++ /dev/null
@@ -1,17 +0,0 @@
-= Torsdag =
-Stupan är öppen likt alltid nu på torsdag, och om allt går vägen
-ansvarar Viidas.
-
-Ring 073-81 88 442 för att bli insläppt.
-
-= Höstmöte =
-Nästnästa torsdag, den 20 oktober 18.30 är det Höstmöte på
-Ättestupan. Kallelse kommer sepparat.
-
-Framförallt kommer valberedning väljas. Verkar det interesant?
-Maila pq@vastgota.nation.liu.se, eller prata med rimlig person på
-Stupan.
-
-= Kommande datum =
-2022-10-20 :: Höstmöte
-2022-12-03 :: Midvinterblotet
diff --git a/Västgöta/veckomail/2022/41.wiki b/Västgöta/veckomail/2022/41.wiki
deleted file mode 100644
index 111019d..0000000
--- a/Västgöta/veckomail/2022/41.wiki
+++ /dev/null
@@ -1,17 +0,0 @@
-= Torsdag =
-Claes håller Stupan öppen från 19.00 och framåt.
-
-Ring 073-81 88 442 för att bli insläppt.
-
-= Höstmöte =
-nästa torsdag, den 20 oktober 18.30 är det höstmöte på
-Ättestupan. Kallelse bör ha tillkommit samtliga medlemmar.
-
-Framförallt kommer valberedning väljas. Verkar det intressant?
-Maila `pq@vastgota.nation.liu.se`, eller prata med rimlig person på
-Stupan.
-
-= Kommande datum =
-2022-10-20 :: Höstmöte
-2022-12-03 :: Midvinterblotet
-
diff --git a/Västgöta/veckomail/2022/42.wiki b/Västgöta/veckomail/2022/42.wiki
deleted file mode 100644
index 6708f94..0000000
--- a/Västgöta/veckomail/2022/42.wiki
+++ /dev/null
@@ -1,46 +0,0 @@
-Vi må vara mitt i (om(?)-)tenta-P! Men vi kör på likt alltid under
-terminstid.
-
-= Torsdag =
-Likt alltid är det föreningskväll på torsdag, dock öppnar Stupan som
-en vanlig kväll först efter höstmötets avslutande (se nedan).
-
-Hugo ansvarar, och släpper in er per 073-81 88 442.
-
-= Höstmöte =
-Torsdagen den 20 oktober (imorgon) klockan 18.30 håller Nationen
-höstmöte på Ättestupan. Alla är varmt välkommna.
-
-Preliminär dagordning för mötet är:
-
-1. Mötets öppnande
-2. Formalia
- 1. Val av mötesordförande
- 2. Val av mötessekreterare
- 3. Val av justerare tillika rösträknare
- 4. Fastställande av röstlängd
- 5. Fastställande av föredragningslista
-3. Föregående mötesprotokoll
-4. Motion stadgeändring - Andra läsningen (se bilaga)
- Notera att sista *att*-satsen inte är en del av stadgeändringen.
-6. Styret 2020-2021
- 1. Ekonomisk berättelse
- 2. Verksamhetsberättelse
- 3. Revisornernas utlåtande
- 4. Potentiellt beaktande av revisornernas utlåtande
- 5. Ansvarsfrihet
-7. Styret 2021-2022
- 1. Ekonomisk berättelse
- 2. Verksamhetsberättelse
- 3. Revisornernas utlåtande
- 4. Potentiellt beaktande av revisornernas utlåtande
- 5. Ansvarsfrihet
-8. Styret 2022-2023
- 1. Entledigande av Kron
-9. Val av valberedning
-10. Övriga frågor
-11. Mötets avslutande
-
-= Kommande datum =
-2022-10-20 :: Höstmöte
-2022-12-03 :: Midvinterblotet
diff --git a/Västgöta/veckomail/2022/44.wiki b/Västgöta/veckomail/2022/44.wiki
deleted file mode 100644
index 5e636e4..0000000
--- a/Västgöta/veckomail/2022/44.wiki
+++ /dev/null
@@ -1,18 +0,0 @@
-Efter en smärre säkerhetsincident på servern (prata inte om det) är nu
-både vår webbsida och vår epost tillbaka online! Jag föreslår att vi
-firar det med en klassisk föreningskväll, och kanske några öl!
-
-= Sillprovning =
-I samband med föreningskvällen på torsdag bjuder AM-Bandet 1512 in
-till sillprovning. Tillräckligt med mat kommer finnas för att äta sig
-mätt. Självkostnadspris.
-
-= Torsdag =
-Stupan håller öppet på torsdag, och Hugo är ansvarig.
-Notera punkten sillprovning ovan.
-
-Ring 073-81 88 442 för att bli insläppt.
-
-= Kommande Datum =
-2022-12-03 :: Midvinterblotet
-2022-12-16 :: Julbord
diff --git a/Västgöta/veckomail/2022/45.wiki b/Västgöta/veckomail/2022/45.wiki
deleted file mode 100644
index e10376d..0000000
--- a/Västgöta/veckomail/2022/45.wiki
+++ /dev/null
@@ -1,21 +0,0 @@
-= Torsdag =
-Stupan har öppnar 19.00 idag likt alltid. Rehnman är ansvarig.
-
-Ring 073-81 88 442 för att komma in.
-
-= Kommande Datum =
-2022-11-17 :: VM i Punchkille
-2022-12-03 :: Midvinterblotet
-2022-12-16 :: Julbord
-
-
-{{{
- _____
-< moo >
- -----
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-}}}
diff --git a/Västgöta/veckomail/2022/46.wiki b/Västgöta/veckomail/2022/46.wiki
deleted file mode 100644
index e821d51..0000000
--- a/Västgöta/veckomail/2022/46.wiki
+++ /dev/null
@@ -1,17 +0,0 @@
-= Torsdag =
-Stupan öppenar klockan 19 som vanligt på torsdag, och Arvid är
-ansvarig. Under kvällen kommer VM i Punchkille hållas:
-
-Ring 073-81 88 442 för att komma in.
-
-= VM i Punchkille =
-Nu på torsdag, med start strax efter 20 går årets upplaga av VM i
-punchkille av stapeln! Anmälan på plats.
-
-= Kommande datum =
-2022-11-17 :: VM i Punchkille
-2022-12-03 :: Midvinterblotet
-2022-12-16 :: Julbord
-
-= Veckans mås =
-{{local:mås-46.png}}
diff --git a/Västgöta/veckomail/2022/mås-46.png b/Västgöta/veckomail/2022/mås-46.png
deleted file mode 100644
index ba64dce..0000000
--- a/Västgöta/veckomail/2022/mås-46.png
+++ /dev/null
Binary files differ
diff --git a/Västgöta/veckomail/2022/sommar.wiki b/Västgöta/veckomail/2022/sommar.wiki
deleted file mode 100644
index 338d21f..0000000
--- a/Västgöta/veckomail/2022/sommar.wiki
+++ /dev/null
@@ -1,15 +0,0 @@
-Västgöta Nation tar sommaruppehåll!
-
-Ännu är det ej bestämmt när vi kommer igång igen, men antagligen runt
-Nolle-P:s början den 16 augusti.
-
-{{{
- ____________
-< Glad Påsk >
- ------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-}}}
diff --git a/Västgöta/webbsida.wiki b/Västgöta/webbsida.wiki
index 59c0296..3625b71 100644
--- a/Västgöta/webbsida.wiki
+++ b/Västgöta/webbsida.wiki
@@ -1,5 +1,15 @@
= Server =
+== Kvar att dokumentera ==
+- [ ] Puppet-instalation
+
+== Framtida att göra ==
+- [ ] Ldap-server för
+ - [ ] Styrelseposter
+ - [ ] Medlemsregister
+
+--------------------------------------------------
+
http://vastgota.nation.liu.se
Det här är den officiella dokumentationen över hur Västgöta Nation i
@@ -7,14 +17,65 @@ Linköpings webbsida fungerar.
Sidor hostas av Lysator mailto:root@lysator.liu.se
-- Ubuntu 18.04 LTS.
-- Wordpress genom pakethanteraren, dock med vissa ombyggningar.
+- Debian 11
+- Wordpress genom pakethanteraren
- Nginx för HTTP
+== Kataloger ==
+`/srv/styrelse` :: Delade filer för styrelsemedlemmar
+`/srv/stupan-backup` :: Säkerhetskoppiering från stupan, se [[#Systemkonton]]
+
+== Epost ==
+Servern kör en skapligt standard postfix-installation, tillsamans med
+dovecot för IMAP-access.
+
+E-postlistor administreras i filen `/etc/aliases`. Kom ihåg att köra
+`newaliases` efter ändringar där.
+
+Varje konto vilken ska kunna ta emot epost behöver en katalog
+`~/Maildir`, samt tillåtas på Lysators mailserver.
+
+För att läsa och skicka e-post, anslut med extern klient enligt
+[[mail]]
+
== Användarkonton ==
-Varje person som har något att göra på (från Unix-sidan) ska ha ett
-eget användarkonto. De bör även läggas till i gruppen vastgota (1004)
-för att kunna komma åt rimliga filer.
+Konton är alla Unix-konton i botten.
+Varje styrelsepost har ett eget konto, övriga personkonton kan finnas.
+
+=== Användare ===
+
+`passwd _username_` :: Byt löserord på konto
+`usermod -c "_Förnamn Efternamn_" _username_` :: Uppdatera "verkligt" namn på konto
+`usermod -aG sudo _username_` :: Ge användare root-rättigheter
+`gpasswd -d _username_ sudo` :: Ta bort root-rättigheter från användare
+
+==== Postspecifika konton ====
+aktivitet :: 1001
+info :: 1002
+intendent :: 1003
+kassor :: 1004
+lokal :: 1005
+medlem :: 1006
+pq :: 1007
+propaganda :: 1008
+qurator :: 1009
+sekreterare :: 1010
+guckel :: 1011
+valberedningen :: 1012
+
+==== Systemkonton ====
+stupan-backup :: 997
+ :: Tar emot dagliga backups från Ättestupans dator
+
+==== Övriga konton ====
+lysroot :: 1000
+ :: Lysators administratörskonto, får inte tas bort
+rehnman :: 1013
+ :: Betrodd person med root-rättigheter
+
+=== Grupper ===
+vastgota :: 1001
+styrelse :: 1002
{{{sh
useradd -G vastgota <user>
@@ -284,7 +345,7 @@ All kod på den här sidan är manuellt inklippt. Skillnader från det som
faktiskt körs kan finnas.
= Skrivare =
-- DCP-L2520 DW
+- [[https://support.brother.com/g/b/downloadtop.aspx?c=se&lang=sv&prod=dcpl2520dw_us_eu|DCP-L2520 DW]]
- Bläck
- Enligt Brother
- TN-660
@@ -294,48 +355,11 @@ faktiskt körs kan finnas.
= Telefon =
- `*120#` för att visa abonemangsstatus.
-
-= Kalender =
-:todo:
-
-Nuvarande har problem
-
-https://git.hornquist.se/vg-cal
-
-- Visas på lämpligt sätt
-- VCalendar/.ics nedladdning
-- Manuellt tillagda events.
-- Auto-hantering av ansvariga
-
-== Events Manager ==
-http://wp-events-plugin.com/
-
-Den vi använder.
-
-Den helt klart bästa. Tillhandahåller upprepade events.
-Saknar lite när det kommer till användarvänlighet samt display, men
-det går nog att lösa på sikt.
-
-Har även ett bokningssystem i sig, oklart huruvida man kan låta vem
-som skapa ny bokning, eller om det bara är för att anmäla sig till
-events som finns.
-
-== Events Calendar ==
-https://theeventscalendar.com/
-
-Helt byggd kring events, och inte återkommande events. Har dessutom en
-jobbig licensmodell.
-
-== Booking Calendar ==
-https://wpbookingcalendar.com/
-
-Med tillägget Booking Manager
-
-Ser bra ut, men har inte heller stöd för upprepande events. Påstår sig
-ha möjlighet att importera ICS strömmar, men verkar skapa en sepparat
-bokning då.
+ord
= WP cli =
+*För nuvarande körs inte det här systemet*.
+
https://github.com/wp-cli/wp-cli
Installerat till `/usr/local/bin/wp`. I början av
`/usr/share/wordpress/wp-config.php`, precis efter `<?php` har
@@ -362,7 +386,7 @@ wp post create \
https://git.lysator.liu.se/hugo/wp-publish-by-email
= Veckbrev mailproxy =
-:todo:
+:TODO:
Veckbrev bör automatiskt publiceras på webbsidan då de skickas till
listan... Uppnås troligen enklast genom att lägga till
@@ -375,10 +399,3 @@ test@vastgota.lysator.liu.se OK
$ postmap vastgota_recipients
}}}
-
-==== Några resurser ====
-- https://codex.wordpress.org/Post_to_your_blog_using_email
-- https://developer.wordpress.org/reference/functions/wp_insert_post/
-- https://github.com/TheFox/smtpd
-
- - [X] Läggs `[Västgöta Nation]` automatiskt till i brevhuvud? NEJ
diff --git a/Wordpress Calendar Plugins.wiki b/Wordpress Calendar Plugins.wiki
new file mode 100644
index 0000000..42c2810
--- /dev/null
+++ b/Wordpress Calendar Plugins.wiki
@@ -0,0 +1,48 @@
+
+= Kalender =
+:TODO:
+
+Nuvarande har problem
+
+https://git.hornquist.se/vg-cal
+
+- Visas på lämpligt sätt
+- VCalendar/.ics nedladdning
+- Manuellt tillagda events.
+- Auto-hantering av ansvariga
+
+== Events Manager ==
+http://wp-events-plugin.com/
+
+Den vi använder.
+
+Den helt klart bästa. Tillhandahåller upprepade events.
+Saknar lite när det kommer till användarvänlighet samt display, men
+det går nog att lösa på sikt.
+
+Har även ett bokningssystem i sig, oklart huruvida man kan låta vem
+som skapa ny bokning, eller om det bara är för att anmäla sig till
+events som finns.
+
+== Events Calendar ==
+https://theeventscalendar.com/
+
+Helt byggd kring events, och inte återkommande events. Har dessutom en
+jobbig licensmodell.
+
+== Booking Calendar ==
+https://wpbookingcalendar.com/
+
+Med tillägget Booking Manager
+
+Ser bra ut, men har inte heller stöd för upprepande events. Påstår sig
+ha möjlighet att importera ICS strömmar, men verkar skapa en sepparat
+bokning då.
+
+
+==== Några resurser ====
+- https://codex.wordpress.org/Post_to_your_blog_using_email
+- https://developer.wordpress.org/reference/functions/wp_insert_post/
+- https://github.com/TheFox/smtpd
+
+ - [X] Läggs `[Västgöta Nation]` automatiskt till i brevhuvud? NEJ
diff --git a/Yokus Island Express.wiki b/Yokus Island Express.wiki
new file mode 100644
index 0000000..f1638f3
--- /dev/null
+++ b/Yokus Island Express.wiki
@@ -0,0 +1,5 @@
+= Yokus Island Express =
+Pinball-metroidvania. Riktigt mysigt.
+
+Second playthrough 30min + 6h10min + 40min
+Unsure if I really played 6h in one day though.
diff --git a/adrift-space.wiki b/adrift-space.wiki
index e01917e..44ca8ef 100644
--- a/adrift-space.wiki
+++ b/adrift-space.wiki
@@ -1,3 +1,8 @@
+%title Adrift.Space
+
+[[wn.private:adrift_space]]
+
+= Services =
== Kerberos ==
@@ -13,21 +18,19 @@ kdb5_util stash
kadmin.local
}}}
-== passwd ==
-hesiod
-passwd via DNS!
-
+= Machines =
== Elrond ==
TS-431P
+- https://www.qnap.com/en/product/ts-431p
- https://wiki.qnap.com/wiki/Debian_Installation_On_QNAP
- https://wiki.debian.org/InstallingDebianOn/QNAP
- https://groups.google.com/forum/#!topic/linux.debian.ports.arm/c5DLiZkjZbw
| file | status |
-|--
+|------------------------------|------------|
| /etc/config/apache/temp-file | persistant |
| /etc/nsswitch.conf | ram |
| /etc/hesiod.conf | ram |
@@ -35,6 +38,9 @@ TS-431P
=== Commands ===
+==== pvdisplay ====
+
+{{{sh
[~] # pvdisplay
--- Physical volume ---
PV Name /dev/md1
@@ -46,7 +52,11 @@ TS-431P
Free PE 0
Allocated PE 2138900
PV UUID vlh1SX-xTvf-kkML-J2Kb-D2Ez-it20-H3WynX
+}}}
+==== vgdisplay ====
+
+{{{sh
[~] # vgdisplay
--- Volume group ---
VG Name vg288
@@ -68,7 +78,11 @@ TS-431P
Alloc PE / Size 2138900 / 8.16 TiB
Free PE / Size 0 / 0
VG UUID FXjhuH-S4Ha-6Gt3-ZFmL-4Ast-JbJ1-nUjF03
+}}}
+==== lvdisplay ====
+
+{{{sh
[~] # lvdisplay
--- Logical volume ---
LV Path /dev/vg288/lv544
@@ -99,7 +113,11 @@ TS-431P
Allocation inherit
Read ahead sectors 8192
Block device 252:1
+}}}
+==== md_checker ====
+
+{{{sh
[~] # md_checker
Welcome to MD superblock checker (v2.0) - have a nice day~
@@ -124,8 +142,11 @@ Status: ONLINE (md1) [UUUU]
NAS_HOST 3 /dev/sdc3 2 Active Feb 5 00:50:50 2020 8090 AAAA
NAS_HOST 4 /dev/sdd3 3 Active Feb 5 00:50:50 2020 8090 AAAA
===============================================================================================
+}}}
+==== mdadm --misc -D /dev/md* ====
+{{{sh
[~] # mdadm --misc -D /dev/md* /dev/md1:
Version : 1.0
Creation Time : Wed Jun 27 15:42:05 2018
@@ -325,3 +346,39 @@ Working Devices : 4
58 0 0 58 removed
60 0 0 60 removed
62 0 0 62 removed
+}}}
+
+==== cpuinfo ====
+
+[/] # cat /proc/cpuinfo
+processor : 0
+model name : Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
+Speed : 1.7GHz
+Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
+CPU implementer : 0x41
+CPU architecture: 7
+CPU variant : 0x2
+CPU part : 0xc0f
+CPU revision : 4
+
+processor : 1
+model name : Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
+Speed : 1.7GHz
+Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
+CPU implementer : 0x41
+CPU architecture: 7
+CPU variant : 0x2
+CPU part : 0xc0f
+CPU revision : 4
+
+Hardware : Annapurna Labs Alpine
+Revision : 0000
+Serial : 0000000000000000
+}}}
+
+==== uname -a ====
+
+{{{sh
+[/] # uname -a
+Linux Elrond 4.2.8 #2 SMP Thu Jan 12 06:29:23 CST 2023 armv7l unknown
+}}}
diff --git a/awk.wiki b/awk.wiki
new file mode 100644
index 0000000..a993e0b
--- /dev/null
+++ b/awk.wiki
@@ -0,0 +1,3 @@
+[[perl#awk|Using perl as awk]]
+
+
diff --git a/bolt.wiki b/bolt.wiki
new file mode 100644
index 0000000..6cf5d15
--- /dev/null
+++ b/bolt.wiki
@@ -0,0 +1,9 @@
+[[puppet]]
+
+{{{
+bolt command run --help
+}}}
+
+{{{
+bolt command run whoami -t hornquist.se --private-key ~/.ssh/id_rsa
+}}}
diff --git a/btrfs.wiki b/btrfs.wiki
new file mode 100644
index 0000000..724fb83
--- /dev/null
+++ b/btrfs.wiki
@@ -0,0 +1,3 @@
+[[lvm]]
+
+
diff --git a/debian-pkg.wiki b/debian-pkg.wiki
index 5c5981c..ee0efe9 100644
--- a/debian-pkg.wiki
+++ b/debian-pkg.wiki
@@ -1,3 +1,5 @@
+[[Debian Packages]]
+
from `~/pkg/deb/znc/2/sub/sub` (dir with `debian` dir)
Allmost all commands assumes that we are in the root of the code, so
diff --git a/ffmpeg.wiki b/ffmpeg.wiki
index 9fdfef5..b9d67f1 100644
--- a/ffmpeg.wiki
+++ b/ffmpeg.wiki
@@ -1,3 +1,21 @@
+Move mp4 into mkv container, copying bytestream
+
+{{{sh
+ffmpeg -i input.mp4 -c copy output.mkv
+}}}
+
+Add subtitles to file
+{{{sh
+ffmpeg -i *.mp4 -i *.srt -c copy out.mkv
+}}}
+
+Add cover art to mkv file
+{{{sh
+ffmpeg -i input.mkv -c copy -attach cover-art.png -metadata:s:t mimetype=image/png output.mkv
+}}}
+
+--------------------------------------------------
+
{{{sh
ffmpeg -i <input> \
-c:v libx264 -map 0:v \
@@ -7,7 +25,7 @@ ffmpeg -i <input> \
}}}
-Right idea, but wrong:w
+Right idea, but wrong
{{{sh
ffmpeg -i 'Angry Video Game Nerd - The Movie.mkv' \
@@ -15,5 +33,3 @@ ffmpeg -i 'Angry Video Game Nerd - The Movie.mkv' \
-map 0:v -map 0:3? -c:a:0 aac -map 0:4 -c:a:2 aac -map 0:6? -c:s:3 copy \
avgn-final.mp4
}}}
-
-- [ ] ffmpeg -i *.mp4 -i *.srt -c copy out.mkv
diff --git a/fpga.wiki b/fpga.wiki
index 94d3390..96b64c9 100644
--- a/fpga.wiki
+++ b/fpga.wiki
@@ -1,3 +1,5 @@
+Information om åtmomst av Lysators FPGA från ARM-sidan.
+
/lib/firmware fpga.dtbo
{{{sh
diff --git a/freebsd.wiki b/freebsd.wiki
new file mode 100644
index 0000000..4396675
--- /dev/null
+++ b/freebsd.wiki
@@ -0,0 +1,6 @@
+Probably default login:
+username: root
+password: -
+
+
+https://docs.freebsd.org/en/articles/linux-users/
diff --git a/git.wiki b/git.wiki
index d017103..4b8c09c 100644
--- a/git.wiki
+++ b/git.wiki
@@ -1,3 +1,61 @@
-- `git describe --tags <commit>` Which tag is this commit after?
-- `git describe --contains <commit>` Which tag "contains" this commit
+`git describe --tags <commit>` :: Which tag is this commit after?
+`git describe --contains <commit>` :: Which tag "contains" this commit
+`git describe --tags --match 'v[0-9].[0-9]*'`
+:: If HEAD is on matching tag, show tag name, otherwise show
+:: _<tag name>_-_<commits since>_-_<short hash>_
+
+== Merge base ==
+
+{{{sh
+git merge-base <commit> <commit>
+}}}
+
+Show the closest common ancestor of two commits.
+
+== Git hook "syntax" highlighting ==
+The output of git hooks are in some cases highlighted, see the
+following examples (each directly echoed to stdout from a post-receive
+hook) (the text after the term/colon doesn't matter)
+
+Color codes taken from my
+[[https://github.com/HugoNikanor/dotfiles/blob/a82c4ef3a99d66009d888a8fb64c110b8b8990c6/config/alacritty/alacritty.yml|Alacritty Config]]
+
+=== Yellow ===
+- remote: {{#|hint|style="color:#de935f;"}}: small
+- remote: {{#|Hint|style="color:#de935f;"}}: large
+- remote: {{#|Hint|style="color:#de935f;"}} no color
+- remote: {{#|hint|style="color:#de935f;"}} small
+=== Bold Yellow ===
+- remote: {{#|warning|style="color:#f0c674;font-weight:bold;"}}: small
+- remote: {{#|Warning|style="color:#f0c674;font-weight:bold;"}}: large
+- remote: {{#|Warning|style="color:#f0c674;font-weight:bold;"}} no color
+- remote: {{#|warning|style="color:#f0c674;font-weight:bold;"}} no color
+=== Bold Green ===
+- remote: {{#|success|style="color:#b5bd68;font-weight:bold"}}: small
+- remote: {{#|Success|style="color:#b5bd68;font-weight:bold"}}: large
+- remote: {{#|Success|style="color:#b5bd68;font-weight:bold"}} no color
+- remote: {{#|success|style="color:#b5bd68;font-weight:bold"}} no color
+=== Bold Red ===
+- remote: {{#|error|style="color:#cc6666;font-weight:bold"}}: small
+- remote: Error: large # This one apparently just doesn't
+- remote: {{#|Error|style="color:#cc6666;font-weight:bold"}} no color
+- remote: {{#|error|style="color:#cc6666;font-weight:bold"}} no color
+
+= Multi git tools =
+Tools for working on mutiple repostories at once
+
+== Multi-git-status ==
+`mgitstatus`, https://github.com/fboender/multi-git-status
+
+
+Recurses the tree from current point, finds all repos, and tells their
+status (needs commit, needs push, ...)
+Has the binary `mgitstatus`
+
+Gita
+https://github.com/nosarthur/gita
+
+
+= LFS =
+https://git-lfs.com/
diff --git a/gitserver-documentation.wiki b/gitserver-documentation.wiki
index e3c45f3..24b7c4e 100644
--- a/gitserver-documentation.wiki
+++ b/gitserver-documentation.wiki
@@ -1,3 +1,9 @@
+%title About page for git.hornquist.se
+
+%% REMOVE A START
+This is the about page for https://git.hornquist.se/?p=about.
+%% REMOVE A END
+
= Hooks =
Each repository is initialized with a hook directory which symlinks to
a global hooks directory. In the global hooks directory, each
@@ -55,6 +61,15 @@ push containing everything in the repo.
[[https://git.hornquist.se/?q=scheme|scheme]] :: Misc scheme code
[[https://git.hornquist.se/?q=unity|unity]] :: Misc Unity (game engine) code
+= Templates =
+
+{{{
+GIT ~ $ tree $(git config --global init.templateDir)
+/usr/share/githooks/template/
+├── description -> /dev/null
+└── hooks -> /usr/share/githooks/hooks
+}}}
+
= Remaning Configuration =
The cgit server is configuration is mostly contained in
diff --git a/index.wiki b/index.wiki
index fd04da1..e39565a 100644
--- a/index.wiki
+++ b/index.wiki
@@ -1,55 +1,74 @@
+%title Public Wiki [[wi_4090228036|Note]]
+
[[wn.private:index|Private pages]]
= Top Heading =
+http://tolkien.mbor.se/visadikt.php?dikt=The+Riddle+of+Strider
+
== Kurser ==
- [[Pintos]]
- [[KMM]]
== Program & Programmeringsspråk ==
-- [[Vimwiki]] (my user guide)
-- [[luacrypto]]
-- [[nix]]
-- [[VHDL]]
-- [[Matlab]]
-- [[C]]
+- [[Apt]]
- [[C++]]
-- [[deb]]
-- [[Debian Repo]]
-- [[puppet]]
-- [[gcc]]
-- [[gdb]]
-- [[fpga]]
-- [[sudo]]
-- [[yum]]
-- [[nspawn]]
-- [[lvm]]
-- [[php]]
-- [[framebuffer]]
+- [[C]]
- [[Common lisp]]
+- [[Concourse]] (fly)
+- [[Debian Packages]]
+- [[Debian Repo]]
+- [[Matlab]]
+- [[Matrix]]
+- [[Meson]]
+- [[Podman]]
- [[Python]]
-- [[postfix]]
+- [[Qt Translations]]
+- [[VHDL]]
+- [[Vimwiki]] (my user guide)
+- [[Virtualization]]
+- [[ansible]]
- [[automake]]
-- [[systemd]]
+- [[awk]]
+- [[bolt]]
+- [[btrfs]]
+- [[cmake]]
- [[emacs]]
- [[ffmpeg]]
-- [[ansible]]
-- [[lsp]]
-- [[Virtualization]]
-- [[cmake]]
+- [[fpga]]
+- [[framebuffer]]
+- [[freebsd]]
+- [[gcc]]
+- [[gdb]]
- [[git]]
+- [[lsp]]
+- [[luacrypto]]
+- [[lvm]]
+- [[markdown]]
+- [[nix]]
+- [[npm]]
+- [[nspawn]]
+- [[perl]]
+- [[php]]
+- [[postfix]]
+- [[puppet]]
- [[python]]
+- [[sudo]]
+- [[systemd]]
+- [[wireguard]]
+- [[wireshark]]
+- [[yum]]
+- [[id3tag]] (media tagging)
== Projekt ==
-- [[GitServer]]
-- [[TeliaNet]]
+- [[Adafruit]]
- [[MediawikiFS]]
-- [[TexServer]]
-- [[televäxel]]
+- [[Raspberry Pi]]
+- [[TeliaNet]]
- [[Terminal Driver]]
+- [[TexServer]]
- [[picase]]
-- [[Adafruit]]
-- [[Raspberry Pi]]
+- [[televäxel]]
== Hårdvara ==
- [[Dator/Ny]]
@@ -60,62 +79,67 @@
== Worldbuilding copypasta ==
+- [[Cthulu]]
- [[Humans are Adorable]]
- [[Just an October Reminder]]
-- [[Cthulu]]
- [[Sun is an Eldritch Abomination]]
- [[apex-predator]]
+- [[Blåhaj]]
== Övrigt ==
-- [[Media]]
+- [[Colors]]
+- [[HTML Footnotes]]
+- [[IMAP-notifications]]
- [[Kläder]]
-- [[Unicode]]
-- [[Svenkst Arkiv]]
- [[Koffein]]
-- [[Colors]]
-- [[Nintendo Regionskoder]]
-- [[ReMarkable]]
+- [[LiTHeKod]]
+- [[Lisp Quine]]
- [[Logitech G29]]
-- [[Shiori]]
-- [[Pikmin 3]]
-- [[rv290]]
-- [[aur]]
-- [[debian-pkg]] -----
-- Pedalmontering
-- [[test]]
+- [[Media]]
+- [[Mimetypes]]
+- [[Nintendo Regionskoder]]
- [[Oblivion]]
+- [[Outlook Safelinks]]
+- [[PEP3131]]
+- Pedalmontering
+- [[Pikmin 3]]
+- [[Pokemon Platinum]]
+- [[ReMarkable]]
+- [[Recept]]
- [[RiscV]]
+- [[Shiori]]
+- [[Svenkst Arkiv]]
- [[Systemd Machined]]
-- [[ldap]]
-- [[losetup]]
+- [[TaskApp]]
+- [[TempSMS]] (burner)
- [[Terminal Colors]]
-- [[HTML Footnotes]]
-
-== Misc ==
-- [[Lisp Quine]]
-- [[PEP3131]]
- [[Unicode Boxes]]
-- [[inline images]]
-
-
---------------------------------------------------
-- [[Mimetypes]]
-- [[TempSMS]] (burner)
-
-- [[LiTHeKod]]
-- [[TaskApp]]
-- [[IMAP-notifications]]
+- [[Unicode]]
+- [[Wordpress Calendar Plugins]]
- [[adrift-space]]
+- [[aur]]
+- [[debian-pkg]] -----
+- [[inline images]] (in terminal and similar)
+- [[ldap]]
+- [[losetup]]
+- [[rv290]]
+- [[IP addresses for documentation]]
+- [[Märkesbackesmålning]]
+- [[Ordklasser]]
+- [[Printer]]
+- [[Euro Truck Simulator 2]]
* [[diary/diary|Dagbok]]
-- [[Västgöta/grafisk-profil]]
+- [[Västgöta/Julbord]]
+- [[Västgöta/Musik-Pi]]
+- [[Västgöta/Stupandator]]
- [[Västgöta/blot]]
-- [[Västgöta/webbsida]]
+- [[Västgöta/grafisk-profil]]
- [[Västgöta/mail]]
- [[Västgöta/server]]
- [[Västgöta/veckomail]]
-- [[Västgöta/Musik-Pi]]
+- [[Västgöta/webbsida]]
= To Print =
- https://www.thingiverse.com/thing:3742358
@@ -125,17 +149,16 @@
- [ ] Triwing -- 360/(Y) x50
- [ ] Intel 5100 WiFi E2:5B:A8:1A:A8:2A iwlwifi wlp12s0
- [ ] https://www.offismart.se/product/kaffemjolk-arla-15-2cl-100-fp
+- [ ] `lsof -i -s TCP:CLOSE_WAIT`
= Generated Tags =
== TODO ==
- - [[GitServer#Git Server#Autentisering#Autentisering SSH#Problem]]
- - [[GitServer#Taggning#Cleanup]]
-
-== dressman ==
- - [[Kläder#Kläder, klädstorlekar, m.m.#Dressmann "Slim Fit" measurements]]
-
-== tidle ==
- - [[Media#tidle]]
+ - [[GitServer#Autentisering#Autentisering SSH#Problem]]
+ - [[GitServer#Backup]]
+ - [[GitServer#Publicering av "statiska" filer]]
+ - [[Västgöta/webbsida#Veckbrev mailproxy]]
+ - [[Wordpress Calendar Plugins#Kalender]]
== tilde ==
- [[Media#tilde]]
+ - [[Media#tilde]]
diff --git a/lvm.wiki b/lvm.wiki
index 7256573..8a3871c 100644
--- a/lvm.wiki
+++ b/lvm.wiki
@@ -1,4 +1,5 @@
= Logical Volume Manager =
+[[btrfs]]
pvs :: physical volumes
lvs :: logical volumes
diff --git a/markdown.wiki b/markdown.wiki
new file mode 100644
index 0000000..a0721d6
--- /dev/null
+++ b/markdown.wiki
@@ -0,0 +1,4 @@
+
+{{{markdown
+[Example link](https://example.com)
+}}}
diff --git a/npm.wiki b/npm.wiki
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/npm.wiki
diff --git a/nspawn.wiki b/nspawn.wiki
index 3a805e6..079cc1c 100644
--- a/nspawn.wiki
+++ b/nspawn.wiki
@@ -1,5 +1,10 @@
[[Systemd Machined]]
+= Run ephemeral container =
+{{{sh
+systemd-nspawn --ephemeral --directory /var/lib/templates/${name}
+}}}
+
== Debian ==
=== Create new debian container ===
@@ -14,7 +19,7 @@ https://puppet.com/docs/puppet/7/install_puppet.html#install_puppet
== Copy existing container ==
{{{
-systemctl-nspawn --template=EXISTING_OS_TREE -D /var/lib/machines/NEW_MACHINE
+systemd-nspawn --template=EXISTING_OS_TREE -D /var/lib/machines/NEW_MACHINE
}}}
== Setting up container ==
diff --git a/perl.wiki b/perl.wiki
new file mode 100644
index 0000000..098ba4f
--- /dev/null
+++ b/perl.wiki
@@ -0,0 +1,7 @@
+awk
+---
+Using Perl like awk
+
+{{{sh
+perl -n -e'/test(\d+)/ && print "$1\n"'
+}}}
diff --git a/puppet.wiki b/puppet.wiki
index 63c43c3..921acfd 100644
--- a/puppet.wiki
+++ b/puppet.wiki
@@ -1,5 +1,9 @@
+[[bolt]]
+
https://puppet.com/docs/puppet/7/lang_resources.html
+`puppet strings` for documentation?
+
== Relationships and ordering ==
https://puppet.com/docs/puppet/7/lang_relationships.html
@@ -41,10 +45,23 @@ https://puppet.com/docs/puppet/7/lang_conditional.html
{{{puppet
$variable ? {
Array => 'one thing',
- String => 'Anothing thing'
+ String => 'Anothing thing',
+ default => '',
+}
+}}}
+
+==== On Undef ====
+{{{puppet
+$debug_api = $irc_bridge_debug_port ? {
+ Undef => { 'enabled' => false },
+ String => {
+ 'enabled' => false,
+ 'port' => $irc_bridge_debug_port,
+ },
}
}}}
+
=== Regular Case ===
{{{puppet
case $variable {
@@ -110,3 +127,11 @@ puppet apply --modulepath=/etc/puppetlabs/code/environments/<ENVIRONMENT>/module
== autonotify ==
lib/puppet/transaction/event_manager.rb
lib/puppet/graph/relationship_graph.rb:192
+
+
+= Abstract Data Types =
+https://www.puppet.com/docs/puppet/7/lang_data_abstract.html
+
+- `Optional[_<type>_]`
+- `NotUndef[_<type>_]` :: Any - undef
+- `Variant[_<type>_, _<type>_ ...]` :: one of
diff --git a/python.wiki b/python.wiki
deleted file mode 100644
index 1abbf49..0000000
--- a/python.wiki
+++ /dev/null
@@ -1,20 +0,0 @@
-= Properties =
-property
-
-{{{python
-field = property(get_f, set_f)
-}}}
-
-{{{python
-class C:
- def __init__(self):
- self._x = 10
-
- @property
- def x(self):
- return self._x
-
- @x.setter
- def x(self, value):
- self._x = value
-}}}
diff --git a/systemd.wiki b/systemd.wiki
index ed372c3..42fb8c2 100644
--- a/systemd.wiki
+++ b/systemd.wiki
@@ -1,4 +1,7 @@
-systemctl list-dependencies <name>.target
+= Show dependencies of target =
+{{{sh
+systemctl list-dependencies <name>.target
systemctl list-dependencies --user graphical-session.target
+}}}
diff --git a/test.wiki b/test.wiki
deleted file mode 100644
index e5ed636..0000000
--- a/test.wiki
+++ /dev/null
@@ -1,19 +0,0 @@
-=Tight header=
-== Spacious header ==
-
-*bold text*
-**double**
-_test_
-
-*_bold_*
-
-
-* bullet*
-*let *
-` test`
-_ test_
-^ test^
-,, test,,
-
-*Vidare ~~onödiga~~ tester*
-
diff --git a/wiki b/wiki
index c89228d..b27d479 100755
--- a/wiki
+++ b/wiki
@@ -1,14 +1,21 @@
#!/bin/bash
WIKIROOT=/home/hugo/wiki/
-WIKI_LIST=$(ls $WIKIROOT | grep -v html)
+# Causes the last function in a non-background pipeline to use the
+# current shell. Needed for readarray to set a variable in the script.
+shopt -s lastpipe
+declare -a WIKI_LIST
+printf '%s\0' "$WIKIROOT"/* \
+ | grep --null-data -v html \
+ | xargs -0 -n1 basename -z \
+ | readarray -d '' -t WIKI_LIST
# A simple script for managing a vimwiki git repo.
# Allows slightly simpler edits and commits.
-wiki_list=""
+declare -a wiki_list
-alias git='git -c color.status=always'
+GIT='git -c color.status=always -c color.ui=always'
#
# Adds all files to git, and commits with either the arguments as
@@ -21,8 +28,8 @@ function commit {
else
msg="$*"
fi
- git add -A
- git commit -m "$msg"
+ $GIT add -A
+ $GIT commit -m "$msg"
}
#
@@ -30,13 +37,17 @@ function commit {
#
function ammend {
if [ $# -eq 1 ]; then
- git commit --amend
+ $GIT commit --amend
else
msg="$*"
- git commit --amend -m "$msg"
+ $GIT commit --amend -m "$msg"
fi
}
+function grep_ {
+ $GIT grep -E -i "$@"
+}
+
#
# Run function on wiki
#
@@ -44,27 +55,31 @@ function wiki_do {
wiki=$1
command=$2
- pushd $WIKIROOT/$wiki
+ pushd "$WIKIROOT/$wiki" || exit 1
shift
case $command in
commit)
shift
- commit $@
+ commit "$@"
;;
ammend)
shift
- ammend $@
+ ammend "$@"
+ ;;
+ grep)
+ shift
+ grep_ "$@"
;;
g|go)
- commit $@
- git push
+ commit "$@"
+ $GIT push
;;
echo)
echo "-- $wiki --"
;;
*)
- eval "git -c color.status=always $@"
+ $GIT "$@"
;;
esac
}
@@ -78,14 +93,14 @@ while [ $# -ne 0 ]; do
case $1 in
-w|--wiki)
shift
- wiki_list="$1 $wiki_list"
+ wiki_list+=("$1")
shift
;;
-l|--list)
shift
echo "Available Wikis:"
echo "================"
- for w in $WIKI_LIST; do
+ for w in "${WIKI_LIST[@]}"; do
echo " - $w"
done
exit
@@ -94,7 +109,7 @@ while [ $# -ne 0 ]; do
shift
cat - <<- EOF
Wiki helper. Usage:
- --help | -h :: Display this help
+ --help | -h :: Display this help
--list | -l :: Show available wikis
--wiki | -w <wiki> :: specify a specific wiki for operation
@@ -115,14 +130,14 @@ done
# Edit the given wiki if no further argument is given
if [ $# -eq 0 ]; then
- set -- ${wiki_list:-$WIKI_LIST}
- vim $WIKIROOT/$1/index.*
+ set -- "${wiki_list[0]:-${WIKI_LIST[0]}}"
+ vim "$WIKIROOT/$1"/index.*
exit
fi
# Run given command for all wikis
-for wiki in ${wiki_list:-$WIKI_LIST}; do
- wiki_do $wiki $@ | sed "s/^/$wiki /" &
+for wiki in "${wiki_list[@]:-${WIKI_LIST[@]}}"; do
+ wiki_do "$wiki" "$@" | sed "s/^/$wiki /" &
done
diff --git a/wiki.c b/wiki.c
new file mode 100644
index 0000000..ac41ba4
--- /dev/null
+++ b/wiki.c
@@ -0,0 +1,842 @@
+#include <errno.h>
+#include <glob.h>
+#include <libgen.h>
+#include <pthread.h>
+#include <pwd.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/select.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <time.h>
+#include <unistd.h>
+/** Couldn't find any other way to get MAP_ANON on BSD */
+#define __BSD_VISIBLE 1
+#include <sys/mman.h>
+#undef __BSD_VISIBLE
+
+#if 0
+#ifdef __linux__
+#include <linux/futex.h>
+#include <sys/syscall.h>
+#include <stdint.h>
+
+typedef uint32_t *futex_t;
+
+long futex_core(futex_t futex, int futex_op, uint32_t val, const struct timespec *timeout, uint32_t *uaddr2, uint32_t val3) {
+ return syscall(SYS_futex, uaddr, futex_op, val, timeout, uaddr2, val3);
+}
+
+futex_wait(futex_t futex, uint32_t val) {
+ futex_core(futex, FUTEX_WAIT, val, NULL, NULL, 0);
+}
+
+void suspend() {
+ futex(
+}
+
+void wake();
+#endif
+#endif
+
+#include <syslog.h>
+#include <dirent.h>
+#include <unistd.h>
+
+// #define WIKIROOT "~/wiki/"
+#define DATE_FORMAT "%a %d %b. %Y %H:%M:%S %Z"
+
+#if __STDC_VERSION__ < 202311L
+#define typeof __typeof__
+#endif
+
+/** The ends of pipes created pipe() */
+#define READ_END 0
+#define WRITE_END 1
+
+/** Calculate length of a static array */
+#define ARR_LEN(arr) ((size_t) (sizeof(arr) / sizeof((arr)[0])))
+#define ARRAY(x, ...) ((typeof(x)[]) {x, __VA_ARGS__})
+/* Call a procedure with a list of strings */
+#define CALL(proc, ...) proc(ARR_LEN(ARRAY(__VA_ARGS__)), ARRAY(__VA_ARGS__))
+
+typedef char **strlist;
+
+static pthread_mutex_t *stdout_lock = NULL, *stderr_lock = NULL;
+
+/**
+ * Collect all wikis under WIKIROOT.
+ * @param buf
+ * Location where the wikis should be stored.
+ * @returns -1 on failure (and print an error to stderr)
+ * Number of found wikis otherwise (if 0 a message will also be
+ * printed to stdout).
+ */
+int gather_wikis(const char *wiki_root, strlist *buf);
+
+/** Error callback for glob. */
+int errfunc(const char *path, int err);
+
+int commit(const char *msg);
+
+int ammend(const char *msg);
+
+
+/**
+ * Dispatch a git command through a shellout.
+ * @param argc - length of argv
+ * @param argv - arguments appended to the base git command.
+ * The base git command is configured thruogh the variable `cmdline_base`
+ */
+int git(size_t argc, const char *argv[]);
+
+/**
+ * Base command when calling git
+ */
+static char *cmdline_base[] = {
+ "git",
+ "-c", "color.status=always",
+ "-c", "color.ui=always",
+};
+
+
+
+/**
+ * Compare a fixed string to an aribtary string.
+ */
+bool cmp(const char *fix, const char *var) {
+ return strncmp(fix, var, strlen(fix)) == 0;
+}
+
+/**
+ * Collects the globaly available wikis, and print a pretty list of them
+ */
+void print_available_wikis();
+
+/** Print help string for the program to stdout */
+void print_help();
+
+/**
+ * Find the directory to search for wikis in.
+ * Returns a string which must be freed.
+ * */
+char *get_wikiroot();
+
+/*
+ * Concatenate all the strings in arr into a newly allocated string.
+ */
+char *strconcat(int count, const char *arr[]);
+
+/**
+ * Primary dispatcher of commands.
+ * @param wiki_root - Directory in which to find the given wiki
+ * @param wiki - Which wiki to operate on
+ * @param command - what to do
+ * First member should probably either be the name of a git
+ * subcommand, or one of our special commands.
+ * Remaining member will be used as arguments to that subcommand.
+ */
+int wiki_do(const char *wiki_root,
+ const char *wiki,
+ int argc,
+ const char *command[]);
+
+void write_stderr(const char *wiki, const char *fmt, ...);
+void write_stdout(const char *wiki, const char *fmt, ...);
+
+struct thread_data {
+ int stdout;
+ int stderr;
+ int peer_pid;
+ char *wiki;
+ pthread_cond_t *cond;
+};
+
+static void *start_thread(void *d) {
+
+ struct thread_data *data = d;
+
+ fprintf(stderr, "pid=%i, stdout=%i, stderr=%i\n",
+ getpid(),
+ data->stdout,
+ data->stderr);
+
+ /*
+ FILE *out = fdopen(data->stdout, "w");
+ FILE *err = fdopen(data->stderr, "w");
+ */
+
+ char *line = NULL;
+ size_t linecapp;
+
+ fd_set fds;
+ FD_SET(data->stdout, &fds);
+ FD_SET(data->stderr, &fds);
+
+ ssize_t len;
+
+ // kill(data->peer_pid, SIGUSR1);
+ fprintf(stderr, "'%s' We are here\n", data->wiki);
+ pthread_cond_signal(data->cond);
+ fprintf(stderr, "'%s' Signaled\n", data->wiki);
+ munmap(data->cond, sizeof data->cond);
+
+ // struct timeval timeout = {
+ // .tv_sec = 1,
+ // };
+
+ int count;
+
+ for (;;) {
+ printf("\n'%s' Running select:\n", data->wiki);
+ struct timeval timeout = { .tv_sec = 1 };
+ if ((count = select(2, &fds, NULL, NULL, &timeout)) == -1) {
+ fprintf(stderr, " Error in select: %s\n", strerror(errno));
+ write_stderr(data->wiki, " Error in select: %s\n", strerror(errno));
+ continue;
+ }
+ fprintf(stderr, " Got %i!\n", count);
+
+#if 1
+ if (FD_ISSET(data->stdout, &fds)) {
+ fprintf(stderr, "on stdout\n");
+ errno = 0;
+#if 0
+ if ((len = getline(&line, &linecapp, out)) == -1) {
+ if (errno) {
+ write_stderr(data->wiki, "Failed reading stdout: %s", strerror(errno));
+ }
+ /* descriptor was closed */
+ write_stderr(data->wiki, "stderr was closed");
+ } else {
+ write_stdout(data->wiki, "%s", line);
+ }
+#endif
+ }
+
+ if (FD_ISSET(data->stderr, &fds)) {
+ fprintf(stderr, "on stderr\n");
+ errno = 0;
+#if 0
+ if ((len = getline(&line, &linecapp, err)) == -1) {
+ if (errno) {
+ write_stderr(data->wiki, "Failed reading stderr: %s", strerror(errno));
+ }
+ /* descriptor was closed */
+ write_stderr(data->wiki, "stdout was closed");
+ } else {
+ write_stderr(data->wiki, "%s", line);
+ }
+#endif
+ }
+#endif
+ }
+
+ return NULL;
+}
+
+struct cmd_args {
+ /** Number of wikis to work on */
+ int wiki_count;
+
+ strlist wiki_list;
+
+ /** index into wiki_list, pointing at the next empty slot */
+ int wiki_list_ptr;
+};
+
+int parse_commandline(
+ struct cmd_args *cmd,
+ int argc,
+ const char *argv[])
+{
+
+ /* At most every other argument can be a requested wiki */
+ cmd->wiki_list = malloc(sizeof(*cmd->wiki_list) * argc / 2);
+ /** index into wiki_list, pointing at the next empty slot */
+ cmd->wiki_list_ptr = 0;
+
+ int arg = 1;
+ for (; arg < argc; arg++) {
+ if (cmp("--wiki", argv[arg]) || cmp("-w", argv[arg])) {
+ cmd->wiki_list[cmd->wiki_list_ptr++] = (char *) argv[++arg];
+ ++cmd->wiki_count;
+ continue;
+ } else
+ if (cmp("--list", argv[arg]) || cmp("-l", argv[arg])) {
+ print_available_wikis();
+ exit(0);
+ } else
+ if (cmp("--help", argv[arg]) || cmp("-l", argv[arg]) || cmp("-?", argv[arg])) {
+ print_help();
+ exit(0);
+ } else {
+ break;
+ }
+ }
+
+ cmd->wiki_count = cmd->wiki_list_ptr;
+
+ return arg;
+}
+
+int main (int argc, const char *argv[]) {
+ syslog(4, "Start");
+ // truncate("/tmp/hugo/log", 0);
+
+ printf("pid = %i\n", getpid());
+
+ struct cmd_args cmd = {};
+ int arg = parse_commandline(&cmd, argc, argv);
+
+ char *wiki_root = get_wikiroot();
+
+ /** If no wikis were given, instead list all available wikis */
+ if (cmd.wiki_list_ptr == 0) {
+ free(cmd.wiki_list);
+ cmd.wiki_count = gather_wikis(wiki_root, &cmd.wiki_list);
+ }
+
+ /* If no further arguments are given, edit the given wiki */
+ if (arg == argc) {
+ char *wiki;
+ if (cmd.wiki_count == 0) {
+ fprintf(stderr, "No wikis found\n");
+ return 1;
+ }
+
+ wiki = cmd.wiki_list[0];
+
+ char *path = malloc(1024);
+ sprintf(path, "%s/%s/index.wiki",
+ wiki_root, wiki);
+ execlp("vim", "vim", path, NULL);
+ } else {
+ /* If further arguments are given, run these on each wiki */
+
+ int ret;
+
+ /* locks heap allocated to allow them to default to NULL */
+ stdout_lock = malloc(sizeof(*stdout_lock));
+ stderr_lock = malloc(sizeof(*stderr_lock));
+
+ if ((ret = pthread_mutex_init(stdout_lock, NULL))) {
+ fprintf(stderr, "Failed creating stdout mutex: %s\n", strerror(ret));
+ stdout_lock = NULL;
+ }
+
+ if ((ret = pthread_mutex_init(stderr_lock, NULL))) {
+ fprintf(stderr, "Failed creating stderr mutex: %s\n", strerror(ret));
+ stderr_lock = NULL;
+ }
+
+ int *pids = malloc(sizeof(*pids) * cmd.wiki_count);
+
+ for (int i = 0; i < cmd.wiki_count; i++) {
+ int stdout_pipes[2], stderr_pipes[2];
+
+ if (pipe(stdout_pipes) == -1) {
+ fprintf(stderr, "Failed opening stdout pipe for '%s': %s\n",
+ cmd.wiki_list[i], strerror(errno));
+ continue;
+ };
+
+ if (pipe(stderr_pipes) == -1) {
+ fprintf(stderr, "Failed opening stderr pipe for '%s': %s\n",
+ cmd.wiki_list[i], strerror(errno));
+ continue;
+ };
+
+ pthread_condattr_t attr;
+ pthread_condattr_init(&attr);
+ pthread_condattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
+
+ pthread_cond_t *cond = mmap(NULL, sizeof (pthread_cond_t),
+ PROT_READ|PROT_WRITE,
+ MAP_ANON|MAP_SHARED,
+ -1, 0);
+ if (cond == MAP_FAILED) {
+ fprintf(stderr, "Failed establishing shared memory region: %s\n",
+ strerror(errno));
+ continue;
+ }
+
+ pthread_cond_init(cond, &attr);
+ pthread_condattr_destroy(&attr);
+
+ int pid;
+ switch ((pid = fork())) {
+ case 0:
+ ;
+ FILE *err = fdopen(dup(2), "w");
+
+ // close(stdout_pipes[READ_END]);
+ // close(stderr_pipes[READ_END]);
+
+ printf("From %i to stdout\n", getpid());
+
+ if (dup2(stdout_pipes[WRITE_END], 1) == -1) {
+ fprintf(err, "Failed replacing stdout: %s\n", strerror(errno));
+ }
+
+ if (dup2(stderr_pipes[WRITE_END], 2) == -1) {
+ fprintf(err, "Failed replacing stderr: %s\n", strerror(errno));
+ }
+
+
+ // close(stdout_pipes[WRITE_END]);
+ // close(stderr_pipes[WRITE_END]);
+
+
+ {
+ pthread_mutex_t cond_mutex;
+ pthread_mutex_init(&cond_mutex, NULL);
+ syslog(5, "'%s' Waiting on condition", cmd.wiki_list[i]);
+ pthread_cond_wait(cond, &cond_mutex);
+ syslog(5, "'%s' Awoken from condition", cmd.wiki_list[i]);
+ pthread_mutex_unlock(&cond_mutex);
+ pthread_mutex_destroy(&cond_mutex);
+ }
+
+ printf("From %i to pipe\n", getpid());
+
+ pthread_cond_destroy(cond);
+ munmap(cond, sizeof cond);
+
+ ret = wiki_do(
+ wiki_root,
+ cmd.wiki_list[i],
+ argc - arg,
+ &argv[0] + arg);
+ exit(ret);
+
+ case -1:
+ fprintf(stderr, "Failed creating process for '%s': %s\n",
+ cmd.wiki_list[i], strerror(errno));
+ continue;
+
+ default:
+ pids[i] = pid;
+
+ // close(stdout_pipes[WRITE_END]);
+ // close(stderr_pipes[WRITE_END]);
+
+ pthread_t thread;
+
+ struct thread_data *data = calloc(sizeof *data, 1);
+ {
+ struct thread_data dat = {
+ .stdout = stdout_pipes[0],
+ .stderr = stderr_pipes[0],
+ .wiki = cmd.wiki_list[i],
+ .peer_pid = pid,
+ .cond = cond,
+ };
+ memcpy(data, &dat, sizeof dat);
+ }
+
+ if ((ret = pthread_create(&thread, NULL, &start_thread,
+ (void *) data))) {
+ fprintf(stderr, "Failed starting thread: %s\n", strerror(ret));
+ }
+ break;
+ }
+
+ }
+
+ // sleep(3);
+
+ for (int i = 0; i < cmd.wiki_count; i++) {
+ fprintf(stderr, "Waiting on %i\n", pids[i]);
+ int status;
+ if (waitpid(pids[i], &status, 0) == -1) {
+ if (errno == ECHILD) {
+ fprintf(stderr, "No exit status available\n");
+ } else {
+ fprintf(stderr, "Waitpid failed: %s\n", strerror(errno));
+ }
+ } else {
+ fprintf(stderr, "Child exited %s with status code %i",
+ WIFEXITED(status) ? "normally" : "abnormaly",
+ WEXITSTATUS(status));
+ if (WIFSIGNALED(status)) {
+ fprintf(stderr, " by the signal %i", WTERMSIG(status));
+ }
+ fprintf(stderr, "\n");
+ }
+ }
+ }
+
+ free(wiki_root);
+ // free(cmd.wiki_list);
+}
+
+int gather_wikis(const char *wiki_root, strlist *wiki_list) {
+
+ int ret = 0;
+
+ glob_t pglob = {};
+
+ ret = glob(CALL(strconcat, wiki_root, "/*"), 0,
+ &errfunc, &pglob);
+
+ switch (ret) {
+ case 0:
+ break;
+ case GLOB_NOSPACE:
+ fprintf(stderr, "Glob ran out of space\n");
+ ret = -1;
+ goto gather_wikis_end;
+ case GLOB_ABORTED:
+ fprintf(stderr, "Glob was aborted\n");
+ ret = -1;
+ goto gather_wikis_end;
+ case GLOB_NOMATCH:
+ printf("No Wikis found\n");
+ goto gather_wikis_end;
+ default:
+ fprintf(stderr, "Unknown glob error. errno: %s\n",
+ strerror(errno));
+ ret = -1;
+ goto gather_wikis_end;
+ }
+
+ *wiki_list = malloc(sizeof(*wiki_list) * pglob.gl_pathc);
+
+ int idx = 0;
+ for (int i = 0; i < pglob.gl_pathc; i++) {
+ if (strstr(pglob.gl_pathv[i], "html") == NULL) {
+ (*wiki_list)[idx++] = basename(pglob.gl_pathv[i]);
+ }
+ }
+
+ ret = idx;
+
+gather_wikis_end:
+ return ret;
+}
+
+/**
+ * Error callback for glob.
+ * Simply print the error and continue.
+ */
+int errfunc(const char *path, int err) {
+ fprintf(stderr, "Failed opening %s: %s\n",
+ path,
+ strerror(err));
+ return 0;
+}
+
+#if 0
+int commit_ammend (const char* action, const char *msg) {
+ char *buf = NULL;
+
+ if (msg == NULL) {
+
+ time_t now = time(NULL);
+
+ struct tm result;
+ if (localtime_r(&now, &result) == NULL) {
+ msg = "Now";
+ } else {
+ buf = malloc(1024);
+ /* TODO check result */
+ strftime(buf, 1024, DATE_FORMAT, &result);
+ msg = buf;
+ }
+ }
+
+
+ /* "add" has type (char (*)[4]) (pointer to array of length 4.
+ * This just forces the type... */
+ CALL(git, (const char *) "add", "-A");
+ CALL(git, (const char *) "commit", "-m", msg);
+
+ if (buf) free(buf);
+
+ return 0;
+}
+#endif
+
+#if 0
+int git(size_t argc, const char *argv[]) {
+ pid_t pid;
+
+ int ret;
+
+ switch (pid = fork()) {
+ case -1:
+ break;
+ case 0: /* child */
+ ;
+
+ size_t cmdline_len = ARR_LEN(cmdline_base) + argc;
+
+ char **commandline = malloc((cmdline_len + 1) * sizeof(*commandline));
+
+ for (size_t i = 0; i < ARR_LEN(cmdline_base); i++) {
+ commandline[i] = cmdline_base[i];
+ }
+
+ for (size_t i = 0; i < argc; i++) {
+ commandline[i + ARR_LEN(cmdline_base)] = commandline[i];
+ }
+
+ commandline[cmdline_len] = NULL;
+
+ ret = execvp("git", commandline);
+ if (ret)
+ break;
+
+ fprintf(stderr, "Exec ");
+ for (size_t i = 0; i < cmdline_len; i++) {
+ fprintf(stderr, " %s", commandline[i]);
+ }
+ fprintf(stderr, " failed: %s\n", strerror(errno));
+ exit(1);
+
+ break;
+ default: /* parent */
+ break;
+ }
+
+ return ret;
+ return 0;
+}
+#endif
+
+void print_available_wikis() {
+ printf(
+ "Available Wikis:\n"
+ "================\n");
+ strlist wikis;
+ char *root = get_wikiroot();
+ int wiki_count = gather_wikis(root, &wikis);
+ free(root);
+ if (wiki_count < 0) {
+ return;
+ }
+ for (int i = 0; i < wiki_count; i++) {
+ printf("%i. %s\n", i, wikis[i]);
+ free(wikis[i]);
+ }
+ free(wikis);
+}
+
+void print_help() {
+ printf(
+ "Wiki helper. Usage:\n"
+ "--help | -h :: Display this help\n"
+ "--list | -l :: Show available wikis\n"
+ "--wiki | -w <wiki> :: specify a specific wiki for operation\n"
+ "\n"
+ "Default acts on all wikis.\n"
+ "\n"
+ "wi commit [msg] :: Create a git commit on specified wikis\n"
+ "wi ammend [msg] :: Change last commit\n"
+ "wi g [msg] :: wi commit [msg]; wi push\n"
+ "wi [git-command] :: run git commands on wikis\n");
+}
+
+
+int wiki_do(const char *wiki_root,
+ const char *wiki,
+ int argc,
+ const char *command[]) {
+
+ if (wiki == NULL) return 1;
+ char *chdir_dest;
+ if (wiki[0] == '/') {
+ chdir_dest = strdup(wiki);
+ } else {
+ chdir_dest = CALL(strconcat, wiki_root, "/", wiki);
+ }
+
+ if (chdir(chdir_dest)) {
+ printf("failed chdir to %s : %s\n",
+ chdir_dest,
+ strerror(errno));
+ return 1;
+ }
+
+ free(chdir_dest);
+
+ if (cmp("commit", command[0])) {
+ // (command + 1)
+ return 1;
+ }
+ if (cmp("ammend", command[0])) {
+ // (command + 1)
+ return 0;
+ }
+ if (cmp("grep", command[0])) {
+ // (command + 1)
+ return 0;
+ }
+ if (cmp("go", command[0]) || cmp("g", command[0])) {
+ // (command + 1)
+ return 0;
+ }
+ if (cmp("echo", command[0])) {
+ syslog(3, "-- %s --", wiki);
+ // char *buf = malloc(0x100);
+ // sprintf(buf, "/tmp/hugo/%i", getpid());
+ // FILE *log = fopen("/tmp/hugo/log", "a");
+ // fprintf(log, "Gonna write!\n");
+
+ for (;;) {
+ // syslog(4, "%s Wanting to print", wiki);
+ int count = printf("-- %s --\n", wiki);
+ // syslog(4, "%s printed count=%i", wiki, count);
+ fflush(stdout);
+ }
+
+ // fprintf(log, "Wrote %i bytes\n", count);
+ // sprintf(buf, "/proc/%i/fd", getpid());
+
+#if 0
+ DIR *d = opendir(buf);
+
+ struct dirent *ent;
+
+ void *ptr = malloc(sizeof(struct dirent) + 1000 + 1);
+ while (readdir_r(d, ptr, &ent) == 0) {
+ if (ent == NULL) break;
+ memset(buf, 0, 0x100);
+ readlinkat(dirfd(d), ent->d_name, buf, 0x100);
+ fprintf(log, "%s -> ", ent->d_name);
+ fprintf(log, "%s\n", buf);
+ }
+ closedir(d);
+ free(buf);
+#endif
+ close(1);
+ close(2);
+
+ // :fclose(log);
+ // fflush()q
+ return 0;
+ }
+
+ return 0;
+}
+
+/** Get home directory of currently logged in user
+ * Starts by looking at the environment variable HOME, and if that is
+ * unset, instead get the home directory of the currently logged in
+ * user, finally defaulting to '/'.
+ *
+ * The string returned is valid up until the next call to `getpwuid`.
+ * */
+const char *get_home() {
+ const char *home = getenv("HOME");
+ struct passwd *pw;
+ if (home == NULL) {
+ pw = getpwuid(geteuid());
+ if (pw == NULL) {
+ home = "/";
+ } else {
+ home = pw->pw_dir;
+ }
+ }
+
+ return home;
+}
+
+char *get_wikiroot() {
+ {
+ const char *result = getenv("WIKIROOT");
+ if (result != NULL) {
+ return strdup(result);
+ }
+ }
+
+ const char *home = getenv("HOME");
+
+ return CALL(strconcat, home, "/wiki");
+}
+
+char *strconcat(int count, const char *arr[]) {
+ size_t allocated = 100;
+ size_t used = 0;
+ char *dest = malloc(allocated);
+ for (int i = 0; i < count; i++) {
+ size_t len = strlen(arr[i]);
+ if (used + len >= allocated) {
+ allocated <<= 2;
+ char *tmp = realloc(dest, allocated);
+ /* TODO should the old buffer be freed? */
+ if (tmp == NULL) {
+ fprintf(stderr, "Realloc failed\n");
+ exit(1);
+ }
+ dest = tmp;
+ }
+
+ memcpy(dest + used, arr[i], len);
+ used += len;
+ }
+
+ dest[used] = '\0';
+
+ return dest;
+}
+
+
+int locked_write(pthread_mutex_t *lock, FILE *port, const char *fmt, va_list ap) {
+ int err, ret;
+
+ if (lock && (err = pthread_mutex_lock(lock))) {
+ fprintf(stderr, "Failed locking mutex: %s\n", strerror(err));
+ }
+
+ ret = vfprintf(port, fmt, ap);
+
+ if (lock && (err = pthread_mutex_unlock(lock))) {
+ fprintf(stderr, "Failed unlocking mutex: %s\n", strerror(err));
+ }
+
+ return ret;
+}
+
+char *prepend_wiki(const char *wiki, const char *fmt) {
+ int wiki_len = strlen(wiki);
+ int fmt_len = strlen(fmt);
+
+ char *true_fmt = malloc(wiki_len + fmt_len + 1);
+
+ memcpy(true_fmt, wiki, wiki_len);
+ memcpy(true_fmt + wiki_len, fmt, fmt_len);
+ true_fmt[wiki_len + fmt_len] = '\0';
+
+ return true_fmt;
+}
+
+void write_stderr(const char *wiki, const char *fmt, ...) {
+ char *true_fmt = prepend_wiki(wiki, fmt);
+
+ va_list ap;
+
+ va_start(ap, fmt);
+ locked_write(stderr_lock, stdout, fmt, ap);
+ va_end(ap);
+
+ free(true_fmt);
+}
+
+void write_stdout(const char *wiki, const char *fmt, ...) {
+ char *true_fmt = prepend_wiki(wiki, fmt);
+
+ va_list ap;
+
+ va_start(ap, fmt);
+ locked_write(stdout_lock, stdout, fmt, ap);
+ va_end(ap);
+
+ free(true_fmt);
+}
diff --git a/wiki.py b/wiki.py
new file mode 100755
index 0000000..4c69f61
--- /dev/null
+++ b/wiki.py
@@ -0,0 +1,171 @@
+#!/usr/bin/env python3
+
+from datetime import datetime
+from glob import glob
+from zoneinfo import ZoneInfo
+import contextlib
+import os
+import os.path
+import subprocess
+import sys
+import time
+
+@contextlib.contextmanager
+def working_directory(dir):
+ old_pwd = os.getcwd()
+ try:
+ os.chdir(dir)
+ yield
+ finally:
+ os.chdir(old_pwd)
+
+WIKIROOT = '/home/hugo/wiki'
+
+WIKI_LIST = []
+for file in os.listdir(WIKIROOT):
+ path = os.path.join(WIKIROOT, file)
+ if 'html' in file:
+ continue
+ if not os.path.isdir(path):
+ continue
+ WIKI_LIST.append(file)
+
+
+def git(*args):
+ base = 'git -c color.status=always -c color.ui=always'.split(' ')
+ # print('git', args)
+ cmdline = base + list(args)
+ # TODO subprocess can't forward stdout to our file-like object
+ # and it doesn't tell us WHAT the problem is.
+ # This probably requires us to set up a proper pipe,
+ # and something which listen on that pipe.
+ # But multithreading in Python is *HaRd*.
+ cmd = subprocess.run(cmdline, stdout=sys.stdout)
+
+
+def commit(wiki, *msg):
+ if not msg:
+ now = datetime.now(Zoneinfo(time.tzname[0]))
+ msg = f'{now:%Y-%m-%d %H:%M:%S %Z}'
+ else:
+ msg = ' '.join(msg)
+ git('add', '-A')
+ git('commit', '-m', msg)
+
+def ammend(wiki, *msg):
+ if not msg:
+ git('commit', '--amend')
+ else:
+ msg = ' '.join(msg)
+ git('commit', '--amend', '-m', msg)
+
+
+def grep(wiki, *args):
+ git('grep', '-E', '-i', ' '.join(args))
+
+
+def go(*args):
+ commit(wiki, *args)
+ git('push')
+
+
+def echo(wiki, *rest):
+ print(f'-- {wiki} --')
+
+
+commands = {
+ 'commit': commit,
+ 'ammend': ammend,
+ 'grep': grep,
+ 'g': go,
+ 'go': go,
+ 'echo': echo,
+}
+
+
+def wiki_do(wiki, command, *args):
+ cmd = commands.get(command)
+ with working_directory(os.path.join(WIKIROOT, wiki)):
+ if cmd:
+ cmd(wiki, *args)
+ else:
+ git(command, *args)
+
+class Prepender:
+ def __init__(self, prefix, to):
+ self.buf = []
+ self.prefix = prefix
+ self.to = to
+
+ def write(self, data):
+ for c in data:
+ if c == '\n':
+ print(self.prefix + ':' + ''.join(self.buf), file=self.to)
+ self.buf = []
+ else:
+ self.buf.append(c)
+
+
+ def flush(self):
+ if self.buf:
+ print(self.prefix + ':' + ''.join(self.buf), file=self.to)
+ self.buf = []
+
+
+ def fileno(self):
+ return -1
+
+ # def read(size=-1):
+ # pass
+
+
+def main():
+
+ args = sys.argv[1:]
+ wiki_list = []
+ while args:
+ if args[0] == '-w' or args[0] == '--wiki':
+ wiki_list.append(args[1])
+ args = args[2:]
+ continue
+ if args[0] == '-l' or args[0] == '--list':
+ print("Available Wikis:")
+ print("================")
+ for wiki in WIKI_LIST:
+ print(f' - {wiki}')
+ sys.exit()
+ if args[0] == '-h' or args[0] == '--help' or args[0] == '-?':
+ help = '''
+ Wiki helper. Usage:
+ --help | -h :: Display this help
+ --list | -l :: Show available wikis
+ --wiki | -w <wiki> :: specify a specific wiki for operation
+
+ Default acts on all wikis.
+
+ wi commit [msg] :: Create a git commit on specified wikis
+ wi ammend [msg] :: Change last commit
+ wi g [msg] :: wi commit [msg]; wi push
+ wi [git-command] :: run git commands on wikis
+ '''
+ for line in help.strip().split('\n'):
+ print(line.strip())
+ sys.exit()
+ break
+
+ if len(args) == 0:
+ index = glob(os.path.join(WIKIROOT,
+ (wiki_list or WIKI_LIST)[0],
+ 'index.*'))
+ subprocess.run(['vim', index[0]])
+ else:
+ stdout = sys.stdout
+ for wiki in wiki_list or WIKI_LIST:
+ # TODO threads
+ sys.stdout = Prepender(wiki, stdout)
+ wiki_do(wiki, *args)
+
+
+if __name__ == '__main__':
+ main()
+
diff --git a/wireguard.wiki b/wireguard.wiki
new file mode 100644
index 0000000..67e137d
--- /dev/null
+++ b/wireguard.wiki
@@ -0,0 +1,10 @@
+{{{sh
+ip link add dev wg0 type wireguard
+# ip addr add 2001:9b1:eff:a600:22cf:30ff:fe45:629e/64
+wg set wg0 \
+ private-key hornquist_se.key \
+ peer Veno5uIu6Bk+J6p+HOAIXEvTORiLUi+m/osk46sS2CA= \
+ endpoint 46.59.41.54:51820 \
+ allowed-ips ::/0
+ip route add ::/0 dev wg0
+}}}
diff --git a/wireshark.wiki b/wireshark.wiki
new file mode 100644
index 0000000..3309d07
--- /dev/null
+++ b/wireshark.wiki
@@ -0,0 +1,9 @@
+%title Wireshark
+
+== Intercept encrypted trafic ==
+
+https://stackoverflow.com/questions/18456934/how-to-view-encrypted-application-data-in-wireshark
+
+{{{sh
+export SSLKEYLOGFILE=/tmp/ssl-key.log
+}}}