الحد الأدنى القابل للتعديل لعدد الصور في شبكات الصور التلقائية
واجهتُ قيداً في ميزة شبكة الصور التلقائية.
في الوقت الحالي، يبدو أن سلوك الشبكة التلقائية يتحكم فيه إعداد الموقع الخاص بالصور ذات الشبكة التلقائية، لكن الحد الفعلي الذي يتم عنده إدراج [grid]...[/grid] في محرر النصوص لا يزال ثابتاً في كود الواجهة الأمامية.
تستخدم منطق محرر النصوص الحالي قيمة مُضمّنة برمجياً:
const MIN_IMAGES_TO_AUTO_GRID = 3;
لذلك،据 ما أستطيع قوله، فإن الخيارات المتاحة حالياً أمام المسؤولين هي:
| ما يمكن للمسؤولين فعله الآن | النتيجة |
|---|---|
| تفعيل الصور ذات الشبكة التلقائية | يتم تلقائياً تغليف رفع ثلاث صور متتالية أو أكثر داخل [grid]...[/grid] |
| تعطيل الصور ذات الشبكة التلقائية | لا يوجد تغليف تلقائي بالشبكة |
| تغيير الحد من 3 إلى رقم آخر | غير متاح حالياً كإعداد للموقع |
المشكلة هي أن الرقم 3 ليس بالضرورة هو الحد المناسب لكل مجتمع.
بعض المواقع تجد الشبكات التلقائية مفيدة، ولكن فقط عندما يقوم المستخدمون برفع دفعة أكبر من الصور. على سبيل المثال، قد يرغب المسؤول في أن تبدأ الشبكة التلقائية عند 5 أو 6 أو 10 أو قيمة أخرى، بدلاً من التفعيل بمجرد رفع 3 صور.
سيكون هذا مفيداً بشكل خاص للمجتمعات التي يقوم المستخدمون فيها غالباً برفع عدد صغير من الصور مدمجة مع نص توضيحي، ولكن يجب ضغط المعارض الأكبر في شبكة.
الاتجاه المقترح
أعتقد أنه يمكن تحسين ذلك بإضافة إعداد موقع قابل للتعديل للحد الأدنى لعدد الصور المتتالية المرفوعة قبل أن يقوم محرر النصوص بإدراج شبكة تلقائياً.
شيء مثل:
auto_grid_images_minimum_count
على سبيل المثال:
| الإعداد | قيمة مثال |
|---|---|
enable_auto_grid_images |
true |
auto_grid_images_minimum_count |
5 |
ثم ستظل الشبكة التلقائية متاحة، ولكن لن يتم تفعيلها إلا عند الوصول إلى الحد المُعد مسبقاً.
هذا يحافظ على السلوك الحالي كافتراضي إذا كان الإعداد الجديد يُعيَّن افتراضياً على 3، بينما يمنح المسؤولين مزيداً من التحكم.
فرع تجريبي / بداية محتملة
لقد قمت بإنشاء فرع تجريبي صغير هنا في حال كان لدى أي شخص لديه المزيد من الخبرة في تطوير Discourse الوقت لتشعبه وتنظيفه أو مواصلة الفكرة:
الفرع ليس مقصوداً كطلب سحب (PR) منقول بالكامل بعد. إنه أكثر من نقطة بداية تُظهر الاتجاه المقصود:
- إضافة إعداد موقع جديد للحد الأدنى لعدد الصور في الشبكة التلقائية
- كشف هذا الإعداد للعميل
- استبدال التحقق من
MIN_IMAGES_TO_AUTO_GRID = 3المُضمّن في كود رفع محرر النصوص بالقيمة المُعدّة - تحديث نص إعداد المسؤول بحيث لا يفترض نص الشبكة التلقائية الحالي أن الحد هو دائماً 3
- إضافة/تحديث مواصفات الواجهة الأمامية إذا لزم الأمر
نوع التغيير في الواجهة الأمامية الذي كنت أفكر فيه هو تقريباً:
const minImagesToAutoGrid = Number(
this.siteSettings.auto_grid_images_minimum_count ?? 3
);
if (
this.siteSettings.enable_auto_grid_images &&
this.#consecutiveImages?.length >= minImagesToAutoGrid &&
this.textManipulation
) {
this.textManipulation.autoGridImages([...this.#consecutiveImages]);
this.#consecutiveImages.length = 0;
}
هناك أيضاً مثال حديث لإعداد موقع من نوع enum على نمط Discourse في طلب السحب #36014:
طلب السحب #36014 - ميزة: إضافة إعداد calendar_upcoming_events_default_view
هذا الطلب مخصص لإضافة التقويم والأحداث بدلاً من شبكات الصور مباشرة، لذا لا أقترح أنه يؤثر على هذه الميزة. أذكره لأنه يبدو أنه يُظهر نمط تنفيذ مفيد لهذا النوع من إعدادات الموقع القابلة للتعديل: تعريف الإعداد، كشفه للعميل، ثم قراءته من الواجهة الأمامية عبر siteSettings.
روابط ذات صلة
النقاش الأصلي حول إيقاف الصور ذات الشبكة التلقائية:
إيقاف الصور ذات الشبكة التلقائية؟
إعلان شبكات الصور التلقائية:
تطبيق الشبكات تلقائياً على رفع الصور
مثال لطلب سحب يُظهر بنية إعداد الموقع:
طلب السحب #36014 - ميزة: إضافة إعداد calendar_upcoming_events_default_view
فرعي التجريبي: