Hintergrund
Man kann sich einfach nicht alles merken. Es geht schlichtweg nicht.
Befehlszeilen, Abläufe, Texte, ...
Teils hat man lange recherchiert um endlich das gewünschte Ergebnis zu erhalten ... und dann? Wohin mit den Informationen?
Manches braucht man relativ oft, manches vielleicht nie mehr ... oder doch?
So sammelten sich bei mir anfangs viele Textdateien, später setzte ich auf MoinWiki, dann DokuWiki, schlussendlich schrieb ich mein eigenes Tool.
Dieses ist mittlerweile in der zweiten Generation und definitiv eines meiner wichtigsten Werkzeuge.
Kurzbeschreibung
Xemy speichert Texte, welche mit einer vereinfachten Creole-Wiki-Syntax erstellt werden.
Diese Einträge werden dann in einem oder mehreren "Stores" gespeichert. Ein Store kann z.B. eine SQLite3-Datenbank, eine MariaDB-Datenbank oder auch ein Verzeichnis mit Textdateien sein.
Die Verwaltung erfolgt hauptsächlich über ein Command-Line-Interface. Zum Bearbeiten können unterschiedliche Editoren verwendet werden, zur Ausgabe werden mehrere Styles und verschiedene Programme unterstützt.
Installation (als Root)
Xemy kann über mein privates Repository installiert werden.
Dazu muss zuerst der GPG-Schlüssel heruntergeladen werden:
Code: Alles auswählen
cd /etc/apt/trusted.gpg.d/
wget http://deb.mn77.de/mn77.archive.key.2022.gpg
Code: Alles auswählen
echo "deb http://deb.mn77.de/stable ./" >> /etc/apt/sources.list
Code: Alles auswählen
apt update
apt install xemy
Als normaler Benutzer kann Xemy nun gestartet werden:
Code: Alles auswählen
xemy
Wer es noch einfacher möchte, kann sich z.B. ein Alias oder einen Link von 'x' zu 'xemy' anlegen (als Root):
Code: Alles auswählen
ln -s /usr/bin/xemy /usr/local/bin/x
Eintrag erstellen
Wenn Xemy läuft, können wir nun den ersten Eintrag anlegen. Dazu tippen wir kurz ein "n" oder "new" und schicken den Befehl mit 'Enter' ab.
Code: Alles auswählen
new
Code: Alles auswählen
= Mein erster Eintrag
Hallo Xemy!
Code: Alles auswählen
= Erste Überschrift
== Zweite Überschrift
=== Dritte Überschrift
==== Vierte Überschrift
' ' Zwei Leerzeichen am Anfang erzeugen einen Code-Block
**fett**
//kursiv//
__unterstrichen__
--durchgestrichen--
---- Horizontale Linie
Hier können mehrere Schlagwörter mit Leerzeichen getrennt eingegeben werden. Ggf. kann die Eingabe mit 'Enter' einfach beendet werden.
Suchen und Finden
Mit dem Befehl "a" oder "all" lassen sich nun alle Einträge auflisten.
Code: Alles auswählen
all
Code: Alles auswählen
search foo bar
Code: Alles auswählen
find foo
Code: Alles auswählen
tag foo
Für die einfachere Handhabung wird jedem Eintrag im Suchergebnis eine Nummer zugewiesen.
So steht im Suchergebnis der jeweilige Schlüssel und daneben der Titel. Die Zahl besteht dabei aus der Nummer des Stores (1-9) und einer fortlaufenden Nummer.
Zum Anzeigen eines Eintrags geben wir die entsprechende Nummer ein.
Code: Alles auswählen
10
Der Prompt
Der Prompt von Xemy hat 3 mögliche Zustände:
- Kein Suchergebnis
Code: Alles auswählen
- >
- Suchergebnis/Mapping vorhanden
Code: Alles auswählen
? >
- Eintrag eingemerkt
Code: Alles auswählen
10>
Ist ein Eintrag eingemerkt, so kann die Nummer bei Befehlen entfallen.
Bearbeiten
Um einen Eintrag zu bearbeiten, verwenden wir "e" oder "edit". Hierzu muss die entsprechende Nummer angegeben werden:
Code: Alles auswählen
? > edit 10
Code: Alles auswählen
10> edit
Beenden
Xemy kann mit folgenden Befehlen beendet werden:
Code: Alles auswählen
q, quit, exit
STRG + d
Zum Schluss werfen wir noch einen kurzen Blick in die Config-Datei.
Diese finden wir unter "~/.config/xemy/default.conf" und sollte mehr oder weniger selbsterklärend sein.
Code: Alles auswählen
editor ~/.config/xemy/default.conf
Unter "[Stores]" lassen sich die jeweiligen Stores definieren. Hier 3 Beispiele dafür:
Code: Alles auswählen
1 = SQLite3( "/home/foobar/.config/xemy/store.sqlite3" )
2 = MariaDB( "192.168.0.100", "user", "secretpass", "xemydb" )
3 = WikiDir( "/home/foobar/xemy" )
Dieses Tool ist bei mir mittlerweile nicht mehr wegzudenken.
Ich hoffe dass alles so funktioniert wie es soll, Xemy gefällt und auch anderen die Arbeit am PC erleichtert.
Konstruktives Feedback ist gerne willkommen.