{"_id":"@ajarallah/matn","name":"@ajarallah/matn","dist-tags":{"latest":"1.3.0"},"versions":{"1.3.0":{"name":"@ajarallah/matn","version":"1.3.0","description":"A calm, right-to-left Markdown reader for Arabic: reading themes, embedded Arabic fonts, syntax highlighting, Mermaid diagrams, callouts, wikilinks, search, and live reload. Runs locally in your browser.","type":"module","bin":{"matn":"bin/matn.mjs"},"scripts":{"start":"node bin/matn.mjs","test":"node --test","test:e2e":"node e2e/ui.playwright.mjs","test:performance":"node e2e/performance.playwright.mjs","check":"node --check bin/matn.mjs && node --check src/server.mjs && node --check src/state-store.mjs && node --check src/platform-actions.mjs && node --check src/stdin-session.mjs && node --check src/markdown-files.cjs && node --check src/render-core.cjs && node --check src/render-worker.js && node --check src/search-core.cjs && node --check src/link-core.cjs && node --check src/book-core.cjs && node --check src/annotation-core.cjs && node --check scripts/build-docs.mjs && node --check scripts/performance-fixtures.mjs && node --check e2e/performance.playwright.mjs"},"devDependencies":{"playwright":"^1.61.1"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"keywords":["markdown","arabic","rtl","reader","viewer","preview","md","bidi","عربي","ماركداون"],"repository":{"type":"git","url":"git+https://github.com/Ajarallah/matn.git"},"bugs":{"url":"https://github.com/Ajarallah/matn/issues"},"homepage":"https://github.com/Ajarallah/matn#readme","author":{"name":"Ali Aljarallah"},"license":"MIT","gitHead":"690c2fc72c46691eb14cfba3e09e32f891cf4cc3","_id":"@ajarallah/matn@1.3.0","_nodeVersion":"24.12.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-PPKQxokTvGqKnyBnfDZsVvTDK7yMbJm00r2kHIvKSbqwZuERzgw0M9Ktngsovp+LeUUcB7d6Z/n44X6Zvo61Sw==","shasum":"69aed00eeb254a77852d3f0255e698451d74d59e","tarball":"https://registry.npmjs.org/@ajarallah/matn/-/matn-1.3.0.tgz","fileCount":67,"unpackedSize":5227863,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCWCp613UMW689Ux8VmmPrqlpqizizcJ7WKKzGSbue4EwIhAKchFJjbvOYV7xshFyX2s1YCZ93ilEZPY1mhYnkorLY6"}]},"_npmUser":{"name":"ajarallah","email":"Ajarallah93@gmail.com"},"directories":{},"maintainers":[{"name":"ajarallah","email":"Ajarallah93@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/matn_1.3.0_1785443846351_0.5269137962431725"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T20:37:26.158Z","1.3.0":"2026-07-30T20:37:26.587Z","modified":"2026-07-30T20:37:26.798Z"},"maintainers":[{"name":"ajarallah","email":"Ajarallah93@gmail.com"}],"description":"A calm, right-to-left Markdown reader for Arabic: reading themes, embedded Arabic fonts, syntax highlighting, Mermaid diagrams, callouts, wikilinks, search, and live reload. Runs locally in your browser.","homepage":"https://github.com/Ajarallah/matn#readme","keywords":["markdown","arabic","rtl","reader","viewer","preview","md","bidi","عربي","ماركداون"],"repository":{"type":"git","url":"git+https://github.com/Ajarallah/matn.git"},"author":{"name":"Ali Aljarallah"},"bugs":{"url":"https://github.com/Ajarallah/matn/issues"},"license":"MIT","readme":"<div dir=\"rtl\">\n\n# متن · Matn\n\n**قارئ ماركداون للعربية، من اليمين إلى اليسار.**\nسمات للقراءة، خطوط عربية مدمجة، معادلات، مخططات، وتصدير — يعمل في متصفحك دون اتصال.\n\n**[▶ جرّب النسخة الحيّة](https://ajarallah.github.io/matn/)**\n\n**[English →](./README.en.md)**\n\n[![الرخصة: MIT](https://img.shields.io/badge/license-MIT-0f6d63.svg)](./LICENSE)\n[![الإصدار](https://img.shields.io/github/v/release/Ajarallah/matn?color=0f6d63&label=release)](https://github.com/Ajarallah/matn/releases)\n![Node: 18 فأحدث](https://img.shields.io/badge/node-%3E%3D18-0f6d63.svg)\n![بلا تبعيات](https://img.shields.io/badge/runtime%20deps-none-0f6d63.svg)\n\n![متن — السمة الفاتحة](./assets/screenshot-light.png)\n\n---\n\n## لماذا متن\n\nكثير من المحرّرات والطرفيات تعرض ماركداون العربي بشكل سيّئ: لا تدعم الاتجاهين، وتقطّع\nالحروف، وتخلط أسطر العربي والإنجليزي حتى تنكسر، وإذا بدأ عنوان بكلمة إنجليزية انقلب السطر\nكله إلى اليسار. **متن** يعرض ملف `.md` في المتصفح مستندا عربيا صحيحا من اليمين إلى اليسار،\nمع بقاء الكود والإنجليزية داخله من اليسار إلى اليمين، ضمن تجربة قراءة مريحة للنصوص الطويلة.\n\n## المزايا\n\n**القراءة**\n\n- 🪶 **اتجاه عربي صحيح** — يتبع المستند لغته الغالبة، فيبقى الملف العربي من اليمين إلى اليسار حتى لو بدأ سطر أو عنوان بكلمة إنجليزية، وتبقى الكلمات الإنجليزية داخل السطر من اليسار إلى اليمين.\n- 🎨 **أربع سمات** — فاتح، وسيبيا، وداكن، وليلي (أسود كامل)؛ يتبع نظامك تلقائيا.\n- 🔤 **خطوط عربية مدمجة** — النظام، ونوتو نسخ، وأميري، وIBM Plex، وتجوّل (كلها برخصة SIL OFL، مدمجة، وتعمل دون اتصال)، وخط ثمانية (Display و Text) اختياري.\n- 🔧 **تحكّم بالقراءة** — الخط، والحجم، وتباعد الأسطر، وعرض العمود، ومحاذاة النص (من اليمين أو ضبط الأسطر)؛ وكل اختيار يُحفظ.\n- 🌍 **واجهة بلغتين** — بدّل الواجهة كاملة بين العربية والإنجليزية.\n\n**المحتوى**\n\n- 🌈 **تلوين الكود** حسب السمة (highlight.js).\n- 🧮 **معادلات** — `$…$` داخل السطر و `$$…$$` مستقلة، عبر KaTeX ودون اتصال.\n- 📊 **مخططات Mermaid** — داخل النص، وحسب السمة؛ ضع المؤشّر فوقها لتكبيرها.\n- 💬 **صناديق تنبيه GFM** — `> [!NOTE]`، و`[!TIP]`، و`[!WARNING]` … بشكل مميّز لكل نوع.\n- 🔗 **روابط ويكي وملفات عاملة** — `[[صفحة]]` والروابط النسبية والأسماء البديلة، مع معاينة وروابط واردة.\n- ◇ **سلامة المستند** — تقرير محلي للروابط والصور والعناوين المفقودة، دون فحص الشبكة أو مغادرة مجلد القراءة.\n- 📝 **حواشٍ**، و**بطاقة للبيانات الوصفية (YAML)**، وقوائم مهام، وجداول، واقتباسات.\n- 🖼️ **تكبير عند التمرير** — كبّر المخططات والصور عند المؤشّر.\n\n**التنقّل والملفات**\n\n- 🧭 **خريطة مستند مصغّرة** تتبع العنوان الحالي وتفتح قائمة عناوين كاملة باللمس أو لوحة المفاتيح.\n- 🧠 **ذاكرة قراءة** تستعيد الملف والقسم والموضع، مع مفضلة و«أكمل لاحقًا» وتعليقات لا تغيّر Markdown.\n- 🗑️ **نقل آمن إلى سلة النظام** اختياري، مع تحذير Git والروابط الواردة ودون حذف دائم احتياطي.\n- 🗂️ **شجرة ملفات** — افتح مجلدا لتتصفّح أدلّته متداخلة وقابلة للطي.\n- 📖 **وضع الكتاب** — يقرأ `SUMMARY.md` كترتيب فصول مع السابق والتالي والتقدم الإجمالي، دون بناء أو تعديل الملفات.\n- 🔎 **بحث داخل المستند** — اضغط `/` للبحث والتنقّل بين النتائج.\n- ♻️ **تحديث فوري** — حرّر الملف بأي محرّر، فتتحدّث الصفحة عند الحفظ.\n- 🐘 **ملفات كبيرة بلا تجميد** — تُصيّر الملفات الأكبر من 2MB في Worker وتُحمّل تدريجيًا مع بقاء الواجهة مستجيبة.\n- 🖱️ **سحب وإفلات** لأي `.md` على النافذة.\n\n**الإخراج**\n\n- 📤 **تصدير** — PDF، أو HTML مستقل، أو Word‏ (`.docx`)، أو EPUB 3 (ترتيب صفحات من اليمين)، أو ماركداون.\n- 🖨️ **طباعة** بتنسيق نظيف.\n\n**الأساس**\n\n- 📦 **بلا تبعيات تشغيل** — Node فقط مع ملفات مدمجة، يعمل دون اتصال ولا يرسل أي بيانات.\n- 🔒 **محدود النطاق** — يرتبط بـ `127.0.0.1`، ويعرض فقط من المجلد الذي فتحته، ويعزل HTML الخام، ويمنع الروابط غير الآمنة.\n- 📄 **صيغ Markdown الشائعة** — يفتح `.md` و`.markdown` و`.mdown` و`.mkdn` و`.mkd`\n  و`.mdwn` و`.mdtxt` و`.mdtext` و`.rmd` و`.qmd`.\n\n## لقطات\n\n| سيبيا · أميري | داكن · تلوين ومعادلات |\n|---|---|\n| ![سيبيا](./assets/screenshot-sepia.png) | ![داكن](./assets/screenshot-dark.png) |\n\n| لوحة الإعدادات |\n|---|\n| ![الإعدادات](./assets/screenshot-settings.png) |\n\n## التثبيت\n\n```bash\nnpm install -g https://github.com/Ajarallah/matn/archive/refs/heads/main.tar.gz\nmatn README.md\n```\n\n> يحتاج Node.js إصدار 18 فأحدث. لا شيء غيره — بلا تبعيات تشغيل وبلا خطوة بناء.\n\n**تشغيل بلا تثبيت:**\n```bash\nnpx github:Ajarallah/matn README.md\n```\n\n**من المصدر (للتطوير):**\n```bash\ngit clone https://github.com/Ajarallah/matn.git\ncd matn && npm link\n```\n\n<details>\n<summary>لماذا رابط الأرشيف بدل <code>npm i -g Ajarallah/matn</code>؟</summary>\n\nاختصار GitHub يجعل npm يستنسخ المستودع بتاريخه كاملا (~35 ميغابايت) ثم يقلّمه إلى\n٥ ميغابايت. رابط الأرشيف ينزّل اللقطة وحدها. الاختصار يعمل، لكنه أبطأ بأربعة أضعاف.\n\n</details>\n\n**إزالة التثبيت:**\n```bash\nbash \"$(npm root -g)/@ajarallah/matn/scripts/install-macos.sh\" --uninstall   # على macOS\nnpm rm -g @ajarallah/matn\n```\n\n## الاستعمال\n\n```bash\nmatn <file.md>        # فتح ملف واحد\nmatn ./docs           # تصفّح مجلد (شجرة ملفات جانبية)\nmatn                  # فتح المجلد الحالي\ncommand | matn -      # قراءة Markdown من stdin في جلسة مؤقتة\nmatn PLAN.md -p 5000  # منفذ مختار\n```\n\nالخيارات: `-p, --port` · `--host` · `--no-open` · `--editor <executable>` · `--allow-file-actions` · `--stdin-name <name>` · `-h, --help` · `-v, --version`.\n\nيفتح متن المتصفح تلقائيا ويعيد استخدام نسخة قائمة، فـ`matn a.md` ثم `matn b.md` يفتحان في النافذة نفسها.\n\n### داخل المتصفح\n\n- **⚙** لأنماط القراءة المشروحة، واللغة، والسمة، والخط، والحجم، والتباعد، والعرض، والمحاذاة — وكلها محفوظة.\n- **حدّد أي نص مرة واحدة** لتظهر أدوات التمييز، وإضافة الملاحظة، وحفظ المقتطف في المفضلة، ونسخه بصيغة غنية تحافظ على RTL والبنية مع نص احتياطي ورابط المصدر.\n- **مرّر المؤشر فوق خريطة المستند** لرؤية عنوان القسم، وانقر خطه للانتقال إليه، أو افتح زر القائمة لرؤية جميع العناوين.\n- **بدّل بين العرض المصيّر والمصدر والتقسيم** من زر `</>`؛ زر `¶` بجانب العنوان يصل إلى سطر Markdown المقابل.\n- **اسحب** أي `.md` إلى النافذة لفتحه.\n- **حفظ ▾** يصدّر PDF أو HTML أو Word أو EPUB أو ماركداون، و**🖨️** للطباعة.\n- اضغط **/** للبحث. مفاتيح: `+` / `−` للحجم · `g` / `G` للأعلى / الأسفل · `Esc` لإغلاق اللوحة.\n\n## فتح `.md` بنقرة مزدوجة\n\n**macOS** — اجعل متن القارئ الافتراضي لماركداون بخطوة واحدة:\n\n```bash\nbash \"$(npm root -g)/@ajarallah/matn/scripts/install-macos.sh\" --default\n```\n\nومن مستودع مستنسخ: `bash scripts/install-macos.sh --default`.\n\nيبني تطبيق Finder صغيرا، ويسجّل الصيغ العشر كلها، ويطالب بنوع Markdown عبر\nLaunchServices — بلا حاجة إلى Homebrew أو `duti`. وإن تعذّر ذلك أرشدك إلى\n**Get Info ← Open with ← Change All**. وللتراجع: `--uninstall` ينقل التطبيق إلى سلة\nالنظام ويعيد `.md` إلى تطبيقك السابق.\n\n**Linux** — الأمر `bash scripts/install-linux.sh --default` يضيف مدخل `.desktop` ويجعل متن معالج `text/markdown`.\n**Windows** — الأمر `matn file.md` يعمل من أي طرفية؛ واربط `.md` من\n*Open with ← Choose another app* بالإشارة إلى `matn`.\n\n## كيف يعمل\n\nمتن خادم HTTP محلي صغير (`src/server.mjs`، بلا تبعيات). يعرض الماركداون عبر\n[marked](https://github.com/markedjs/marked)، ويعطي كل كتلة نص اتجاه المستند الغالب لضبط\nالاتجاهين، ويلوّن الكود عبر [highlight.js](https://github.com/highlightjs/highlight.js)،\nويعرض المعادلات عبر [KaTeX](https://katex.org) والمخططات عبر [Mermaid](https://mermaid.js.org)\n(كلاهما يُحمّل عند الحاجة)، ويحدّث الصفحة فوريا عبر SSE. الخطوط والمكتبات مدمجة، فيعمل دون\nاتصال ولا يرسل أي بيانات.\n\n## الأمان\n\nيرتبط متن تلقائيا بـ `127.0.0.1`، ولا يعرض ملفات ماركداون والصور المشار إليها إلا من الملف\nأو المجلد الذي فتحته. ويعزل HTML الخام داخل الماركداون، ويمنع الروابط غير الآمنة مثل\n`javascript:`. تجنّب `--host 0.0.0.0` إلا إذا أردت عمدا إتاحة القارئ لأجهزة أخرى على شبكتك.\nراجع [SECURITY.md](./SECURITY.md).\n\n## الرخص والاعتمادات\n\n- الكود: **MIT** — [LICENSE](./LICENSE).\n- الخطوط: **SIL OFL 1.1** — أميري، ونوتو نسخ، وIBM Plex، وتجوّل.\n- المكتبات: [marked](https://github.com/markedjs/marked)‏ (MIT)، و[highlight.js](https://github.com/highlightjs/highlight.js)‏ (BSD-3)، و[KaTeX](https://katex.org)‏ (MIT)، و[Mermaid](https://mermaid.js.org)‏ (MIT)، وmarked-footnote‏ (MIT)، وhtml-docx-js‏ (MIT)، وJSZip‏ (MIT).\n\nالإشعارات الكاملة في [NOTICE](./NOTICE).\n\n## المساهمة\n\nالمسائل وطلبات الدمج مرحّب بها. خارطة الطريق: وضع عرض تقديمي، وسمات وأزواج خطوط أكثر.\nراجع [CHANGELOG](./CHANGELOG.md).\n\n---\n\nصنعه [علي الجار الله](https://github.com/Ajarallah). **متن** — نصّ الكتاب الأساسي.\n\n</div>\n","readmeFilename":"README.md","_rev":"1-7f613f96589f552331945c26e9e34d06"}