| Zusammenfassung | Rendert hledger-Journale 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 umrandeten hledger-Codeblock im ersten Beitrag eines Themas ein, und es wird durch ein Dashboard mit fünf Berichten ersetzt, die auf Abruf vom hledger-Executabler des Servers generiert werden:
-
Konten — der vollständige Kontenspiegel, wobei alle übergeordneten Konten aufgeklappt sind. -
Bilanz — Aktiva, Passiva und Eigenkapital, in Abschnitte zusammengefasst. -
GuV — Erträge und Aufwendungen. -
Eigenkapital — eine Verteilung des eingezahlten Kapitals nach Währung. -
Journal — ein Transaktionsprotokoll mit jedem Buchungssatz. -
Berichte können nach einem Zeitraum von Von/Bis gefiltert werden; das Enddatum ist inklusive.
-
Kontensegmente, die als
@usernamegeschrieben werden (zum Beispielequity:@alice), werden zu
Discourse-Erwähnungslinks mit der üblichen Profilkarte; nur vorhandene Benutzer
werden verlinkt. -
Berichte werden auf Abruf generiert und pro Beitragsrevision zwischengespeichert, sodass das Bearbeiten des
Journals sie aktualisiert.
Beispielblock
```hledger
2024-01-01 Opening balances
assets:bank:checking 1000.00 EUR
equity:alice -600.00 EUR
equity:bob -400.00 EUR
```
Screenshots
Anforderungen
- Das
hledger-Executabler auf dem Server (getestet mit hledger 1.32.3). - Discourse 2.7.0 oder neuer.
Bei der Standard-Docker-Installation installierst du das Plugin und das hledger-Paket über deine app.yml und baust neu:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://gitea.kosmos.org/raucao/discourse-hledger.git
- exec:
cd: $home
cmd:
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install -y hledger
Konfiguration
- Aktiviere das Plugin unter
Admin > Einstellungen > Plugins(hledger enabled). - Füge ein hledger-Journal zum ersten Beitrag eines Themas hinzu.
- Setze optional
hledger path, falls das Executabler nicht im Standard-PATHliegt.
Einstellungen
| Name | Beschreibung |
|---|---|
hledger enabled |
Aktiviert das Plugin. |
hledger path |
Pfad zum hledger-Executabler (Standard: hledger). |
hledger max journal bytes |
Maximale Größe eines akzeptierten Journals in Bytes (Standard: 262144). |
hledger max journal lines |
Maximale Anzahl von Zeilen in einem Journal (Standard: 5000). |
hledger timeout seconds |
Zeitlimit (Wall-Clock) für jeden hledger-Aufruf (Standard: 10). |
hledger max output bytes |
Obergrenze für den erfassten hledger-Ausgabe (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 unprivilegierten Unterprozess mit einer bereinigten Umgebung, einem privaten Arbeitsverzeichnis, einem harten Timeout, CPU-/Dateigrößen-/Speichergrenzen und einer Ausgabe-Obergrenze 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, Fehlermeldungen und Übersetzungen sind in diesem Thema oder per E-Mail, Social Media (ActivityPub/Nostr) oder Chat (XMPP) an raucao@kosmos.org willkommen.


