| Zusammenfassung | Rendert hledger-Buchungen als Live-Dashboard im ersten Beitrag eines Themas. | |
| Repository | gitea.kosmos.org/raucao/discourse-hledger | |
| Installationsanleitung | README |
Funktionen
Füge ein hledger-Journal in einen eingefassten hledger-Codeblock im ersten Beitrag eines Themas ein, und es wird durch ein Dashboard mit fünf Berichten ersetzt, die bei Bedarf vom hledger-Executables des Servers generiert werden:
-
Konten — der vollständige Kontenspiegel, alle übergeordneten Konten aufgefaltet. -
Bilanz — Aktiva, Passiva und Eigenkapital, gruppiert in Abschnitte. -
GuV — Erträge und Aufwendungen. -
Eigenkapital — eine Verteilung des eingebrachten Kapitals nach Währung. -
Journal — ein Transaktionsprotokoll mit jedem Buchungssatz. -
Berichte können über einen Von/Bis-Datumsbereich gefiltert werden; das Enddatum ist inklusive.
-
Kontensegmente, die als
@usernamegeschrieben werden (zum Beispielequity:@alice), werden zu Discourse-Erwähnungslinks mit der üblichen Profilkarte; nur bestehende Benutzer werden verlinkt. -
Berichte werden bei Bedarf generiert und pro Beitragsrevision zwischengespeichert, sodass die Bearbeitung des Journals sie aktualisiert.
Beispielblock
```hledger
2024-01-01 Anfangsbestände
assets:bank:checking 1000.00 EUR
equity:alice -600.00 EUR
equity:bob -400.00 EUR
```
Screenshots
Voraussetzungen
- Das
hledger-Executable auf dem Server (getestet mit hledger 1.32.3). - Discourse 2.7.0 oder neuer.
Bei der Standard-Docker-Installation das Plugin und das hledger-Paket über deine app.yml installieren und neu aufbauen:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://gitea.kosmos.org/raucao/discourse-hledger.git discourse-hledger
- exec:
cd: $home
cmd:
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install -y hledger
Konfiguration
- Das Plugin in
Admin > Einstellungen > Pluginsaktivieren (hledger enabled). - Ein hledger-Journal in den ersten Beitrag eines Themas einfügen.
- Optional
hledger pathsetzen, falls das Executable nicht im standardmäßigenPATHliegt.
Einstellungen
| Name | Beschreibung |
|---|---|
hledger enabled |
Das Plugin aktivieren. |
hledger path |
Pfad zum hledger-Executable (Standard: hledger). |
hledger max journal bytes |
Maximale Größe eines akzeptierten Journals in Bytes (Standard: 262144). |
hledger max journal lines |
Maximale Anzahl an Zeilen in einem Journal (Standard: 5000). |
hledger timeout seconds |
Zeitlimit für jeden hledger-Aufruf in Sekunden (Standard: 10). |
hledger max output bytes |
Obergrenze für den erfassten hledger-Ausgabestrom in Bytes (Standard: 1048576). |
hledger memory limit mb |
Speichergrenze für den hledger-Prozess; 0 deaktiviert sie (Standard: 256). |
hledger global rate limit per minute |
Obergrenze für die Berichtsgenerierung über alle Benutzer hinweg; 0 deaktiviert sie (Standard: 120). |
Sicherheit
Journale sind nicht vertrauenswürdige Eingaben. Das Plugin führt hledger als nicht privilegierten Subprozess mit einer bereinigten Umgebung, einem privaten Arbeitsverzeichnis, einem harten Timeout, CPU-/Dateigrößen-/Speichergrenzen und einer Ausgabegrenze aus und lehnt include-Direktiven ab. Berichte werden nur für Themen zurückgegeben, die der Betrachter sehen kann, und Anfragen werden pro IP (30/min) und global drosselt.
Kompatibilität und Lizenz
- MIT-Lizenz
- Feedback, Fehlerberichte und Übersetzungen sind in diesem Thema oder per E-Mail, Social Media (ActivityPub) oder Chat (XMPP) an raucao@kosmos.org willkommen


