feat: recursos de lectura con enlaces locales (60 PDFs/ZIPs)
This commit is contained in:
@@ -283,6 +283,8 @@ function procesarFila(filaHTML, tipoMaterial) {
|
||||
);
|
||||
const recursoURL = recursoMatch ? recursoMatch[1] : null;
|
||||
const recursoTexto = recursoMatch ? recursoMatch[2] : null;
|
||||
const recursoIDMatch = recursoURL ? recursoURL.match(/study-resources\/(\d+)\/show/) : null;
|
||||
const recursoID = recursoIDMatch ? recursoIDMatch[1] : null;
|
||||
|
||||
// Extraer contenido de estudio real (dentro de redactor-usr-input)
|
||||
const contenidoMatch = filaHTML.match(
|
||||
@@ -312,6 +314,7 @@ function procesarFila(filaHTML, tipoMaterial) {
|
||||
vimeoID,
|
||||
recursoURL,
|
||||
recursoTexto,
|
||||
recursoID,
|
||||
tipoMaterial,
|
||||
};
|
||||
}
|
||||
@@ -519,6 +522,7 @@ function generarContenido() {
|
||||
if (temas.length > 0) {
|
||||
seccionesConContenido.push({
|
||||
titulo: seccion.titulo,
|
||||
carpeta: seccion.carpeta,
|
||||
temas,
|
||||
});
|
||||
}
|
||||
@@ -527,6 +531,7 @@ function generarContenido() {
|
||||
if (seccionesConContenido.length > 0) {
|
||||
libros.push({
|
||||
titulo: modulo.titulo,
|
||||
carpeta: modulo.carpeta,
|
||||
secciones: seccionesConContenido,
|
||||
});
|
||||
}
|
||||
@@ -1118,7 +1123,16 @@ body {
|
||||
if (tema.recursoURL) {
|
||||
const icono = tema.recursoTexto === "Abrir Archivo" ? "📄" : "🔗";
|
||||
const etiqueta = tema.recursoTexto === "Abrir Archivo" ? "Archivo" : "Enlace";
|
||||
bodyHTML += `<div class="nota-recurso">${icono} <strong>${etiqueta}:</strong> <a href="${tema.recursoURL}" target="_blank">${tema.titulo}</a></div>\n`;
|
||||
// Buscar archivo local descargado
|
||||
let recursoHref = tema.recursoURL;
|
||||
if (tema.recursoID) {
|
||||
const secDir = path.join(__dirname, "descargas", "secciones", modulo.carpeta, seccion.carpeta);
|
||||
const archivos = fs.existsSync(secDir) ? fs.readdirSync(secDir).filter(f => f.startsWith(`recurso_${tema.recursoID}.`)) : [];
|
||||
if (archivos.length > 0) {
|
||||
recursoHref = `secciones/${modulo.carpeta}/${seccion.carpeta}/${archivos[0]}`;
|
||||
}
|
||||
}
|
||||
bodyHTML += `<div class="nota-recurso">${icono} <strong>${etiqueta}:</strong> <a href="${recursoHref}" target="_blank">${tema.titulo}</a></div>\n`;
|
||||
}
|
||||
|
||||
// Separador entre temas
|
||||
|
||||
Reference in New Issue
Block a user