npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ajarallah/matn

v1.3.0

Published

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.

Downloads

64

Readme

متن · Matn

قارئ ماركداون للعربية، من اليمين إلى اليسار. سمات للقراءة، خطوط عربية مدمجة، معادلات، مخططات، وتصدير — يعمل في متصفحك دون اتصال.

▶ جرّب النسخة الحيّة

English →

الرخصة: MIT الإصدار Node: 18 فأحدث بلا تبعيات

متن — السمة الفاتحة


لماذا متن

كثير من المحرّرات والطرفيات تعرض ماركداون العربي بشكل سيّئ: لا تدعم الاتجاهين، وتقطّع الحروف، وتخلط أسطر العربي والإنجليزي حتى تنكسر، وإذا بدأ عنوان بكلمة إنجليزية انقلب السطر كله إلى اليسار. متن يعرض ملف .md في المتصفح مستندا عربيا صحيحا من اليمين إلى اليسار، مع بقاء الكود والإنجليزية داخله من اليسار إلى اليمين، ضمن تجربة قراءة مريحة للنصوص الطويلة.

المزايا

القراءة

  • 🪶 اتجاه عربي صحيح — يتبع المستند لغته الغالبة، فيبقى الملف العربي من اليمين إلى اليسار حتى لو بدأ سطر أو عنوان بكلمة إنجليزية، وتبقى الكلمات الإنجليزية داخل السطر من اليسار إلى اليمين.
  • 🎨 أربع سمات — فاتح، وسيبيا، وداكن، وليلي (أسود كامل)؛ يتبع نظامك تلقائيا.
  • 🔤 خطوط عربية مدمجة — النظام، ونوتو نسخ، وأميري، وIBM Plex، وتجوّل (كلها برخصة SIL OFL، مدمجة، وتعمل دون اتصال)، وخط ثمانية (Display و Text) اختياري.
  • 🔧 تحكّم بالقراءة — الخط، والحجم، وتباعد الأسطر، وعرض العمود، ومحاذاة النص (من اليمين أو ضبط الأسطر)؛ وكل اختيار يُحفظ.
  • 🌍 واجهة بلغتين — بدّل الواجهة كاملة بين العربية والإنجليزية.

المحتوى

  • 🌈 تلوين الكود حسب السمة (highlight.js).
  • 🧮 معادلات$…$ داخل السطر و $$…$$ مستقلة، عبر KaTeX ودون اتصال.
  • 📊 مخططات Mermaid — داخل النص، وحسب السمة؛ ضع المؤشّر فوقها لتكبيرها.
  • 💬 صناديق تنبيه GFM> [!NOTE]، و[!TIP]، و[!WARNING] … بشكل مميّز لكل نوع.
  • 🔗 روابط ويكي وملفات عاملة[[صفحة]] والروابط النسبية والأسماء البديلة، مع معاينة وروابط واردة.
  • سلامة المستند — تقرير محلي للروابط والصور والعناوين المفقودة، دون فحص الشبكة أو مغادرة مجلد القراءة.
  • 📝 حواشٍ، وبطاقة للبيانات الوصفية (YAML)، وقوائم مهام، وجداول، واقتباسات.
  • 🖼️ تكبير عند التمرير — كبّر المخططات والصور عند المؤشّر.

التنقّل والملفات

  • 🧭 خريطة مستند مصغّرة تتبع العنوان الحالي وتفتح قائمة عناوين كاملة باللمس أو لوحة المفاتيح.
  • 🧠 ذاكرة قراءة تستعيد الملف والقسم والموضع، مع مفضلة و«أكمل لاحقًا» وتعليقات لا تغيّر Markdown.
  • 🗑️ نقل آمن إلى سلة النظام اختياري، مع تحذير Git والروابط الواردة ودون حذف دائم احتياطي.
  • 🗂️ شجرة ملفات — افتح مجلدا لتتصفّح أدلّته متداخلة وقابلة للطي.
  • 📖 وضع الكتاب — يقرأ SUMMARY.md كترتيب فصول مع السابق والتالي والتقدم الإجمالي، دون بناء أو تعديل الملفات.
  • 🔎 بحث داخل المستند — اضغط / للبحث والتنقّل بين النتائج.
  • ♻️ تحديث فوري — حرّر الملف بأي محرّر، فتتحدّث الصفحة عند الحفظ.
  • 🐘 ملفات كبيرة بلا تجميد — تُصيّر الملفات الأكبر من 2MB في Worker وتُحمّل تدريجيًا مع بقاء الواجهة مستجيبة.
  • 🖱️ سحب وإفلات لأي .md على النافذة.

الإخراج

  • 📤 تصدير — PDF، أو HTML مستقل، أو Word‏ (.docx)، أو EPUB 3 (ترتيب صفحات من اليمين)، أو ماركداون.
  • 🖨️ طباعة بتنسيق نظيف.

الأساس

  • 📦 بلا تبعيات تشغيل — Node فقط مع ملفات مدمجة، يعمل دون اتصال ولا يرسل أي بيانات.
  • 🔒 محدود النطاق — يرتبط بـ 127.0.0.1، ويعرض فقط من المجلد الذي فتحته، ويعزل HTML الخام، ويمنع الروابط غير الآمنة.
  • 📄 صيغ Markdown الشائعة — يفتح .md و.markdown و.mdown و.mkdn و.mkd و.mdwn و.mdtxt و.mdtext و.rmd و.qmd.

لقطات

| سيبيا · أميري | داكن · تلوين ومعادلات | |---|---| | سيبيا | داكن |

| لوحة الإعدادات | |---| | الإعدادات |

التثبيت

npm install -g https://github.com/Ajarallah/matn/archive/refs/heads/main.tar.gz
matn README.md

يحتاج Node.js إصدار 18 فأحدث. لا شيء غيره — بلا تبعيات تشغيل وبلا خطوة بناء.

تشغيل بلا تثبيت:

npx github:Ajarallah/matn README.md

من المصدر (للتطوير):

git clone https://github.com/Ajarallah/matn.git
cd matn && npm link

اختصار GitHub يجعل npm يستنسخ المستودع بتاريخه كاملا (~35 ميغابايت) ثم يقلّمه إلى ٥ ميغابايت. رابط الأرشيف ينزّل اللقطة وحدها. الاختصار يعمل، لكنه أبطأ بأربعة أضعاف.

إزالة التثبيت:

bash "$(npm root -g)/@ajarallah/matn/scripts/install-macos.sh" --uninstall   # على macOS
npm rm -g @ajarallah/matn

الاستعمال

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 أو ماركداون، و🖨️ للطباعة.
  • اضغط / للبحث. مفاتيح: + / للحجم · g / G للأعلى / الأسفل · Esc لإغلاق اللوحة.

فتح .md بنقرة مزدوجة

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. الخطوط والمكتبات مدمجة، فيعمل دون اتصال ولا يرسل أي بيانات.

الأمان

يرتبط متن تلقائيا بـ 127.0.0.1، ولا يعرض ملفات ماركداون والصور المشار إليها إلا من الملف أو المجلد الذي فتحته. ويعزل HTML الخام داخل الماركداون، ويمنع الروابط غير الآمنة مثل javascript:. تجنّب --host 0.0.0.0 إلا إذا أردت عمدا إتاحة القارئ لأجهزة أخرى على شبكتك. راجع SECURITY.md.

الرخص والاعتمادات

  • الكود: MITLICENSE.
  • الخطوط: 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.

المساهمة

المسائل وطلبات الدمج مرحّب بها. خارطة الطريق: وضع عرض تقديمي، وسمات وأزواج خطوط أكثر. راجع CHANGELOG.


صنعه علي الجار الله. متن — نصّ الكتاب الأساسي.