نسيج هو مترجم مصدر-إلى-مصدر لكتابة واجهات الويب بمفردات عربية ثم إصدار HTML5 وCSS وJavaScript قياسية يفهمها المتصفح مباشرة.
الاسم التقني للحزمة هو arabic-web-transpiler، والحزمة البرمجية هي arweb،
وأمر الطرفية هو arhtml. هذه الأسماء تبقى مستقرة للمطورين، بينما الاسم
الذي يظهر للمستخدم العربي هو نسيج (Naseej).
نسيج موجه للمبرمج العربي الذي يريد تجربة تأليف عربية دون اختراع منصة ويب جديدة. الناتج ليس صيغة خاصة؛ هو ملفات ويب قياسية يمكن فتحها في المتصفح أو تمريرها إلى أدوات البناء المعتادة.
عقد الخرج ثابت:
- يبدأ ملف 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.htmlfrom 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. يمكنك استخدامه ونسخه وتعديله ونشره وتوزيعه وإعادة ترخيصه وبيعه، مع إبقاء إشعار الترخيص وحقوق النشر في النسخ أو الأجزاء الجوهرية من المشروع.
- الدرس العملي: docs/TUTORIAL.md
- مرجع الأمر
arhtml: docs/CLI.md - أمثلة قابلة للتشغيل: docs/EXAMPLES.md
- عرض المنتج الجاهز: docs/PRODUCT_DEMO.md
- مسار الإنتاج العربي: docs/PRODUCTION_ECOSYSTEM.md
- التوافق وما يترجم وما لا يترجم: docs/COMPATIBILITY.md
- تجهيز مشروع حقيقي: docs/TOOLCHAIN.md
- تغطية المعايير والقواميس: docs/STANDARDS_COVERAGE_ROADMAP.md
- مراجع القواميس المولدة: docs/dictionaries/README.md
- مراجعة الخصوصية قبل النشر العام: docs/PUBLICATION_PRIVACY_REVIEW.md
للمساهمة:
- دليل المساهمة: CONTRIBUTING.md
- قائمة توسيع القاموس: docs/DICTIONARY_EXPANSION_CHECKLIST.md
- قائمة مراجعة الإصدار: docs/RELEASE_REVIEW_CHECKLIST.md
نفذ فحص الصحة الكامل:
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. الاسم يعبر عن تحويل مفردات عربية متفرقة إلى صفحة ويب مكتملة، كما ينسج الخيط في قماش واحد.
