Repository navigation
Development Setup ar
English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt
تساعدك هذه الصفحة على تشغيل نسخة عمل من docxi، وتشرح الاختبارات والمستندات النموذجية وإعداد CI.
git clone https://github.com/hammad417/docxi.git
cd docxi
bundle install
bundle exec rake testيصلح أي إصدار من Ruby بدءًا من 2.5 للتطوير. اعتماديات التطوير هي minitest وrake.
| الأمر | ما يفعله |
|---|---|
bundle exec rake test |
يشغّل مجموعة الاختبارات (المهمة الافتراضية) |
bundle exec rake samples |
يكتب المستندات النموذجية في tmp/samples/*.docx لفتحها في Word أو LibreOffice أو Google Docs |
bundle exec rake golden |
يعيد كتابة test/golden من الشيفرة الحالية. استخدمه فقط بعد تغيير مقصود في المخرجات |
bundle exec rake build |
يبني الحزمة في pkg/
|
يحتوي المجلد gemfiles/ على ملف Gemfile لكل إصدار من Rails، إضافة إلى بعض الملفات لإصدارات أقدم من rubyzip وnokogiri:
BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile bundle install
BUNDLE_GEMFILE=gemfiles/rails_8.1.gemfile DOCXI_WITH_RAILS=1 bundle exec rake testيحمّل DOCXI_WITH_RAILS=1 إطار العمل كاملًا قبل الاختبارات، ويقارن أيضًا قواعد blank? في docxi بقواعد ActiveSupport.
| الملف | ما يتحقق منه |
|---|---|
test/test_golden_output.rb |
كل جزء من المستندين النموذجيين يطابق ما ولّده الإصدار 0.0.6 |
test/test_package.rb |
سلامة بنية XML، وإشارة العلاقات إلى أجزاء موجودة، ووجود نوع محتوى لكل جزء، وعدم وجود سجلات Zip64 |
test/test_media.rb |
الصور من المسارات وكائنات IO وعناوين URL، وأن السلسلة التي تبدأ بـ | لا تُنفَّذ أبدًا كأمر |
test/test_fixed_features.rb |
الدوال tab وframe وأرقام الصفحات في رؤوس الصفحات |
test/test_util.rb |
اتباع Docxi::Util.blank? لقواعد ActiveSupport |
test/test_rails_independence.rb |
عمل docxi دون ActiveSupport |
test/test_warnings.rb |
عدم صدور أي تحذيرات إهمال (deprecation) من lib/ أثناء التوليد |
توجد المستندات النموذجية في test/support/sample_documents.rb، ويقرأ test/support/package.rb ملف .docx مباشرة من بنى zip الخاصة به.
يعمل .github/workflows/ci.yml مع كل دفع إلى master ومع كل طلب سحب، ويغطي:
- إصدارات Ruby 2.5 و2.6 و4.0 دون Rails
- إصدارات Rails 5.2 (Ruby 2.5) و6.0 (2.7) و6.1 (3.0) و7.0 (3.1) و7.1 (3.2) و7.2 (3.3) و8.0 (3.4) و8.1 (4.0)
- الفرع
mainمن Rails، ويُسمح له بالفشل - مكتبة rubyzip 1.3 و2.4، ومكتبة nokogiri 1.11
- مهمة تحوّل المستندات النموذجية إلى PDF باستخدام LibreOffice
الإصدارات مشروحة في صفحة النشر.
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages