He añadido una configuración que le permite seleccionar la traducción que desea utilizar, y el componente amplía la directiva de seguridad de contenido para permitir que se incluya la biblioteca Reftagger.
@RGJ, a nuestra comunidad le encanta esta función. Gracias por desarrollarla de manera segura y personalizable. Agradezco tu generosidad al compartir este trabajo con la comunidad de Discourse.
Me encantaría ver un componente similar en el que se puedan definir palabras clave y vistas previas personalizadas.
Eso sería muy útil para crear, por ejemplo, un glosario.
¡Hola a todos! Reftagger funcionó perfectamente durante unos meses y luego simplemente dejó de hacerlo. Aún genera automáticamente un enlace externo para el formato libro/capítulo/versículo, pero no carga la vista previa al pasar el cursor.
Ya está funcionando de nuevo.
Parece que Reftagger cambió a una CDN diferente (reftagger.bibliacdn.com), la cual tenía que ser incluida en la política de seguridad de contenido. La he añadido y he publicado una nueva versión del componente del tema. Solo necesitas actualizar el componente.
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)