ringfairy
؟هذا هو مولد حلقات الويب المكتوب بلغة Rust. إنه مشابه لمولد الموقع الثابت، ولكنه متخصص في حلقات الويب.
على عكس معظم حلقات الويب التي تعتمد على نوع ما من التعليمات البرمجية من جانب الخادم (مثل PHP وJS) لإعادة توجيه الزائرين، يستخدم هذا الأسلوب عمليات إعادة التوجيه بتنسيق HTML.
يسمح النهج الثابت بمتطلبات استضافة أبسط (يمكن استضافتها على Neocities، وصفحات GitHub، وما إلى ذلك) لأنه يلغي الحاجة إلى المعالجة من جانب الخادم.
سيتطلب تحديث حلقة الويب منك تجديد كل شيء. يعد هذا أمرًا سريعًا وبسيطًا، ولا ينبغي القيام به بشكل متكرر. ولكنها خطوة إضافية قد لا تتوفر في الأنظمة التقليدية من جانب الخادم، إلا إذا قمت بتشغيلها تلقائيًا، مثل إجراءات GitHub.
حلقة الويب عبارة عن مجموعة من مواقع الويب المرتبطة ببعضها البعض في حلقة. يحتوي كل موقع على روابط للمواقع السابقة والتالية في الحلقة. إذا أبحرت بعيدًا بما فيه الكفاية، فسوف ينتهي بك الأمر في النهاية إلى حيث بدأت!
كانت حلقات الويب شائعة في الأيام الأولى للإنترنت كوسيلة لأصحاب مواقع الويب للترويج لمحتوى بعضهم البعض وتشجيع مشاركة المجتمع.
هذه أداة لأي شخص لديه موقع ويب شخصي أو مدونة ويرغب في التواصل مع الآخرين. يمكنك استخدامه لتنمية مجتمعك عبر الإنترنت من الصفر!
الأمثل للغاية
الكشف التلقائي عن روابط webring على المواقع
قابلة للتخصيص بالكامل عبر القوالب
يُنشئ ملف OPML مع جميع المواقع التي تحتوي على موجز RSS
اختيار واجهة سطر الأوامر أو ملف التكوين
دعم ملف التكوين عن بعد أيضًا
خيار خلط ورق اللعب
تصغير HTML
ربط معلومات الاتصال بمالك موقع الويب تلقائيًا
يمسك إدخالات مكررة
تسجيل مفصل
حلقات الويب باستخدام ringfairy
(على حد علمي):
Ghostring - مواقع تحت عنوان الرعب
Crafting - لمجتمع System Crafters
Roboring - للكائنات الآلية
إذا قررت إطلاق حلقة الويب الخاصة بك باستخدام هذه الأداة، فأخبرني وسأدرجها هنا! :)
قم بتنزيل إصدار ثنائي أو استنساخ الريبو والبناء من المصدر.
قم بتعديل ملف websites.json
(افتراضيًا) ليشمل تفاصيل مواقع الويب التي تريد تضمينها في حلقة الويب. يجب إضافة كل موقع إلى القائمة.
قم بتعديل ملف config.json
(افتراضيًا) وفقًا لاحتياجاتك.
(اختياري) قم بتخصيص الصفحات عن طريق تعديل القوالب الموجودة في مجلد data/templates
(افتراضيًا). يمكنك أيضًا استخدام الملفات البعيدة كقوالب. راجع قسم "النماذج" أدناه.
(اختياري) أضف أي ملفات إضافية إلى مجلد data/assets
(افتراضيًا). سيتم ببساطة نسخ كل شيء في هذا المجلد إلى دليل الإخراج. هنا يمكنك إضافة إضافات مثل الصور وHTML/CSS وما إلى ذلك.
قم بتشغيل ringfairy
لإنشاء حلقة الويب عن طريق كتابة ملفات HTML تحتوي على عمليات إعادة التوجيه. سيرتبط كل موقع بالموقع التالي/السابق في ملف websites.json
، مما يشكل حلقة الويب الخاصة بك!
قم باستضافة الملفات التي تم إنشاؤها على منصة الاستضافة المفضلة لديك.
تتمتع وسيطات سطر الأوامر بالأولوية على أي إعدادات في ملف التكوين.
-h
, --help
: طباعة التعليمات
-c
, --config
: حدد موقع ملف التكوين الاختياري. يمكن أن يكون بعيدًا؛ على سبيل المثال، رابط HTTP لملف JSON مناسب على Pastebin، وGitHub، وما إلى ذلك.
-l
, --list
: حدد الملف الذي يحتوي على قائمة مواقع الويب. الافتراضي: ./websites.json
-o
, --output
: حدد مجلد الإخراج حيث سيتم حفظ الملفات التي تم إنشاؤها. الافتراضي: ./webring
-a
, --assets
: حدد مجلد الأصول. سيتم نسخ أي ملفات هنا إلى مجلد الإخراج. يتيح لك ذلك تضمين أي ملفات إضافية تريدها، مثل الصور أو صفحات الويب الإضافية، وما إلى ذلك. الافتراضي: ./data/assets
-t
, --templates
: حدد المسار إلى مجلد القالب. استخدم template.html
لإعادة توجيه الصفحات (أي HTML الذي يتكون من حلقة الويب). يمكن إضافة أي صفحات إضافية هنا إذا كنت تريد ملؤها بالمحتوى الذي تم إنشاؤه. الافتراضي: ./data/templates
-u
, --url
: عنوان URL الأساسي لحلقات الويب. شيء مثل "https://example.com".
-n
, --name
: اسم حلقة الويب. شيء من هذا القبيل "Ghosting".
-d
, --description
: وصف مختصر/حول حلقة الويب.
-m
, --maintainer
: يمكن أن يكون المالك/المشرف على حلقة الويب شخصًا أو مؤسسة.
-w
, --website
: رابط موقع الويب الخاص بمالك موقع الويب، وليس عنوان URL الأساسي لحلقات الويب.
--skip-minification
: إخراج الصفحات دون تحسينها أو تعديلها. جرب هذا إذا كنت تريد أن تكون ملفاتك التي تم إنشاؤها قابلة للتحرير يدويًا لاحقًا، أو إذا واجهت أي مشكلات غير متوقعة في الإخراج.
--skip-verification
: يقوم بإنشاء ملفات دون التحقق من المشاكل المحتملة...هذا أمر غير حكيم!
--dry-run
: تشغيل التطبيق دون إخراج أي ملفات
-s
, --shuffle
: يقوم بترتيب ترتيب مواقع الويب بشكل عشوائي أثناء الإنشاء. وهذا أمر داخلي تمامًا ولا يؤثر على قائمة الإدخال الخاصة بمواقع الويب؛ يمكنك خلط نفس حلقة الويب بشكل متكرر دون فقدان التسلسل الأصلي.
-v
, --verbose
: إخراج المعلومات إلى وحدة التحكم. -vv
للوضع المطول للغاية لرؤية المزيد من المعلومات.
-V
, --version
: نسخة مطبوعة
-A
، --audit
: وضع التدقيق. يمسح كل موقع ويب في القائمة، ويتحقق لمعرفة ما إذا كان من الممكن العثور على الروابط التالية/السابقة. وإلا فلن تتم إضافة الموقع إلى حلقة الويب الخاصة بهذا الإصدار. وهذا يعني أنك لست مضطرًا إلى إزالة مواقع الويب غير المتوافقة على الفور؛ لن تظهر المواقع ببساطة حتى يتم العثور على الروابط. إذا كنت تستخدم هذا بدون الوضع المطول ( -v
)، فقد لا ترى نتائج التدقيق. لا تستخدم وضع التدقيق إذا كنت تقوم ببناء حلقة الويب دون الاتصال بالإنترنت، أو إذا كنت تريد أسرع سرعة بناء ممكنة.
-M
, --audit_retries_max
: في وضع التدقيق، الحد الأقصى لعدد مرات محاولة إعادة الاتصال بالموقع. الافتراضي: 2
-D
, --audit_retries_delay
: في وضع التدقيق، قم بالتأخير بالميلي ثانية قبل محاولة إعادة الاتصال بموقع غير مستجيب. الافتراضي: 100
-U
, --client_user_agent
: في وضع التدقيق، سيتم استخدام سلسلة وكيل المستخدم بواسطة مكشطة الويب.
-H
, --client_header
: في وضع التدقيق، سيتم استخدام سلسلة الرأس بواسطة مكشطة الويب.
بشكل افتراضي، يقوم التطبيق بتسجيل رسائل الخطأ فقط. من خلال تمرير -v
/ --verbose
(في سطر الأوامر) أو تعيين "verbose": true
(في config JSON)، يمكنك إخبار التطبيق بإظهار سجلات مستوى التحذير. لإظهار سجلات مستوى المعلومات، قم بتمرير -vv
; لتصحيح الأخطاء، -vvv
.
لحفظ هذه السجلات في ملف، يمكنك إعادة توجيه الإخراج القياسي والخطأ القياسي إلى ملف عند تشغيل التطبيق الخاص بك. على سبيل المثال:
$ ./ringfairy > log.txt 2>&1
توجد القوالب في مجلد ./data/templates
بشكل افتراضي؛ يمكن تحديد هذا المسار باستخدام وسيطة سطر الأوامر --templates
، أو باستخدام path_templates
في ملف التكوين.
تحتوي القوالب على علامات سيتم استبدالها بالمحتوى الذي تم إنشاؤه. يمكنك تخصيص الملفات التي تم إنشاؤها عن طريق إضافة محتوى قبل/بعد العلامات. يتضمن الريبو أمثلة على القوالب الأساسية للبدء.
في مجلد القوالب، يتم استخدام template.html
لإنشاء كل صفحة من صفحات next.html
/ previous.html
، التي تحتوي على عمليات إعادة التوجيه لكل موقع ويب. يتم إدراج العلامة {{ url }}
بواسطة المولد في كل صفحة، مما يؤدي إلى تشغيل حلقة الويب.
بالإضافة إلى template.html
، يمكن أن يحتوي مجلد القوالب على أي قوالب أخرى تريدها.
على سبيل المثال، من الجيد أن تحتوي حلقة الويب على صفحة مركزية مركزية تدرج جميع المواقع. يمكنك وضع هذا على index.html
أو إنشاء صفحة مخصصة مثل list.html
و table.html
وما إلى ذلك. ما عليك سوى استخدام العلامة {{ table_of_sites }}
في القالب، وسيعمل ringfairy
على إنشاء قائمة منسقة بالمواقع الموجودة في حزام الويب.
العلامات التالية قابلة للاستخدام حاليًا في القوالب:
يُنتج {{ table_of_sites }}
جدول HTML منسق يسرد المعلومات الخاصة بجميع المواقع في حلقة الويب.
{{ number_of_sites }}
يعرض الحجم الحالي لحلقات الويب.
يعرض {{ current_time }}
وقت الإنشاء، موضحًا متى تم تحديث الصفحة آخر مرة.
يقوم {{ opml }}
بإدراج المسار النسبي لملف OPML الخاص بالحلقة.
يطبع {{ base_url }}
عنوان URL الرئيسي لحلقات الويب، كما حدده المستخدم.
يعرض {{ ring_name }}
عنوان حلقة الويب.
{{ ring_description }}
يعرض وصف حلقة الويب وفقًا للإعدادات.
{{ ring_owner }}
يعرض اسم مالك حلقة الويب.
يطبع {{ ring_owner_site }}
عنوان URL لموقع مالك حلقة الويب.
{{ featured_site_name }}
يطبع اسم "الموقع المميز" وهو عشوائي.
يطبع {{ featured_site_description }}
وصف الموقع المميز العشوائي.
يطبع {{ featured_site_url }}
عنوان URL للموقع المميز العشوائي.
في الوقت الحالي، تعد {{ url }}
علامة خاصة تعمل فقط في template.html
للروابط التالية/السابقة.
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
المساهمات هي موضع ترحيب! إذا كان لديك أي اقتراحات للتحسينات أو الميزات الجديدة، فلا تتردد في فتح مشكلة أو إرسال طلب سحب.