| 概要 | トピックの最初の投稿内で hledger ジャーナルをライブダッシュボードとしてレンダリングします。 | |
| リポジトリ | gitea.kosmos.org/raucao/discourse-hledger | |
| インストールガイド | README |
機能
トピックの最初の投稿内に、フェンス付きの hledger コードブロックとして hledger ジャーナルを配置すると、サーバーの hledger 実行可能ファイルによってオンデマンドで生成される5つのレポートを含むダッシュボードに置き換えられます:
-
アカウント — 完全な残高ツリー。すべての親アカウントが展開されています。 -
貸借対照表 — 資産、負債、純資産がセクションに折りたたまれています。 -
損益計算書 (P&L) — 収益と費用。 -
純資産 (Equity) — 出資資本の商品別内訳。 -
ジャーナル — 各仕訳付きの取引ログ。 -
レポートは開始日/終了日範囲でフィルタリングできます。終了日は含まれます。
-
@usernameとして記述されたアカウントセグメント(例:equity:@alice)は、通常のプロフィールカード付きの Discourse メンションリンクになります。リンクされるのは既存ユーザーのみです。 -
レポートはオンデマンドで生成され、投稿のリビジョンごとにキャッシュされるため、ジャーナルを編集すると更新されます。
例ブロック
```hledger
2024-01-01 Opening balances
assets:bank:checking 1000.00 EUR
equity:alice -600.00 EUR
equity:bob -400.00 EUR
```
スクリーンショット
要件
- サーバー上の
hledger実行可能ファイル(hledger 1.32.3 でテスト済み)。 - Discourse 2.7.0 以降。
標準的な Docker インストールの場合、app.yml を通じてプラグインと hledger パッケージをインストールし、再ビルドしてください:
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
設定
Admin > Settings > Plugins(hledger enabled)でプラグインを有効にします。- トピックの最初の投稿に hledger ジャーナルを追加します。
- 実行可能ファイルがデフォルトの
PATHにない場合、hledger pathを設定します。
設定項目
| 名前 | 説明 |
|---|---|
hledger enabled |
プラグインを有効にします。 |
hledger path |
hledger 実行可能ファイルへのパス(デフォルト hledger)。 |
hledger max journal bytes |
受け入れられるジャーナルの最大サイズ(バイト単位、デフォルト 262144)。 |
hledger max journal lines |
ジャーナルの最大行数(デフォルト 5000)。 |
hledger timeout seconds |
各 hledger 呼び出しのリアルタイム制限(デフォルト 10)。 |
hledger max output bytes |
取得した hledger 出力の上限(デフォルト 1048576)。 |
hledger memory limit mb |
hledger プロセスのメモリ上限。0 で無効化(デフォルト 256)。 |
hledger global rate limit per minute |
全ユーザー全体のレポート生成の上限。0 で無効化(デフォルト 120)。 |
セキュリティ
ジャーナルは信頼できない入力です。このプラグインは hledger を特権のないサブプロセスとして、環境変数を除去し、プライベートな作業ディレクトリ、ハードタイムアウト、CPU/ファイルサイズ/メモリ制限、出力上限を設けて実行し、include ディレクティブを拒否します。レポートは、閲覧者が表示できるトピックに対してのみ返され、リクエストは IP ごと(30回/分)およびグローバルにレート制限されます。
互換性とライセンス
- MIT ライセンス
- フィードバック、バグレポート、翻訳は、このトピック、またはメール、ソーシャルメディア(ActivityPub)、チャット(XMPP)にて raucao@kosmos.org までお寄せください。


