Quran Hub — مرجع المزوّد
العربية · English
- المعرّف:
quran_hub· ملف المُحوّل:src/adapters/quran-hub.ts - الصفحة الرئيسية: https://quranhub.app
- المحتوى: نصّ · الاعتماد: لا شيء · يحتاج وسيطًا: نعم (CORS)
ما هذا المزوّد
واجهةٌ تعرض بياناتٍ صرفيّة غنية (ملايين الوسوم لكلمات القرآن). نستعمل منها النصّ، وبنيتُها متوافقةٌ مع Al-Quran Cloud.
نقاط النهاية المستعملة
الرابط الأساس: https://api.quranhub.com/v1
- النصّ (آية):
GET /ayah/{surah}:{ayah}
بنية الاستجابة الخام
json
{
"data": {
"number": 1,
"text": "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ",
"numberInSurah": 1,
"juz": 1,
"surah": { "number": 1, "name": "الفاتحة" }
}
}التحويل إلى البنية الموحّدة (والسبب)
النصّ → UnifiedVerse:
| الحقل الموحّد | المصدر الخام | ملاحظة |
|---|---|---|
key | `${data.surah.number}:${data.numberInSurah}` | مفتاح سورة:آية |
id | data.number | رقم الآية العامّ |
text | data.text | نصّ الآية |
source | "Quran Hub" | ثابت |
meta.juz / meta.surah | data.juz / data.surah.name | إضافات |
البنية مطابقةٌ لِـ Al-Quran Cloud، فالتحويل واحد.
الاعتماد
لا يلزم اعتماد. لكنّ نداءها من المتصفّح يتطلّب وسيطًا لتجاوز قيود CORS؛ لذا يضع المُحوّل useProxy: true، فيغلّف العميلُ الرابطَ بالوسيط المُهيّأ (options.proxy، وله وسيطٌ عامّ افتراضيّ). في Node لا يلزم الوسيط عادةً، ويمكن تعطيله بـ proxy: false.
حدود المعدّل والخصوصيات
توثيقُ المعدّل غير معلن؛ توخَّ الاعتدال. أبرز ميزتها البيانات الصرفيّة، ولا نستعملها هنا.
إبقاء هذه الصفحة محدّثة
قبل التعديل، راجِع الواجهة الحيّة وحدِّث العيّنة في test/fixtures/quran_hub/. فحصُ الانحراف عبر pnpm test:live.