لا توجد استضافة من جانب الخادم أو وظائف سحابة بدون خادم أو قاعدة بيانات ضرورية. يمكن نشر مواقع سوري الثابتة في Vercel و NetLify والمزيد (عادةً مجانًا) في بضع دقائق.
لا يهتم سوري بإعادة توجيه خادم 3xx
"متفوقة تقنيًا". يريد Suri فقط أن تستخدم هذا المجال أخيرًا ، فأنت تنفق 59 دولارًا في السنة واستعادة روابطك القصيرة من Bitlys و Tinyurls على الويب.
https://surishort.link/gh ⇒ https://github.com/surishortlink/suri
https://surishort.link هو موقع مثال يعرض SURI في العمل. يمكنك التحقق من المستودع للموقع والملف الذي يدير الروابط لمعرفة كيفية عمله.
لدى Suri مستودعات القوالب التي تجعل من السهل البدء. اختر النظام الأساسي الذي تنشره واتبع تعليمات الخطوة بخطوة:
عدم الانتشار في واحدة من تلك المنصات؟ لا شكر على واجب. فيما يلي بعض الخيارات العامة التي تغطي معظم السيناريوهات الأخرى ، سواء كان ذلك مزودًا سحابيًا مختلفًا أو يستضيفه بنفسك:
في قلب SURI ، يوجد ملف links.json
، الموجود في دليل src
، حيث تقوم بإدارة الروابط الخاصة بك. تتضمن جميع مستودعات القوالب هذا الملف المصنوع من بعض الأمثلة:
{
"/" : " https://www.youtube.com/watch?v=CsHiG-43Fzg " ,
"1" : " https://fee.org/articles/the-use-of-knowledge-in-society/ " ,
"gh" : " https://github.com/surishortlink/suri "
}
لا يمكن أن يكون الأمر أكثر بساطة: المفتاح هو مسار "الرابط القصير" الذي يتم إعادة توجيهه ، والقيمة هي عنوان URL المستهدف. يمكن أن تكون المفاتيح قصيرة أو طالما تريد ، باستخدام أي مزيج من الأحرف التي تريدها. /
هو إدخال خاص لإعادة توجيه مسار الجذر.
يشحن Suri مع ملف suri
قابل للتنفيذ يقوم بإنشاء الموقع الثابت من ملف links.json
. الموقع الثابت هو إخراج إلى دليل يسمى build
.
يتم تكوين جميع مستودعات القالب باستخدام برنامج build
يستدعي هذا القابل للتنفيذ ، مما يجعل الأمر الذي تقوم بتشغيله بسيطًا:
npm run build
عند إجراء تغيير في ملف links.json
، ما عليك سوى إعادة تشغيل هذا الأمر لإعادة توحيد الموقع الثابت ، والذي يمكن إعادة نشره بعد ذلك. تم تكوين العديد من المنصات التي تحتوي SURI على مستودعات القالب للقيام بذلك تلقائيًا.
تتم معالجة التكوين من خلال ملف suri.config.json
في دليل الجذر. لا يوجد سوى خيار واحد في هذه المرحلة:
خيار | وصف | يكتب | تقصير |
---|---|---|---|
js | ما إذا كان سيتم إعادة توجيه مع javaScript بدلاً من تحديث <meta> . | منطقية | false |
أخيرًا ، سيتم نسخ أي ملفات في الدليل public
إلى دليل build
دون تعديل عند إنشاء الموقع الثابت. يمكن أن يكون هذا مفيدًا لملفات مثل favicon.ico
أو robots.txt
(كما قال ، يوفر Suri افتراضات معقولة لكليهما).
إذا قمت سابقًا بتخزين/استنساخ هذا المستودع عندما كان في الإصدار من 0.1 إلى 0.5.1 ، ستلاحظ بعض الاختلافات الآن مع الإصدار 1.
الإصدار 1 يحل ثلاث مشكلات رئيسية مع الإصدار 0:
render.yaml
للعرض و app.json
لـ Heroku (من بين أمور أخرى) في مستودعك. يقوم V1 بإصلاح هذا من خلال وجود مستودعات منفصلة لكل منصة ، والتي تتضمن فقط الملفات اللازمة لهذا النظام الأساسي. لذا ، كيف يمكنك الترقية؟ إذا قمت فقط بتحرير ملف links.json
الخاص بك ، فإن الترقية بسيطة:
links.json
.public
الخاص بك ، فقم بنسخها.SURI_JS
إلى 1
، فقم بتغيير js
إلى true
في suri.config.json
. إذا قمت بتحرير أي من الملفات المرتفعة - مثل قالب links.njk
- فمن المحتمل أنك تريد فقط التمسك بـ V0 والمتابعة باستخدام Extense.
هناك بعض التغييرات الأخرى الجديرة بالملاحظة في V1 بعد ذلك:
build
بدلاً من _site
.suri.config.json
بدلاً من متغيرات البيئة.npm run clean
لحذف دليل البناء. تقوم npm run build
بذلك تلقائيًا قبل كل بناء جديد. خلاف ذلك ، يمكنك إضافته يدويًا إذا وجدت أنه مفيد.npm run dev
لبناء ومشاهدة وتقديم الموقع الثابت أثناء التطوير. إنه مبالغة في صفحة HTML الصغيرة التي يولدها سوري.npm run lint
إلى الوبر مع أجمل. يمكنك إضافته يدويًا إذا وجدت أنه مفيد.npm run release
لإصدار إصدار جديد من SURI. يمكنك إضافته يدويًا إذا كنت ترغب في وضع علامة على إصدارات الإصدار من مستودعك.jstayton
على Github إلى مؤسسة surishortlink
جديدة لجميع المستودعات المتعلقة بـ SURI. المتطلب السابق هو إصدار متوافق من Node.js (انظر engines.node
في package.json
).
تثبيت التبعيات مع NPM:
npm install
يتم استخدام وحدة اختبار Node.js المدمجة ووحدة التأكيدات للاختبار.
لتشغيل الاختبارات:
npm test
أثناء التطوير ، يوصى بإجراء الاختبارات تلقائيًا على تغيير الملف:
npm test -- --watch
يتم استخدام JSDOC لتوثيق الرمز.
لإنشاء المستندات كـ HTML إلى دليل docs
(GIT-COSTROD):
npm run docs
أجمل هو الإعداد لفرض نمط رمز ثابت. يوصى بشدة بإضافة تكامل إلى المحرر الذي يتنسيق تلقائيًا على الحفظ.
ESLINT هو الإعداد مع قواعد "الموصى بها" لفرض مستوى من جودة الرمز. يوصى بشدة أيضًا بإضافة تكامل إلى المحرر الذي يتنسيق تلقائيًا على الحفظ.
لتشغيل عبر سطر الأوامر:
npm run lint
عندما يكون فرع development
جاهزًا للإصدار ، حرره! يستخدم لتنظيم عملية الإصدار:
npm run release
بمجرد اكتمال عملية الإصدار ، قم بدمج فرع development
في الفرع main
، والذي يجب أن يعكس دائمًا الإصدار الأخير.