قارئ محلي يعرض العربية من اليمين إلى اليسار ويبقي الكود والإنجليزية على اتجاههما، بواجهة Liquid Glass مصمّمة للـMac.
كثير من المحرّرات والطرفيات تعرض ماركداون العربي بشكل سيّئ: لا تدعم الاتجاهين، وتقطّع
الحروف، وتخلط أسطر العربي والإنجليزي حتى تنكسر، وإذا بدأ عنوان بكلمة إنجليزية انقلب السطر
كله إلى اليسار. متن يعرض ملف .md في المتصفح مستندا عربيا صحيحا من اليمين إلى اليسار،
مع بقاء الكود والإنجليزية داخله من اليسار إلى اليمين، ضمن تجربة قراءة مريحة للنصوص الطويلة.
| عربية صحيحة | محلي وخاص | قارئ متكامل |
|---|---|---|
| يتبع المستند لغته الغالبة، فيبقى الملف العربي من اليمين إلى اليسار حتى لو بدأ عنوان بكلمة إنجليزية، وتبقى المقاطع اللاتينية على اتجاهها داخل السطر. | يعمل دون اتصال، ويرتبط بـ127.0.0.1، ولا يعرض إلا ما في المجلد الذي فتحته، ولا يرسل شيئا إلى أي خدمة. |
مكتبة وبحث وفهرس وتمييز وملاحظات ووضع كتاب وتصدير — دون أن يعدّل ملفات Markdown إطلاقا. |
npm install -g @ajarallah/matn
matn README.mdيحتاج Node.js إصدار 18 فأحدث. لا شيء غيره — بلا تبعيات تشغيل وبلا خطوة بناء، فالتثبيت ثانية واحدة.
تشغيل بلا تثبيت:
npx @ajarallah/matn README.mdمن المصدر (للتطوير):
git clone https://github.com/Ajarallah/matn.git
cd matn && npm linkالاسم العام
matnعلى npm تحجزه حزمة أخرى لا علاقة لها بالمشروع؛ لذلك الحزمة باسم@ajarallah/matn، والأمر التنفيذي يبقىmatn.
إزالة التثبيت:
bash "$(npm root -g)/@ajarallah/matn/scripts/install-macos.sh" --uninstall # على macOS
npm rm -g @ajarallah/matnقائمة المزايا كاملة — القراءة، والمحتوى، والتنقّل، والإخراج
القراءة
- 🫧 Liquid Glass فعلي — مكتبة جانبية عائمة، وinspector مستقل، ومجموعات أدوات منكسرة فوق طبقة المحتوى، مع بدائل لتقليل الشفافية والحركة.
- 🪶 اتجاه عربي صحيح — يتبع المستند لغته الغالبة، فيبقى الملف العربي من اليمين إلى اليسار حتى لو بدأ سطر أو عنوان بكلمة إنجليزية، وتبقى الكلمات الإنجليزية داخل السطر من اليسار إلى اليمين.
- 🎨 أربع سمات — فاتح، وسيبيا، وداكن، وليلي (أسود كامل)؛ يتبع نظامك تلقائيا.
- 🔤 خطوط عربية مدمجة — النظام، ونوتو نسخ، وأميري، وIBM Plex، وتجوّل (كلها برخصة SIL OFL، مدمجة، وتعمل دون اتصال)، وخط ثمانية (Display و Text) اختياري.
- 🔧 تحكّم بالقراءة — الخط، والحجم، وتباعد الأسطر، وعرض العمود، ومحاذاة النص (من اليمين أو ضبط الأسطر)؛ وكل اختيار يُحفظ.
- 🌍 واجهة بلغتين — بدّل الواجهة كاملة بين العربية والإنجليزية.
- ⌨️ اختصارات مكتوبة — اضغط
؟لقائمة الاختصارات كاملة، أو افتحها من لوحة الإعدادات.
المحتوى
- 🌈 تلوين الكود حسب السمة (highlight.js).
- 🧮 معادلات —
$…$داخل السطر و$$…$$مستقلة، عبر KaTeX ودون اتصال. - 📊 مخططات Mermaid — داخل النص، وحسب السمة؛ ضع المؤشّر فوقها لتكبيرها.
- 💬 صناديق تنبيه GFM —
> [!NOTE]، و[!TIP]، و[!WARNING]… بشكل مميّز لكل نوع. - 🔗 روابط ويكي وملفات عاملة —
[[صفحة]]والروابط النسبية والأسماء البديلة، مع معاينة وروابط واردة. - ◇ سلامة المستند — تقرير محلي للروابط والصور والعناوين المفقودة، دون فحص الشبكة أو مغادرة مجلد القراءة.
- 📝 حواشٍ، وبطاقة للبيانات الوصفية (YAML)، وقوائم مهام، وجداول، واقتباسات.
- 🖼️ تكبير عند التمرير — كبّر المخططات والصور عند المؤشّر.
التنقّل والملفات
- 🧭 خريطة مستند مصغّرة تتبع العنوان الحالي وتفتح قائمة عناوين كاملة باللمس أو لوحة المفاتيح.
- 🔤 ترشيح العناوين — في المستندات الطويلة اكتب جزءا من اسم القسم للوصول إليه، بتطبيع عربي فلا تعطّلك الهمزات ولا التشكيل.
- 🧠 ذاكرة قراءة تستعيد الملف والقسم والموضع، مع مفضلة و«أكمل لاحقًا» وتعليقات لا تغيّر Markdown.
- 🗑️ نقل آمن إلى سلة النظام اختياري، مع تحذير Git والروابط الواردة ودون حذف دائم احتياطي.
- 🗂️ شجرة ملفات — افتح مجلدا لتتصفّح أدلّته متداخلة وقابلة للطي.
- 📖 وضع الكتاب — يقرأ
SUMMARY.mdكترتيب فصول مع السابق والتالي والتقدم الإجمالي، دون بناء أو تعديل الملفات. - 🔎 بحث داخل المستند — اضغط
/للبحث والتنقّل بين النتائج. - ♻️ تحديث فوري — حرّر الملف بأي محرّر، فتتحدّث الصفحة عند الحفظ.
- 🐘 ملفات كبيرة بلا تجميد — تُصيّر الملفات الأكبر من 2MB في Worker وتُحمّل تدريجيًا مع بقاء الواجهة مستجيبة.
- 🖱️ سحب وإفلات لأي
.mdعلى النافذة، أو الصق ماركداون من الحافظة مباشرة (⌘V) — مخرجات وكيل، أو مقطع من محادثة — مع تراجع يعيد ما كان مفتوحا. - 🔔 يخبرك بما تغيّر — عند تعديل الملف من الخارج يبقى موضعك كما هو، ويشير إلى القسم الذي تغيّر لتذهب إليه إن شئت.
الإخراج
- 📤 تصدير — PDF، أو HTML مستقل، أو Word (
.docx)، أو EPUB 3 (ترتيب صفحات من اليمين)، أو ماركداون. - 🖨️ طباعة بتنسيق نظيف.
الأساس
- 📦 بلا تبعيات تشغيل — Node فقط مع ملفات مدمجة، يعمل دون اتصال ولا يرسل أي بيانات.
- 🔒 محدود النطاق — يرتبط بـ
127.0.0.1، ويعرض فقط من المجلد الذي فتحته، ويعزل HTML الخام، ويمنع الروابط غير الآمنة. - 📄 صيغ Markdown الشائعة — يفتح
.mdو.markdownو.mdownو.mkdnو.mkdو.mdwnو.mdtxtو.mdtextو.rmdو.qmd.
| سيبيا · أميري | داكن · تلوين ومعادلات |
|---|---|
![]() |
![]() |
| لوحة الإعدادات |
|---|
![]() |
matn <file.md> # فتح ملف واحد
matn ./docs # تصفّح مجلد (شجرة ملفات جانبية)
matn # فتح المجلد الحالي
command | matn - # قراءة Markdown من stdin في جلسة مؤقتة
matn PLAN.md -p 5000 # منفذ مختارالخيارات: -p, --port · --host · --no-open · --editor <executable> · --allow-file-actions · --stdin-name <name> · -h, --help · -v, --version.
يفتح متن المتصفح تلقائيا ويعيد استخدام نسخة قائمة، فـmatn a.md ثم matn b.md يفتحان في النافذة نفسها.
- ⚙ لأنماط القراءة المشروحة، واللغة، والسمة، والخط، والحجم، والتباعد، والعرض، والمحاذاة — وكلها محفوظة.
- حدّد أي نص مرة واحدة لتظهر أدوات التمييز، وإضافة الملاحظة، وحفظ المقتطف في المفضلة، ونسخه بصيغة غنية تحافظ على RTL والبنية مع نص احتياطي ورابط المصدر.
- مرّر المؤشر فوق خريطة المستند لرؤية عنوان القسم، وانقر خطه للانتقال إليه، أو افتح زر القائمة لرؤية جميع العناوين.
- بدّل بين العرض المصيّر والمصدر والتقسيم من زر
</>؛ زر¶بجانب العنوان يصل إلى سطر Markdown المقابل. - اسحب أي
.mdإلى النافذة لفتحه. - حفظ ▾ يصدّر PDF أو HTML أو Word أو EPUB أو ماركداون، و🖨️ للطباعة.
- اضغط / للبحث، و**؟** لقائمة الاختصارات كاملة. مفاتيح:
⌘Kللمكتبة ·+/−للحجم ·g/Gللأعلى / الأسفل ·fللتركيز ·Escلإغلاق اللوحة.
macOS — اجعل متن القارئ الافتراضي لماركداون بخطوة واحدة:
bash "$(npm root -g)/@ajarallah/matn/scripts/install-macos.sh" --defaultومن مستودع مستنسخ: bash scripts/install-macos.sh --default.
يبني تطبيق Finder صغيرا، ويسجّل الصيغ العشر كلها، ويطالب بنوع Markdown عبر
LaunchServices — بلا حاجة إلى Homebrew أو duti. وإن تعذّر ذلك أرشدك إلى
Get Info ← Open with ← Change All. وللتراجع: --uninstall ينقل التطبيق إلى سلة
النظام ويعيد .md إلى تطبيقك السابق.
Linux — الأمر bash scripts/install-linux.sh --default يضيف مدخل .desktop ويجعل متن معالج text/markdown.
Windows — الأمر matn file.md يعمل من أي طرفية؛ واربط .md من
Open with ← Choose another app بالإشارة إلى matn.
متن خادم HTTP محلي صغير (src/server.mjs، بلا تبعيات). يعرض الماركداون عبر
marked، ويعطي كل كتلة نص اتجاه المستند الغالب لضبط
الاتجاهين، ويلوّن الكود عبر highlight.js،
ويعرض المعادلات عبر KaTeX والمخططات عبر Mermaid
(كلاهما يُحمّل عند الحاجة)، ويحدّث الصفحة فوريا عبر SSE. الخطوط والمكتبات مدمجة، فيعمل دون
اتصال ولا يرسل أي بيانات.
المنطق القابل للاختبار مفصول في وحدات نقية (src/*-core.cjs) تعمل في Node وفي المتصفح
معا، فلا تتكرّر قواعد التطبيع العربي ولا العرض في مكانين. التفصيل في
ARCHITECTURE.md.
يرتبط متن تلقائيا بـ 127.0.0.1، ولا يعرض ملفات ماركداون والصور المشار إليها إلا من الملف
أو المجلد الذي فتحته. ويعزل HTML الخام داخل الماركداون، ويمنع الروابط غير الآمنة مثل
javascript:. تجنّب --host 0.0.0.0 إلا إذا أردت عمدا إتاحة القارئ لأجهزة أخرى على شبكتك.
راجع SECURITY.md.
- الكود: MIT — LICENSE.
- الخطوط: SIL OFL 1.1 — أميري، ونوتو نسخ، وIBM Plex، وتجوّل.
- المكتبات: marked (MIT)، وhighlight.js (BSD-3)، وKaTeX (MIT)، وMermaid (MIT)، وmarked-footnote (MIT)، وhtml-docx-js (MIT)، وJSZip (MIT).
الإشعارات الكاملة في NOTICE.
المسائل وطلبات الدمج مرحّب بها — اقرأ CONTRIBUTING أولا: فيه الأوامر التي يشغّلها CI، وما يُرفض عادة (تبعية تشغيل، أو ميزة تحرير، أو اتصال بالشبكة، أو توسيع جذر الملفات). قرارات التصميم والبحث الذي سبقها في دفتر العمل، وسجلّ التغييرات في CHANGELOG.
صنعه علي الجار الله. متن — نصّ الكتاب الأساسي.



