عن المشروع
mq هي أداة سطر أوامر لمعالجة Markdown ببناء جملة استعلام مستوحى من jq. مكتوبة بلغة Rust، تتيح للمستخدمين تقطيع مستندات Markdown وتصفيتها وتعيينها وتحويلها، كما تقبل العديد من تنسيقات الإدخال والإخراج الأخرى.
الاستخدامات النموذجية الموصوفة في المشروع تشمل إعداد ومعالجة Markdown لاستعلامات ومخرجات نماذج اللغة الكبيرة (LLM)، وتوليد Markdown منظم لاستهلاك LLM، وإدارة الوثائق عبر ملفات متعددة، واستخراج أقسام أو أنماط من المستندات، وتطبيق تحويلات دفعية متسقة.
القدرات الأساسية:
- محددات ودوال مدمجة لتقطيع محتوى Markdown وتصفيته وتعيينه وتحويله.
- واجهة سطر أوامر مع خيارات للتجميع، وبث الملفات الكبيرة، ومراقبة الملفات للتغييرات، وتقييم عبر جميع المدخلات، والتحكم في الإخراج.
- تنسيقات الإدخال تشمل markdown و mdx و html و text و null و raw و bytes و cbor و csv و gron و json و psv و toml و toon و tsv و xml و yaml؛ تنسيقات الإخراج تشمل markdown و html و text و json و table و grep و gron و raw و csv و toml و toon و xml و yaml و shell و none.
- وضع التحديث الذي يكتب عقد Markdown المحولة إلى stdout، بالإضافة إلى وضع الفرق الذي يطبع فرقًا موحدًا ويخرج برمز 1 عند حدوث تغييرات.
- REPL للتنفيذ التفاعلي للاستعلامات، ومنسق، ومدقق تحليل ثابت، ومتحقق أنواع، ومصحح أخطاء تجريبي (mq-dbg) مع دعم بروتوكول محول التصحيح (DAP).
- تنفيذ بروتوكول خادم اللغة (LSP) وتكاملات محرر لـ VS Code و Neovim و Zed و JetBrains IDEs و Obsidian و Helix و Chrome، بالإضافة إلى إجراء GitHub Action للـ CI.
- أوامر فرعية خارجية عبر ملفات تنفيذية باسم mq- موضوعة في ~/.local/bin/.
- صلاحيات معزولة: الشبكة، قراءة/كتابة نظام الملفات، تنفيذ الأوامر والوصول إلى البيئة معطلة افتراضيًا ويمكن منحها بشكل فردي أو عبر إعدادات مسبقة (صارم، للقراءة فقط، شبكي، غير آمن). استيراد وحدات HTTP اختياري أيضًا، مع قوائم نطاقات مسموحة، وتخزين مؤقت، وفحوصات تكامل ملفات القفل، ووضع مجمد للـ CI.
التوزيع والتعبئة:
- سكريبت تثبيت، Homebrew، Arch (yay)، Cargo (mq-run)، صورة Docker، binstall وملفات تنفيذية مبنية مسبقًا لنظامي macOS و Linux و Windows.
- مستودع أحادي بلغتي Rust و TypeScript مع صناديق مثل mq-run و mq-lang و mq-markdown و mq-lsp و mq-repl و mq-formatter و mq-lint و mq-check و mq-hir و mq-dap و mq-crawler و mq-web-api و mq-macros و mq-test و mq-ffi و mq-wasm، بالإضافة إلى حزم npm مثل mq-web و mq-nodejs.
- واجهة برمجة تطبيقات REST مستضافة وملعب متصفح؛ روابط لغات لـ Elixir و Python و Ruby و Java و Go.
الوثائق متاحة عبر موقع ويب، وكتاب عبر الإنترنت، وكتاب طبخ لوصفات موجهة بالمهام ودليل أمثلة. يذكر المشروع أنه قيد التطوير النشط ومرخص بموجب MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.