| Riepilogo | Renderizza i journal hledger come una dashboard live nel primo post di un argomento. | |
| Repository | gitea.kosmos.org/raucao/discourse-hledger | |
| Guida all’installazione | README |
Funzionalità
Inserisci un journal hledger in un blocco di codice delimitato da `hledger` nel primo post di un argomento e verrà sostituito da una dashboard con cinque report, generati su richiesta dall’eseguibile hledger del server:
-
Conti — l’albero dei saldi completo, con tutti i conti genitore espansi. -
Stato patrimoniale — attività, passività e patrimonio netto, raggruppati in sezioni. -
Conto economico — ricavi e spese. -
Patrimonio — una distribuzione per valuta del capitale contribuito. -
Journal — un registro delle transazioni con ogni addebito e accredito. -
I report possono essere filtrati per intervallo di date Da/A; la data di fine è inclusiva.
-
I segmenti di conto scritti come
@username(ad esempioequity:@alice) diventano
link di menzione di Discourse con la solita scheda profilo; solo gli utenti esistenti
vengono linkati. -
I report vengono generati su richiesta e memorizzati nella cache per ogni revisione del post, quindi la modifica
del journal li aggiorna.
Esempio di blocco
```hledger
2024-01-01 Saldi iniziali
assets:bank:checking 1000.00 EUR
equity:alice -600.00 EUR
equity:bob -400.00 EUR
```
Screenshot
Requisiti
- L’eseguibile
hledgersul server (testato con hledger 1.32.3). - Discourse 2.7.0 o versioni successive.
Con l’installazione Docker standard, installa il plugin e il pacchetto hledger tramite il tuo file app.yml e ricostruisci:
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
Configurazione
- Abilita il plugin in
Amministrazione > Impostazioni > Plugin(hledger enabled). - Aggiungi un journal hledger al primo post di un argomento.
- Facoltativamente, imposta
hledger pathse l’eseguibile non si trova nelPATHpredefinito.
Impostazioni
| Nome | Descrizione |
|---|---|
hledger enabled |
Abilita il plugin. |
hledger path |
Percorso dell’eseguibile hledger (predefinito hledger). |
hledger max journal bytes |
Dimensione massima di un journal accettato, in byte (predefinito 262144). |
hledger max journal lines |
Numero massimo di righe in un journal (predefinito 5000). |
hledger timeout seconds |
Limite di tempo reale per ogni invocazione di hledger (predefinito 10). |
hledger max output bytes |
Limite per l’output di hledger catturato (predefinito 1048576). |
hledger memory limit mb |
Limite di memoria per il processo hledger; 0 lo disabilita (predefinito 256). |
hledger global rate limit per minute |
Limite per la generazione di report per tutti gli utenti; 0 lo disabilita (predefinito 120). |
Sicurezza
I journal sono un input non fidato. Il plugin esegue hledger come un sottoprocesso non privilegiato con un ambiente pulito, una directory di lavoro privata, un timeout rigido, limiti di CPU/dimensione file/memoria e un limite di output, e rifiuta le direttive include. I report vengono restituiti solo per gli argomenti visibili all’utente, e le richieste sono soggette a limitazione di frequenza per IP (30/min) e globalmente.
Compatibilità e licenza
- Licenza MIT
- Feedback, segnalazioni di bug e traduzioni sono benvenuti in questo argomento o via email, social media (ActivityPub/Nostr), o chat (XMPP) a raucao@kosmos.org


