مكون سمة Reftagger

تتيح مكتبة Reftagger لك تحويل إشارات الكتاب المقدس في منتدى Discourse الخاص بك إلى روابط مع معاينة عند التمرير.

بناءً على طلب @outofthebox، قمنا بإنشاء مكون سمة مبني على هذا الكود.

لقد أضفنا إعدادًا يسمح لك باختيار الترجمة التي ترغب في استخدامها، ويمد المكون سياسة أمان المحتوى للسماح بتضمين مكتبة Reftagger.

المستودع هنا.

13 إعجابًا

@RGJ، مجتمعنا يحب هذه الميزة. شكرًا لك على التطوير بطريقة آمنة وقابلة للتخصيص. أقدر كرمك في مشاركة هذا العمل مع مجتمع Discourse.

5 إعجابات

لقد استخدمنا ذلك لمدة 18 شهرًا تقريبًا، وقد سار الأمر على ما يرام. يسعدنا أن نراه قد تحسّن وأصبح متاحًا بسهولة أكبر!

3 إعجابات

واو، هذا رائع حقًا.

أود حقًا رؤية مكون مشابه يسمح بتعريف كلمات رئيسية مخصصة ومعاينات.
سيكون ذلك مفيدًا جدًا لإنشاء قاموس مصطلحات مثلًا.

إعجاب واحد (1)

هناك مكون السمة auto abbrify words الذي يقوم بمثل هذا الأمر.

3 إعجابات

أقدر حقًا جهودك وجهود الجميع الذين ساهموا في المحادثة الأصلية على Meta حول كيفية جعل هذه الميزة تعمل!

إعجابَين (2)

مرحبًا بالجميع، كان Reftagger يعمل بسلاسة لمدة بضعة أشهر، ثم توقف فجأة. ما زال يقوم تلقائيًا بإنشاء رابط خارجي لتنسيق الكتاب/الفصل/الآية، لكنه لا يعرض معاينة عند التمرير.

يبدو أنه محدّث أيضًا. هل لديكم أي أفكار؟

إعجاب واحد (1)

ما إصدار Discourse الذي تستخدمه؟

إعجاب واحد (1)

كيف يمكنني العثور على هذه المعلومات؟

يجب أن يكون في مكان ما في لوحة التحكم الإدارية في /admin

إنها تقول فقط أنها محدثة:

إعجاب واحد (1)

يبدو أنه يعمل بشكل جيد على Discourse 2.7.7 (على الأقل في Safari) بالنسبة لي.

يعمل الآن مرة أخرى.
يبدو أن Reftagger انتقل إلى شبكة توصيل محتوى مختلفة (reftagger.bibliacdn.com) وكان يجب إضافتها إلى قائمة السماح في سياسة أمان المحتوى. لقد أضفتها ونشرت إصدارًا جديدًا من مكون السمة. كل ما عليك فعله هو تحديث المكون.

3 إعجابات

ها هو، شكرًا لك سيدي :slightly_smiling_face:

إعجاب واحد (1)

مرحباً ريتشارد،

أقوم بفحص موضوع قديم. لقد قمت بتثبيت مكون السمة هذا ويحدث شيئان.

الأول هو الرسالة التي تفيد بأن المكون يحتاج إلى تحديث.
[إشعار المسؤول] السمة ‘Reftagger’ تحتوي على رمز يحتاج إلى تحديث. (المعرف: discourse.script-tag-discourse-plugin) (اعرف المزيد)

الثاني قد يكون متعلقًا بالإشعار الأول حيث يحتاج المكون إلى تحديث. لا يتم وضع علامة على المراجع وتبدو الصفحات معلقة مع عرض دائرة التحميل في علامة تبويب المتصفح.

هل سيكون من الممكن تحديث هذا المكون؟

لقد أحرزت بعض التقدم في هذا باستخدام ChatGPT ولديّ علامات مرجعية عاملة لكليهما باستخدام Logos RefTagger و Blue Letter Bible.

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

إذا كان لدى أي شخص ملاحظات حول كيفية التحسين، فهي مرحب بها. مهاراتي تقتصر على توجيه LLM.

باستخدام Logos RefTagger:

import { apiInitializer } from “discourse/lib/api”؛
import loadScript from “discourse/lib/load-script”؛

export default apiInitializer(“0.1”, (api) =\u003e {
// 1. حدد إعدادات RefTagger على النافذة قبل تحميل البرنامج النصي
window.refTagger = {
settings: {
bibleVersion: “ESV”، // على سبيل المثال، إصدار الكتاب المقدس الافتراضي
tagChapters: true، // وضع علامة على مراجع الفصول أيضًا
convertHyperlinks: false، // لا تضع علامة على الروابط الموجودة مرة أخرى
roundCorners: true،
socialSharing: ،
}
};

// 2. ربط عرض منشور Discourse:
api.decorateCooked((element) =\u003e {
// تحميل برنامج RefTagger النصي الخارجي (إذا لم يتم تحميله بالفعل)
loadScript(“https://api.reftagger.com/v2/RefTagger.js”).then(() =\u003e {
// تشغيل وضع العلامات على عنصر المحتوى الجديد
window.refTagger.tag(element);
});
});
});

باستخدام BLB ScriptTagger:

import { apiInitializer } from “discourse/lib/api”؛
import loadScript from “discourse/lib/load-script”؛

export default apiInitializer(“0.1”, (api) =\u003e {
// اختياريًا، قم بتعيين إعدادات BLB ScriptTagger قبل التحميل (الإعدادات الافتراضية موضحة)
window.BLB ||= {}; // تأكد من وجود كائن BLB العام
window.BLB.Tagger ||= {};
window.BLB.Tagger.Translation = “NKJV”; // إصدار الترجمة الافتراضي
window.BLB.Tagger.HyperLinks = “all”; // وضع علامة على المراجع المرتبطة بالفعل
window.BLB.Tagger.TargetNewWindow = true; // تفتح الروابط في علامة تبويب جديدة
// … (إعدادات أخرى مثل DarkTheme، إلخ، حسب الحاجة)

api.decorateCooked((elem) =\u003e {
loadScript(“https://www.blueletterbible.org/assets/scripts/blbToolTip/BLB_ScriptTagger-min.js”)
.then(() =\u003e {
if (window.BLB \u0026\u0026 window.BLB.Tagger) {
window.BLB.Tagger.pageInit(); // إعادة مسح المحتوى الجديد للآيات:contentReference[oaicite:6]{index=6}
}
});
});
});

تم حل هذا الآن.

هذا لا يمكنني إعادة إنتاجه، حتى قبل حل المشكلة المذكورة أعلاه - والتي كانت مجرد تحذير، وليست خطأ.

3 إعجابات

ممتن جدًا للتحديث!

إعجابَين (2)