عن المشروع

nfuwari هو مستودع المصدر لمدونة Lucius7 (blog.lucius7.cn)، وهو موقع شخصي مبني على قالب Fuwari لـ Astro ويتم نشره على GitHub Pages. يتم الفصل بين المحتوى الصيني والإنجليزي؛ حيث توجد المنشورات تحت src/content/posts/zh/ و src/content/posts/en/، ولكل منها قوائمها الخاصة، وإحصائيات الفئات والوسوم، والتنقل بين المنشورات، وخلاصة RSS، وفهرس البحث، ويقوم رابط URL الرئيسي بإعادة التوجيه إلى /zh/. توجد نصوص الواجهة في src/i18n/، وصفحات "عني" لكل لغة تحت src/content/spec/، ويمكن مطابقة الترجمات عبر مسارات نسبية متطابقة أو ربطها بواسطة translationKey، مع عودة مبدل اللغة إلى الصفحة الرئيسية للغة المستهدفة في حال عدم التوفر. تعتمد الكتابة على Markdown. يقوم سكربت توليد (pnpm new-post zh/name أو pnpm new-post en/name) بإنشاء مسودة مع إعدادات frontmatter افتراضية تشمل lang: zh_CN أو lang: en؛ وتكون المنشورات افتراضياً draft: true وتظهر فقط في التطوير المحلي، حيث تستبعد عمليات بناء الإنتاج المسودات. يتم تعريف حقول frontmatter والتحقق منها في src/content/config.ts. يتم دعم الرياضيات من خلال remark-math و rehype-katex، مع توفير الأنماط والخطوط بواسطة الموقع. يحصل القراء على سمات فاتحة وداكنة، وفئات، ووسوم، وبحث Pagefind، ومخرجات RSS وخريطة الموقع. يتم تكوين هوية الموقع، ولون السمة، والملف الشخصي، والتنقل، وروابط التواصل الاجتماعي، وترخيص المنشورات في src/config.ts، بينما يمكن تكوين صورة البانر، والصورة الرمزية (نقطة نهاية avatar لـ Tencent QQ)، وأيقونة الموقع، ورابط التسجيل في التذييل هناك أو من خلال public/ و src/assets/. توجد ميزتان اختياريتان في لوحة التحكم تقرآن من API العام لـ OJFlare الخاص بالمؤلف: أداة جانبية تعرض أحدث ثلاثة تقديمات مقبولة من Codeforces/AtCoder، وتقويم مساهمات AC في صفحات "عني" يقوم بإزالة التكرار في السجل المقبول حسب problemId، ويستخدم تواريخ Asia/Taipei (UTC+8)، ويوفر فلاتر للسنة والمنصة. تشترك الميزتان في حلقة استطلاع واحدة، ويتم التحديث كل خمس دقائق أثناء ظهور الصفحة، مع الاحتفاظ بالسجلات المحملة مسبقاً في حال فشل التحديث، ويمكن تعطيلهما في الإعدادات؛ ولا يعتمد بناء المدونة على إمكانية الوصول إلى API. تشمل الأدوات pnpm dev لمعاينة تشمل المسودات، و pnpm lint، و pnpm check للتحقق من Astro/Svelte/TypeScript، و pnpm build (الذي ينتج أيضاً فهرس Pagefind)، و pnpm preview للموقع المبني. تختبر سكربتات الاختبار توجيه اللغة، وأداة نشاط MacFlare، وتحليل OJFlare دون الاتصال بالخدمات الحية. تقوم GitHub Actions بتشغيل فحوصات الأنماط، وفحوصات الأنواع، والبناء والنشر عند التحديثات على main، والنشر على GitHub Pages، مع نطاق مخصص يتم تقديمه عبر Alibaba Cloud ESA ومسجل في ملف CNAME. يقوم Dependabot بفحص npm و GitHub Actions أسبوعياً. توجد أدلة الكتابة، والمحتوى ثنائي اللغة، و LaTeX، والنشر، ومراجعة التبعيات تحت docs/، ويحتفظ كود المشروع بترخيص MIT والإسناد للمصدر الأصلي.