تخط إلى المحتوى
星罗
بحث
تغيير اللغة
رجوع

البدء

1 دقيقة قراءة تعديل على GitHub

يساعدك هذا الدليل على بدء استخدام Xingluo للتطوير المحلي وبنيات الإنتاج من الصفر.

المتطلبات

التبعيةالحد الأدنى للإصدارملاحظات
Node.js22.12.0انظر engines.node في package.json
pnpm10.xمدير الحزم (يستخدم المشروع pnpm workspace)

نصيحة: إدارة إصدارات Node باستخدام fnm أو nvm.

التثبيت

بعد استنساخ المستودع، قم بتثبيت التبعيات:

bash
pnpm install

بمجرد تثبيت التبعيات، يتم استبعاد المشاريع المرجعية تحت references/ تلقائيًا من تجميع TypeScript والبناء (انظر exclude في tsconfig.json).

التطوير المحلي

ابدأ خادم التطوير (الافتراضي http://localhost:4321/):

bash
pnpm dev

في وضع التطوير:

  • المسودات والمقالات المجدولة كلها مرئية (للمعاينة)؛ يتم تصفيتها فقط أثناء بناءات الإنتاج
  • تغييرات مجموعة المحتوى تؤدي إلى إعادة تحميل فوري
  • سلوكيات جانب العميل (تبديل السمة، View Transitions، إلخ.) تطابق الإنتاج

مزامنة الأنواع

بعد تعديل مخططات أو أنواع مجموعات المحتوى، قم بتشغيل المزامنة لتحديث .astro/types.d.ts:

bash
pnpm sync

البناء

يتكون بناء الإنتاج من ثلاث خطوات (انظر البرنامج النصي build في package.json):

bash
pnpm build
  1. astro check: فحص أنواع TypeScript وقوالب Astro؛ أي خطأ يوقف البناء
  2. astro build: يُنشئ الموقع بأكمله بشكل ثابت في dist/ (بما في ذلك صور OG الديناميكية، RSS، خريطة الموقع، robots.txt)
  3. node scripts/generateSearchIndex.mjs: يمسح dist/ لإنشاء فهرس البحث للنص الكامل في dist/search/

ملاحظة: يتم إنشاء فهرس البحث بواسطة سكريبت Node بعد البناء.

معاينة البناء

معاينة مخرجات البناء في dist/ محليًا:

bash
pnpm preview

جودة الكود

الأمرالغرض
pnpm formatتنسيق جميع الكود باستخدام Prettier (بما في ذلك Astro و Tailwind)
pnpm format:checkالتحقق من الامتثال للتنسيق (يستخدم في CI)
pnpm lintفحوصات ESLint (بما في ذلك eslint-plugin-astro)

الخطوات التالية


مقالات ذات صلة

  • النشر

    2 دقيقة قراءة

    دليل نشر Xingluo ويغطي منصات الاستضافة الثابتة (Netlify/Vercel/GitHub Pages) والاستضافة الذاتية Nginx و Docker ومتغيرات البيئة.

  • البحث

    1 دقيقة قراءة

    دليل البحث في Xingluo ويغطي دمج البحث النصي الكامل Flexsearch وتوليد الفهرس وواجهة المستخدم والبحث متعدد اللغات والأداء.