تصبح مستندات واجهة برمجة التطبيقات قديمة عندما يعدّل شخص ما المواصفات وينسى إعادة إنشاء المرجع. لتجنب ذلك، لا تعامل التوثيق كخطوة يدوية: اجعل إنشاءه أمرًا واحدًا، ثم شغّله تلقائيًا ضمن التكامل المستمر (CI) عند كل دمج.
لتشغيل التوثيق من الطرفية مزايا عملية واضحة: الأوامر قابلة للبرمجة والمراجعة في Git، ويمكن لمشغل CI أو وكيل ذكاء اصطناعي تنفيذها دون متصفح أو نقرات يدوية. لا توجد خطوة من نوع: «هل تذكرت الضغط على تصدير؟».
يغطي هذا الدليل مسارين:
- تحويل ملف OpenAPI إلى مرجع HTML مستقل أو Markdown بأمر واحد.
- استخدام Apidog CLI للتصدير من مشروع حي، بحيث يبقى مصدر الحقيقة والمخرجات متزامنين.
للمقارنة بين الأدوات، راجع قائمة أفضل 10 أدوات لتوثيق REST API وأدوات توثيق API المجانية.
للمتابعة، تحتاج إلى ملف OpenAPI 3.x، مثل:
openapi.yaml
أو:
openapi.json
بناء مرجع HTML باستخدام Redocly CLI
تُعد Redocly CLI طريقة مباشرة لتحويل وصف OpenAPI إلى صفحة HTML مستقلة. تستخدم الأداة Redoc وتضمّن الأنماط والسكربتات والمحتوى في ملف واحد يمكن استضافته في أي مكان.
1. ثبّت الأداة
npm install @redocly/cli -g
أو شغّلها عبر npx إذا لم ترغب في تثبيتها عالميًا.
2. أنشئ التوثيق
redocly build-docs openapi.yaml
ينشئ الأمر افتراضيًا ملفًا باسم:
redoc-static.html
لفرض اسم أو مسار محدد للمخرج:
redocly build-docs openapi.yaml --output docs/index.html
متى تستخدمه؟
استخدم Redocly CLI عندما تحتاج إلى:
- مرجع API بصيغة HTML.
- ملف مستقل يمكن استضافته أو مشاركته.
- تدفق بسيط: ملف OpenAPI واحد ← أمر واحد ← ملف HTML واحد.
يدعم هذا المسار Swagger 2.0 وOpenAPI 3.0 وOpenAPI 3.1. لكنه يركز على المرجع الناتج من المواصفات؛ الأدلة الطويلة وصفحات البدء السريع تحتاج إلى إدارة منفصلة.
إنشاء Markdown باستخدام Widdershins
إذا كان موقع التوثيق أو المستودع لديك يعتمد على Markdown، فاستخدم Widdershins. تحوّل الأداة تعريفات OpenAPI وSwagger وAsyncAPI إلى Markdown متوافق مع Slate.
1. ثبّت Widdershins
npm install -g widdershins
2. حوّل المواصفات إلى ملف Markdown
widdershins openapi.yaml -o api.md
إذا حذفت -o، ستطبع الأداة الناتج إلى stdout، ما يسمح بتوجيهه إلى أمر أو ملف آخر:
widdershins openapi.yaml > docs/api.md
3. اضبط علامات تبويب لغات أمثلة الكود
widdershins openapi.yaml \
--language_tabs 'shell:cURL' 'python:Python' \
-o api.md
متى تستخدمه؟
Widdershins مناسب عندما تريد:
- إضافة المرجع إلى مجلد
docs/في المستودع. - تمرير Markdown إلى مولد مواقع ثابتة.
- تخصيص لغة أمثلة الطلبات في المرجع.
إذا كنت تبني تدفق تصدير Markdown أوسع، راجع دليل مولد مستندات API مع تصدير Markdown.
نقطة الضعف المشتركة بين Redocly وWiddershins هي أن كليهما يقرأ ملفًا ثابتًا. إذا كان openapi.yaml قديمًا مقارنةً بالمصدر الذي يحرره فريقك، فسيكون التوثيق قديمًا أيضًا.
التوثيق من مشروع حي باستخدام Apidog CLI
يوفر Apidog مع apidog-cli مسارًا متكاملًا: نقاط النهاية والمخططات والمستندات المكتوبة تعيش في مشروع واحد، ثم تصدّرها واجهة سطر الأوامر عند الطلب.
بهذا الأسلوب، يقرأ التصدير من نفس المشروع الذي يعدله فريقك، بدل الاعتماد على ملف محلي قد لا يكون محدثًا.
1. ثبّت واجهة سطر الأوامر
npm install -g apidog-cli
لإعداد Node وPATH، راجع دليل تثبيت Apidog CLI.
2. سجّل الدخول باستخدام رمز وصول
apidog login --with-token <TOKEN>
يُخزّن الرمز على الجهاز، لذا لن تحتاج إلى تمريره مع كل استدعاء محليًا. في CI، يجب تنفيذ تسجيل الدخول ضمن كل مهمة جديدة.
بعد ذلك، تعمل الأوامر باستخدام معرّف المشروع. قبل تنفيذ أي أمر، استخدم --help للتحقق من العلامات المتاحة في إصدارك:
apidog --help
استيراد مواصفات إلى المشروع
إذا كانت واجهة برمجة التطبيقات لديك موجودة في ملف OpenAPI، استوردها إلى مشروع Apidog:
apidog import --help
apidog import --project <projectId> --format openapi --file ./openapi.json
يدعم apidog import تنسيقات OpenAPI 3.x وSwagger 2.0 وPostman وApidog. بعد الاستيراد، يصبح المشروع هو المصدر الحي الذي تصدّر منه المستندات.
تصدير مستندات قابلة للقراءة
ابدأ بعرض خيارات التصدير المتاحة:
apidog export --help
ثم صدّر توثيق المشروع إلى Markdown:
apidog export --project <projectId> --format markdown --output ./api-docs.md
لإنشاء HTML بدلًا من Markdown:
apidog export --project <projectId> --format html --output ./api-docs.html
ولتصدير مواصفات OpenAPI قابلة للنقل:
apidog export --project <projectId> --format openapi --output ./openapi.json
إذا كان المشروع يحتوي على عدة خدمات، راجع خرج apidog export --help لمعرفة علامات تحديد النطاق والمعرّفات المتاحة في إصدار CLI لديك.
إدارة الأدلة المكتوبة
المرجع الناتج من المخطط ليس كل التوثيق. تحتاج عادةً إلى أدلة بدء، وتعليمات مصادقة، وملاحظات ترحيل. في Apidog، تُدار هذه المستندات كوثائق Markdown ضمن شجرة مستندات المشروع.
ابدأ بعرض الأوامر والمستندات الحالية:
apidog doc --help
apidog doc list --project <projectId>
عند تنفيذ أوامر تعتمد على JSON، اقرأ الناتج واتبع agentHints.nextSteps إن ظهر. للتحقق من مخططات JSON قبل الإرسال، راجع:
apidog cli-schema --help
هذا يساعدك على اكتشاف الحقول الناقصة محليًا قبل فشل الطلب في CI أو أثناء التنفيذ.
نشر موقع توثيق
لإدارة التوثيق المنشور من الطرفية، راجع أوامر الموقع والروابط القابلة للمشاركة:
apidog docs-site --help
apidog shared-doc --help
الفرق بين الأوامر مهم:
-
doc: مستند Markdown داخل شجرة مستندات المشروع. -
docs-site: إدارة موقع التوثيق العام المستضاف. -
shared-doc: إدارة روابط التوثيق القابلة للمشاركة.
استخدم docs-site عندما تريد إدارة موقع توثيق عام من سطر الأوامر، واستخدم shared-doc عندما تحتاج إلى رابط لمشاركته مع شريك أو فريق.
ربط إنشاء التوثيق بـ CI
بعد نجاح الأوامر محليًا، أضفها إلى مسار العمل. المثال التالي يعيد إنشاء مرجع Markdown باستخدام GitHub Actions:
- name: Regenerate API docs
run: |
npm install -g apidog-cli
apidog login --with-token ${{ secrets.APIDOG_TOKEN }}
apidog export --project ${{ secrets.APIDOG_PROJECT }} --format markdown --output ./docs/api-docs.md
يمكنك تطبيق الفكرة نفسها مع Redocly:
- name: Build HTML API docs
run: |
npm install -g @redocly/cli
redocly build-docs openapi.yaml --output docs/index.html
أو مع Widdershins:
- name: Generate Markdown API docs
run: |
npm install -g widdershins
widdershins openapi.yaml -o docs/api.md
بهذا تتحول المستندات من مهمة يدوية إلى ناتج بناء قابل لإعادة الإنشاء عند كل تغيير.
للتفاصيل، راجع الدليل الكامل لـ Apidog CLI.
عقبات شائعة
معرّف المشروع خاطئ أو مفقود
تحتاج أوامر Apidog مثل export وdoc وdocs-site إلى:
--project <projectId>
استخدم معرّف المشروع الفعلي من إعدادات المشروع، وليس الاسم المقروء بشريًا.
الرمز غير متاح في CI
يخزّن apidog login الرمز على الجهاز الحالي فقط. كل مشغل CI جديد يبدأ دون رمز مخزن، لذلك نفّذ تسجيل الدخول في المهمة نفسها قبل التصدير:
apidog login --with-token ${{ secrets.APIDOG_TOKEN }}
احفظ الرمز كـ secret، ولا تضعه في ملف workflow.
ملف OpenAPI قديم
يقرأ Redocly وWiddershins الملف الذي تمرره إليهما. إذا كان openapi.yaml قديمًا، ستكون المستندات قديمة. لتجنب هذا الانحراف، صدّر من مشروع حي عند استخدام Apidog CLI.
التخمين في العلامات
قد تختلف علامات export وdoc وdocs-site وshared-doc بين إصدارات CLI. لا تعتمد على علامة تتذكرها جزئيًا؛ تحقق دائمًا من المساعدة:
apidog <command> --help
الخلاصة
اختر الأداة وفقًا للمخرج الذي تحتاجه:
- استخدم Redocly CLI لمرجع HTML مستقل.
- استخدم Widdershins لمرجع Markdown يمكن دمجه في موقع توثيق أو مستودع.
- استخدم Apidog CLI عندما تريد تصدير المرجع والأدلة المكتوبة وإدارة موقع توثيق من مشروع حي واحد.
جميع الأوامر قابلة للبرمجة، لذا أضفها إلى CI مرة واحدة واجعل التوثيق يُعاد إنشاؤه تلقائيًا مع كل تغيير.
نزّل Apidog لتجربة واجهة سطر الأوامر، أو تعرّف أكثر على كيفية عمل Apidog ضمن سير عمل يعتمد على API أولًا.
Top comments (0)