pfaffman
(Jay Pfaffman)
2 مارس 2023، 8:19م
1
أرغب في إزالة حسابي من صفحة “حول” بعض المواقع التي أديرها. لست الشخص الذي سيقوم بحذف حسابك، أو أي شيء آخر. . .
إحدى الطرق هي هذه:
Since we often have to be admin to diagnose issues or change settings on our customer’s Discourse, we decided to hide all our @discourse.org accounts from the admins lists. That way, we’re not polluting our customer’s admins lists.
We do this using a plugin that is automatically installed to all the Discourse we host and does something like
after_initialize do
add_to_serializer(:about, :admins) do
object.admins.reject { |u| u.email =~ /@discourse\.org/i }
end
end
لكن يبدو أن المكون الإضافي هو حل مبالغ فيه في الوقت الحالي، لذا لدي مكون سمة يقوم بذلك:
import { withPluginApi } from "discourse/lib/plugin-api";
const hidden_admins = settings.hidden_admins.split("|");
const PLUGIN_ID = "hide-admins";
export default {
name: "theme-javascript-initializer",
initialize() {
withPluginApi("0.8.30", (api) => {
api.onPageChange((url) => {
if (url != "/about") {
return;
}
for (const admin of hidden_admins) {
var element = document.querySelector(`[data-username=${admin}]`);
if (element === null) {
break;
}
element.classList.add("hide-me");
}
});
});
},
};
هل هذا غبي لسبب ما؟ هل يكلف onPageChange الكثير؟ سيؤثر المكون الإضافي فقط على مُسلسل “حول”، وهذا يقوم بفحص عند كل تغيير للصفحة. هل هذا سيء؟
كان هناك موضوع حول هذه المشكلة بالضبط مؤخرًا قام فقط بتشفير المستخدم في CSS. هل سيكون وجود مجرد CSS واحد في سمة يقوم فقط بما يلي:
.about-page div[data-username="pfaffman"] {
display: none !important;
}
أفضل؟ لن يكون مفيدًا لأي شخص غيري، وهذا هو السبب في أنني أحب فكرة مكون السمة هذه.
إعجابَين (2)
إذًا، لكل صفحة يتم الانتقال إليها باستثناء صفحة “حول”، هل تقوم بمعالجة سطرين إضافيين من جافاسكريبت؟
لا، لا أعتقد أن هذا سيء بالنظر إلى الكم الهائل من جافاسكريبت الذي يعمل طوال الوقت في Discourse
إعجابَين (2)
pfaffman
(Jay Pfaffman)
2 مارس 2023، 8:22م
3
هذا هو ما اعتقدتُه في الغالب، لكنني أقدر تأكيدك بشدة. سأرى ما يمكنني فعله لتجميل هذا الشيء قليلاً وجعله متاحًا للعامة ثم كتابة أدوات لأتمتة إضافته إلى بعض المواقع.
شكرًا جزيلاً.
إعجابَين (2)
Heliosurge
(Dan DeMontmorency)
2 مارس 2023، 9:58م
4
إذن يا جاي، هل سيكون هذا مكونًا إضافيًا للتثبيت أم مكون سمة؟
أعتقد أن هذا يمكن أن يكون مفيدًا لتوسيع الوظائف حتى إلى التعديلات. لبعض حالات الاستخدام.
pfaffman
(Jay Pfaffman)
2 مارس 2023، 11:09م
5
هذا مكون سمة. ما زلت أقوم بتنظيفه قليلاً. سأقوم بإنشاء صفحة سمة مناسبة له في المرة القادمة، ولكن يمكنك رؤية GitHub - literatecomputing/discourse-hide-admins-about: Theme component to hide some admin users from about page إذا كنت متحمسًا لتجربته.
إعجابَين (2)
Heliosurge
(Dan DeMontmorency)
2 مارس 2023، 11:22م
6
هذا رائع جدًا. أنا راضٍ بالانتظار حتى الإطلاق الرسمي الخاص بكم.
إعجاب واحد (1)
pfaffman
(Jay Pfaffman)
تم إغلاقه في
1 أبريل 2023، 11:22م
7
تم إغلاق هذا الموضوع تلقائيًا بعد 30 يومًا من آخر رد. لم يعد يُسمح بالردود الجديدة.