مواضيع المستخدمين الذين تم تجاهلهم تظهر على الصفحة الرئيسية

مرحباً @BeBe، ما هي الحلول البديلة التي وجدتها؟

لدي مستخدم لا مشكلة لديه في رؤية منشوراته في مواضيع أخرى، ولكنني أرغب في إخفاء المواضيع التي ينشئها.

مواضيعه تدور دائمًا حول نفس المواضيع (المملة). :wink:

هناك طريقة CSS لإخفاء منشورات المستخدم داخل المواضيع:

ولكن للأسف، قوائم المواضيع لا تتضمن معرف المستخدم للمنشئ، لذلك لا توجد طريقة لإخفاء المواضيع التي أنشأها المستخدم.

لنأخذ اسم المستخدم abc والمعرف 123.

لقد نظرت في الكود المصدري لمعرفة ما إذا كانت هناك طريقة للقيام بذلك باستخدام CSS للمستخدم.

علامة الموضوع حاليًا تبدو كالتالي:

<tr data-topic-id="123" id="ember123" class="topic-list-item … ember-view">

بالداخل، بالتأكيد يمكنني الاستعلام عن خلية المشاركين، ولكن هذا سيحتاج إلى JavaScript لأنني أريد إخفاء العنصر الأب:

tr > td.posters > a:first-child[data-user-card='abc']

الآن، إذا كان لدينا السمة الإضافية data-op-user-id="123"، مباشرة على tr الموضوع:

<tr data-topic-id="123" id="ember123" data-op-user-id="123" class="topic-list-item … ember-view">

يمكننا استخدام CSS بسيط للمستخدم للقيام ببعض التصفية الرائعة حسب معرف المستخدم الذي نفضل عدم رؤية مواضيعه:

tr.topic-list-item[data-op-user-id='123']

هل سيكون من الممكن إضافة data-op-user-id جديد إلى علامات tr.topic-list-item الخاصة بإدخالات المواضيع؟

يعمل فقط في وضع سطح المكتب، انظر الأسفل.


لمن قد يكون مهتمًا، لقد كتبت برنامج نصي صغير للمستخدم لـ community.metabrainz.org.
حاولت أولاً باستخدام MutationObserver، كما هو موصى به، ولكنه أصبح معقدًا للغاية، لذلك استخدمت فقط setInterval بسيطًا.

لم أجعله ديناميكيًا مع إعدادات المستخدم وما إلى ذلك.
كل تحديث سيمحو قائمة الحظر الخاصة بك و @include الخاص بك (انظر لاحقًا).

لأنني آمل أن تتم إضافة سمة data-op-user-id جديدة إلى المواضيع في Discourse الأصلي، لذلك لن أحتاج إلى هذا البرنامج النصي للمستخدم بعد الآن.

يمكنك تكييفه مع أي منتدى Discourse آخر عن طريق تغيير @include الخاص به إلى عنوان URL الخاص بك (السطر الوحيد المحدد).


لا يعمل في وضع الجوال لأنه (للأسف)، حسب التصميم، لا يعرض Discourse صورة ملف تعريف المنشئ في وضع الجوال.

لذلك سيكون لا يزال مناسبًا جدًا من ناحية البريد العشوائي أن يكون لديك السمة المقترحة tr.topic-list-item[data-op-user-id='123'].

الآن لن تعيد التحديثات تعيين قائمة الحظر الخاصة بي، لقد أضفت محرر قائمة حظر أساسي وتم حفظ القائمة محليًا.

ولكنني حقًا أحب أحب أحب أن يتضمن Discourse معرف مستخدم المنشئ في كل صفوف مواضيع <tr> data-op-user-id="123", حتى تكون ورقة أنماط مستخدم بسيطة جدًا كافية لإخفاء مواضيع المستخدمين المتجاهلين:

tr.topic-list-item[data-op-user-id='123'] { display: none; }

أو سأحب أحب أحب أحب أكثر أن يقوم Discourse بإخفاء مواضيع المستخدمين المتجاهلين بنفسه.

لا أفهم الغرض من المستخدمين المتجاهلين إذا كانت مواضيعهم تلوث تصفحي.