Skip to content

GalaxyRuler/arabic-web-development

Repository files navigation

نسيج (Naseej)

نسيج هو مترجم مصدر-إلى-مصدر لكتابة واجهات الويب بمفردات عربية ثم إصدار HTML5 وCSS وJavaScript قياسية يفهمها المتصفح مباشرة.

الاسم التقني للحزمة هو arabic-web-transpiler، والحزمة البرمجية هي arweb، وأمر الطرفية هو arhtml. هذه الأسماء تبقى مستقرة للمطورين، بينما الاسم الذي يظهر للمستخدم العربي هو نسيج (Naseej).

معاينة GIF تعرض كتابة ملف arhtml عربي ثم تحويله إلى HTML قياسي

لماذا نسيج؟

نسيج موجه للمبرمج العربي الذي يريد تجربة تأليف عربية دون اختراع منصة ويب جديدة. الناتج ليس صيغة خاصة؛ هو ملفات ويب قياسية يمكن فتحها في المتصفح أو تمريرها إلى أدوات البناء المعتادة.

عقد الخرج ثابت:

  • يبدأ ملف HTML الناتج بـ <!doctype html>.
  • يحمل جذر الصفحة dir="rtl".
  • يحمل جذر الصفحة lang="ar".
  • تبقى النصوص العربية الطبيعية كما كتبها المؤلف.
  • تتحول أسماء الوسوم والسمات ومفردات CSS وJavaScript حسب القاموس المختار.

مثال مصدر عربي:

<صفحة>
  <رأس>
    <عنوان>مرحبا من نسيج</عنوان>
  </رأس>
  <جسم>
    <قسم>
      <عنوان_١>واجهة عربية المصدر</عنوان_١>
      <فقرة>المتصفح يستقبل HTML قياسيا.</فقرة>
    </قسم>
  </جسم>
</صفحة>

البدء السريع

ثبّت المشروع محليا من المصدر:

git clone https://github.com/GalaxyRuler/arabic-web-development.git
cd arabic-web-development
python -m pip install -e ".[dev]"

حوّل ملفا عربيا إلى HTML:

python -m arweb examples/static.arhtml -o examples/static.html

استخدم قاموسا أحدث عند الحاجة إلى مفردات أوسع:

python -m arweb examples/production-dashboard.arhtml -o examples/production-dashboard.html --dictionary ar-web-v1.22

اعرض الإصدار:

python -m arweb --version

يمكن أيضا استخدام أمر الطرفية المثبت:

arhtml examples/static.arhtml -o examples/static.html

استخدام Python

from arweb import transpile

html = transpile("<قسم><فقرة>مرحبا</فقرة></قسم>")

ما الذي يدعمه؟

  • وسوم HTML العربية وبنية الصفحة.
  • السمات وقيم السمات الشائعة.
  • مفردات ARIA لإتاحة الوصول.
  • SVG وMathML للرسوم والصيغ.
  • CSS داخل <نمط>.
  • JavaScript داخل السياقات المدعومة مثل معالجات الأحداث.
  • مسارات TypeScript وJSX وTSX العربية عبر القواميس الحديثة.

القواميس هي مصدر الحقيقة للمفردات. القاموس الأساسي ar-web-v1.json مجمد، وأي توسع جديد يضاف عبر قاموس لاحق مثل ar-web-v1.31.json بدلا من تعديل الأساس.

هيكل المشروع

المسار الدور
arweb/ كود الحزمة والمترجم وواجهة CLI.
dictionaries/ قواميس المفردات المصدرية ومصفوفة التغطية.
arweb/dictionaries/ نسخ القواميس المضمنة داخل الحزمة.
examples/ أمثلة .arhtml ومخرجات .html القابلة للتشغيل.
docs/ أدلة المستخدم، القواميس المولدة، وخطط التغطية.
tests/ اختبارات القواميس، المترجم، CLI، والوثائق.

الخصوصية

نسيج أداة محلية: يقرأ ملفات المصدر التي تمررها له ويكتب ملفات الخرج التي تطلبها. لا توجد تبعيات تشغيل خارجية في pyproject.toml، ولا توجد آلية telemetry أو analytics داخل الحزمة.

البيانات التي تكتبها داخل ملفات .arhtml أو داخل JavaScript/CSS القياسي تبقى جزءا من مشروعك أنت. راجع الخرج قبل نشره كما تراجع أي صفحة ويب عادية.

الترخيص

نسيج منشور تحت ترخيص MIT. يمكنك استخدامه ونسخه وتعديله ونشره وتوزيعه وإعادة ترخيصه وبيعه، مع إبقاء إشعار الترخيص وحقوق النشر في النسخ أو الأجزاء الجوهرية من المشروع.

الوثائق المهمة

للمساهمة:

أوامر التحقق

نفذ فحص الصحة الكامل:

python scripts/project_health.py

نفذ الاختبارات مباشرة:

python -m pytest -q

تحقق من الملفات المولدة:

python scripts/generate_dictionary_docs.py --check
python scripts/generate_cli_docs.py --check
python scripts/generate_examples_index.py --check

تحقق من حالة المشروع وجاهزية الإصدار:

python scripts/check_project_status.py
python scripts/check_release.py

قواعد المساهمة السريعة

  • لا تعدل dictionaries/ar-web-v1.json إلا إذا كان التغيير صراحة عن اللقطة المجمدة.
  • أضف المفردات الجديدة في قاموس overlay أحدث يستخدم extends.
  • إذا أضفت مثالا .arhtml قابلا للتشغيل، أضف ملف .html الناتج معه.
  • حافظ على الخرج القياسي للمتصفح؛ نسيج ليس متصفحا وليس إطار JavaScript.
  • لا تضف ملفات .env* أو مفاتيح أو مسارات جهاز محلي إلى المستودع العام.

الاسم

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

About

نسيج (Naseej): مترجم ويب عربي يحول .arhtml إلى HTML وCSS وJavaScript قياسية

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages