Hledger 플러그인 - 주제에서 평문 회계 원장 렌더링

:information_source: 요약 토픽의 첫 번째 게시물에서 hledger 저널을 실시간 대시보드로 렌더링합니다.
:hammer_and_wrench: 리포지토리 gitea.kosmos.org/raucao/discourse-hledger
:open_book: 설치 가이드 README

기능

토픽의 첫 번째 게시물에 펜스된 hledger 코드 블록 안에 hledger 저널을 넣으면, 서버의 hledger 실행 파일이 필요 시 생성하는 5가지 보고서가 포함된 대시보드로 대체됩니다:

  • :clipboard: 계정(Accounts) — 전체 잔액 트리, 모든 상위 계정이 확장된 상태.

  • :balance_scale: 재무 상태표(Balance sheet) — 자산, 부채 및 자본으로 섹션이 접힘.

  • :chart_increasing: 손익계산서(P&L) — 수익과 비용.

  • :busts_in_silhouette: 자본(Equity) — 기여 자본의 상품별 분배.

  • :receipt: 저널(Journal) — 각 기입 항목이 포함된 거래 로그.

  • 보고서는 시작/종료 날짜 범위로 필터링할 수 있으며, 종료 날짜는 포함됩니다.

  • @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 설치의 경우, 플러그인과 hledger 패키지를 app.yml을 통해 설치하고 다시 빌드하십시오:

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

설정

  1. 관리자 > 설정 > 플러그인에서 플러그인을 활성화합니다 (hledger enabled).
  2. 토픽의 첫 번째 게시물에 hledger 저널을 추가합니다.
  3. 실행 파일이 기본 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/Nostr), 또는 채팅(XMPP)으로 raucao@kosmos.org로 환영합니다.
7개의 좋아요