I’ve added a setting that allows you to select the translation you want to use, and the component extends the content security policy to allow for the reftagger library to be included.
@RGJ, our community loves this feature. Thank you for developing in a secure and customizable manner. I appreciate your generosity in sharing this work back to the Discourse community.
I would love to see a similar component in which custom keywords and previews can be defined.
That would be super useful to create a glossary for example
Hello everyone, Reftagger was working swimmingly for a few months, and then it just stopped. It will still automatically generate an external link for the book/chapter/verse format, but it will not load the hover preview.
It’s working again now.
Reftagger apparently switched to a different CDN (reftagger.bibliacdn.com) which had to be whitelisted in the content security policy. I have added it and pushed a new version of the theme component. All you need to do is update the component.
Estoy revisando un hilo antiguo. Instalé este componente de tema y están sucediendo dos cosas.
Primero es el mensaje de que el componente necesita actualizarse. [Aviso de administrador] El tema ‘Reftagger’ contiene código que necesita actualizarse. (id:discourse.script-tag-discourse-plugin) (aprender más)
Segundo puede estar relacionado con el primer aviso, donde el componente necesita actualizarse. Las referencias no se están etiquetando y las páginas parecen quedarse colgadas mostrando el círculo de carga en la pestaña del navegador.
He avanzado un poco con esto usando ChatGPT y tengo reftaggers funcionales para ambos usando Logos RefTagger y Blue Letter Bible.
Si estos pudieran incluirse en un componente de tema para uso de la comunidad, sería genial. Si no, el componente de tema es simplemente para hacer. Solo necesita tomar el código de cualquiera que prefiera y colocarlo en la pestaña JS de un nuevo componente de tema. Debe eliminar el código predeterminado que se encuentra en la pestaña JS de Discourse.
Si alguien tiene comentarios sobre cómo mejorar, son bienvenidos. Mis habilidades solo llegan hasta guiar al LLM.
Usando Logos RefTagger:
import { apiInitializer } from “discourse/lib/api”;
import loadScript from “discourse/lib/load-script”;
export default apiInitializer(“0.1”, (api) => {
// 1. Define los ajustes de RefTagger en window ANTES de cargar el script
window.refTagger = {
settings: {
bibleVersion: “ESV”, // p. ej. versión bíblica predeterminada
tagChapters: true, // etiquetar también las referencias de capítulos
convertHyperlinks: false, // no volver a etiquetar enlaces existentes
roundCorners: true,
socialSharing: ,
}
};
// 2. Engancha la renderización de publicaciones de Discourse:
api.decorateCooked((element) => {
// Carga el script externo de RefTagger (si aún no está cargado)
loadScript(“https://api.reftagger.com/v2/RefTagger.js”).then(() => {
// Ejecuta el etiquetado en el nuevo elemento de contenido
window.refTagger.tag(element);
});
});
});
Usando BLB ScriptTagger:
import { apiInitializer } from “discourse/lib/api”;
import loadScript from “discourse/lib/load-script”;
export default apiInitializer(“0.1”, (api) => {
// Opcionalmente, establezca la configuración de BLB ScriptTagger antes de cargar (se muestran los valores predeterminados)
window.BLB ||= {}; // asegúrese de que exista el objeto global BLB
window.BLB.Tagger ||= {};
window.BLB.Tagger.Translation = “NKJV”; // versión de traducción predeterminada
window.BLB.Tagger.HyperLinks = “all”; // etiquetar incluso las referencias ya enlazadas
window.BLB.Tagger.TargetNewWindow = true; // los enlaces se abren en una nueva pestaña
// … (otras configuraciones como DarkTheme, etc., según sea necesario)