| Sintesi | Renderizza i journal di hledger come dashboard live nel primo post di un argomento. | |
| Repository | gitea.kosmos.org/raucao/discourse-hledger | |
| Guida all’installazione | README |
Funzionalità
Inserisci un journal di 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 completo dei saldi, con tutti i conti padre espansi. -
Stato patrimoniale — attività, passività e patrimonio netto, raggruppati in sezioni. -
Conto economico — ricavi e spese. -
Patrimonio netto — una distribuzione per valuta del capitale versato. -
Journal — un registro delle transazioni con ogni movimento contabile. -
I report possono essere filtrati per un intervallo di date Da/A; la data di fine è inclusa.
-
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 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 superiore.
Con l’installazione Docker standard, installa il plugin e il pacchetto hledger tramite il tuo app.yml e ricostruisci:
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
Configurazione
- Abilita il plugin in
Admin > Settings > Plugins(hledger enabled). - Aggiungi un journal di 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 chiamata a hledger (predefinito 10). |
hledger max output bytes |
Limite per l’output catturato da hledger (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 dei report per tutti gli utenti; 0 lo disabilita (predefinito 120). |
Sicurezza
I journal sono un input non affidabile. Il plugin esegue hledger come sotto-processo non privilegiato con un ambiente sanificato, 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 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), o chat (XMPP) a raucao@kosmos.org


