إضافة Hledger - عرض دفاتر المحاسبة كنص عادي في المواضيع

:information_source: الملخص عرض دفاتر hledger كوحة تحكم حية في المنشور الأول لموضوع.
:hammer_and_wrench: المستودع gitea.kosmos.org/raucao/discourse-hledger
:open_book: دليل التثبيت README

الميزات

ضع دفتر hledger في كتلة hledger محاطة بعلامات (fenced code block) في المنشور الأول لموضوع، وسيتم استبداله بلوحة تحكم تحتوي على خمسة تقارير، يتم توليدها عند الطلب بواسطة برنامج hledger المنفّذ على الخادم:

  • :clipboard: الحسابات — شجرة الأرصدة الكاملة، مع توسيع كل حساب أب.

  • :balance_scale: الميزانية العمومية — الأصول والالتزامات وحقوق الملكية، مجمّعة في أقسام.

  • :chart_increasing: الإيرادات والمصروفات (P&L) — الإيرادات والمصروفات.

  • :busts_in_silhouette: حقوق الملكية — توزيع لكل سلعة من رأس المال المُساهم.

  • :receipt: الدفتر — سجل معاملات مع كل قيد.

  • يمكن تصفية التقارير حسب نطاق تاريخ من/إلى؛ تاريخ النهاية مُشمل.

  • مقاطع الحسابات المكتوبة على شكل @username (مثل equity:@alice) تصبح
    روابط ذكر (mention) في 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. فعّل الإضافة في Admin > Settings > Plugins (hledger enabled).
  2. أضف دفتر hledger إلى المنشور الأول لموضوع.
  3. اختياريًا، اضبط hledger path إذا لم يكن البرنامج المنفّذ على 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 كعملية فرعية غير مرمّزة بصلاحيات، مع بيئة مُنظّفة، ومجلد عمل خاص، ووقت انتهاء صارم، وحدود لمعالج/حجم الملفات/الذاكرة، وحد للإخراج، وترفض تعليمات include. لا تُعاد التقارير إلا للمواضيع التي يمكن للمشاهد رؤيتها، وتُقيّد الطلبات حسب عنوان IP (30/دقيقة) وعالميًا.

التوافق والترخيص

  • ترخيص MIT
  • نرحّب بالملاحظات وتقارير الأخطاء والترجمات في هذا الموضوع أو عبر البريد الإلكتروني، أو وسائل التواصل الاجتماعي (ActivityPub/Nostr)، أو الدردشة (XMPP) على raucao@kosmos.org
7 إعجابات