Ricardo Bermudez Lopez, director quien ha sido partícipe de distintas producciones de Telepacífico, entre ellas la serie “¿Y de quien es la culpa?- Cauca” y “Origen divergente”.
Por una parte, se adentro en el universo de la serie documental “¿Y de quien es la culpa?”, proyecto dividido en 3 departamentos, cuyo enfoque global es dar respuesta a la pregunta que lleva su nombre, y como este cuestionamiento se sumerge en un relato que atraviesa el Chocó, el Cauca y Nariño para revelar que nuestra identidad está hecha de memoria y resistencia.
“¿Y de quien es la culpa?- Cauca” , dirigida por Ricardo Bermudez, es una mezcla entre los valles y montañas, donde se dice vos, usted, sumercé; un lugar donde las palabras tiene una CH por algún lado: chévere, chusco, chuchuca, a las bolsas se le dice chuspas y si se tiene hambre y poca plata se come “cauncharina” y se baila con la chirimía. Un reflejo perfecto del sincretismo cultural, que se alimenta constantemente de nuestra raíz indígena, afrodescendiente y campesina. Un poco hacia el noroeste del país , “¿Y de quien es la culpa?- Chocó” dirigida por Reyson Velasquez ,explora la psicología social y la idiosincrasia de los pobladores del departamento del Chocó y del Pacífico colombiano.
A través de un viaje conducido por una narradora curiosa y cercana, la serie se sumerge en las claves históricas, geográficas, sociales y emocionales que han moldeado la forma en que hablamos, celebramos, nos curamos, recordamos a nuestros muertos y, en últimas, cómo nos reconocemos como pueblo.
Por último, “¿Y de quien es la culpa?- Nariño” dirigida por Óscar Darío Jiménez y Juan Carlos Melo , explora la esencia del pueblo nariñense a través de sus memorias y símbolos. Son narraciones guiadas en los viajes de un alma peregrina que se adentra con expectativa en la región; descubriendo en su gente, paisajes y saberes de una cultura ancestralmente poderosa.
“Origen divergente” también dirigida por Ricardo Bermudez Lopez fue nominada en los Premios India Catalina 2026 en la categoría Mejor serie documental. Esta serie documental, compuesta por cinco capítulos, narra las historias de cinco jóvenes pertenecientes a diferentes pueblos originarios del país, quienes decidieron desafiar los estereotipos que durante décadas han encasillado la identidad indígena en Colombia.
Lejos de ser retratados como figuras ancladas al pasado, estos protagonistas muestran cómo, a través del arte, la moda, el deporte, la palabra y lo digital, se abren paso en escenarios contemporáneos sin renunciar a sus raíces.
Responsive Banner
.gradient-left {
background: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
.right-image-gradient {
position: absolute;
top: 0;
left: -6px;
width: 60%;
height: 100%;
background: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
z-index: 20;
pointer-events: none;
}
.banner-img {
filter: blur(3px);
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
aspect-ratio: 16/9;
min-height: 100%;
max-height: 100%;
max-width: 100%;
min-width: 100%;
display: block;
position: relative;
z-index: 10;
}
.popup {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
z-index: 1000;
justify-content: center;
align-items: center;
}
.popup iframe {
max-width: 90%;
max-height: 80%;
width: 100%;
aspect-ratio: 16 / 9;
}
play_circle
function openPopup() {
const popup = document.getElementById('videoPopup');
const iframe = popup.querySelector('iframe');
iframe.src = 'https://www.youtube.com/embed/u4cqE-FbIkQ?autoplay=1';
popup.style.display = 'flex';
document.addEventListener('click', closePopupOutside);
}
function closePopupOutside(event) {
const popup = document.getElementById('videoPopup');
if (event.target === popup) {
popup.style.display = 'none';
popup.querySelector('iframe').src = '';
document.removeEventListener('click', closePopupOutside);
}
}
// Función para procesar los módulos
function processModules(attempt = 1, maxAttempts = 5) {
// Obtener los módulos por sus IDs
const titleModule = document.getElementById('TITULO');
const subtitleModule = document.getElementById('SUBTITULO');
const dateModule = document.getElementById('FECHA');
const genreModule = document.getElementById('GENERO');
const bodyModule = document.getElementById('BODY');
const imageModule = document.getElementById('IMAGEN');
const creditsModule = document.getElementById('CREDITOS');
// Verificar si los módulos existen
if (!titleModule || !subtitleModule || !dateModule || !genreModule || !bodyModule || !imageModule || !creditsModule) {
console.error(`Intento ${attempt}: Uno o más módulos no se encontraron. Verifica los IDs: TITULO, SUBTITULO, FECHA, GENERO, BODY, IMAGEN, CREDITOS`);
console.log('TITULO existe:', !!titleModule);
console.log('SUBTITULO existe:', !!subtitleModule);
console.log('FECHA existe:', !!dateModule);
console.log('GENERO existe:', !!genreModule);
console.log('BODY existe:', !!bodyModule);
console.log('IMAGEN existe:', !!imageModule);
console.log('CREDITOS existe:', !!creditsModule);
if (attempt processModules(attempt + 1, maxAttempts), 1000);
} else {
console.error('Se alcanzó el máximo de intentos. No se encontraron todos los módulos.');
}
return;
}
// Ocultar los módulos originales
titleModule.style.display = 'none';
subtitleModule.style.display = 'none';
dateModule.style.display = 'none';
genreModule.style.display = 'none';
bodyModule.style.display = 'none';
imageModule.style.display = 'none';
creditsModule.style.display = 'none';
// Extraer el contenido
const titleText = titleModule.innerText.trim();
const subtitleText = subtitleModule.innerText.trim();
let dateText = dateModule.innerText.trim();
const genreText = genreModule.innerText.trim();
let bodyContent = bodyModule.innerHTML.trim();
let imageUrl = '';
// Procesar el contenido del cuerpo para respetar la estructura de párrafos y listas
const tempDiv = document.createElement('div');
tempDiv.innerHTML = bodyContent;
const processedContent = Array.from(tempDiv.children)
.map(child => {
if (child.classList.contains('paragraph')) {
return `
${child.innerHTML.trim()}
`;
} else if (child.tagName === 'UL') {
return child.outerHTML;
} else {
return child.outerHTML;
}
})
.filter(content => content && content.length > 0)
.join('');
bodyContent = processedContent || bodyContent;
// Depuración: mostrar el contenido del módulo IMAGEN
console.log('Contenido crudo del módulo IMAGEN (innerHTML):', imageModule.innerHTML);
console.log('Texto del módulo IMAGEN (innerText):', imageModule.innerText);
// Intentar obtener la URL de la imagen
const imageElement = imageModule.querySelector('img');
console.log('Elemento
![]()
encontrado:', imageElement);
if (imageElement && imageElement.src) {
imageUrl = imageElement.src;
console.log('URL extraída de
![]()
:', imageUrl);
} else {
console.log('No se encontró una etiqueta
![]()
en el módulo IMAGEN');
const textContent = imageModule.innerText.trim();
const urlMatch = textContent.match(/(https?:\/\/[^\s]+)/);
if (urlMatch) {
imageUrl = urlMatch[0];
console.log('URL extraída del texto:', imageUrl);
} else {
console.log('No se encontró una URL válida en el módulo IMAGEN');
imageUrl = 'https://telepacifico.com/images/default.jpg'; // Imagen por defecto
}
}
const creditsText = creditsModule.innerText.trim();
// Depuración: mostrar todos los valores extraídos
console.log('Valores extraídos:');
console.log('Título:', titleText);
console.log('Subtítulo:', subtitleText);
console.log('Fecha:', dateText);
console.log('Género:', genreText);
console.log('Cuerpo:', bodyContent);
console.log('URL de imagen:', imageUrl);
console.log('Créditos:', creditsText);
// Procesar links de redes sociales en el bodyContent
bodyContent = processSocialLinks(bodyContent);
// Crear el contenedor para el formato personalizado
const container = document.getElementById('news-container');
if (!container) {
console.error('El contenedor news-container no se encontró');
return;
}
// Construir el HTML manualmente
const imageHtml = imageUrl ? '
%20+%20)
' : '';
const creditsHtml = creditsText ? '
Crédito: ' + creditsText + '
' : '';
container.innerHTML = [
'',
'
',
'
' + titleText + '
',
'
' + subtitleText + '
',
'
',
'
',
imageHtml,
creditsHtml,
'
',
'
' + bodyContent + '
',
'
'
].join('');
console.log('HTML insertado en news-container:', container.innerHTML);
// Convertir la fecha a formato ISO 8601 si no lo está
let isoDate;
try {
const dateObj = new Date(dateText);
if (isNaN(dateObj)) {
console.warn('Fecha no válida, usando fecha actual como respaldo');
isoDate = new Date().toISOString();
} else {
isoDate = dateObj.toISOString();
}
} catch (e) {
console.warn('Error al parsear la fecha, usando fecha actual como respaldo', e);
isoDate = new Date().toISOString();
}
// Crear el script de Schema.org dinámicamente
const articleBodyText = bodyModule.textContent.trim(); // Usar textContent para texto plano sin HTML
const schema = {
"@context": "http://schema.org",
"@type": "ReportageNewsArticle",
"url": window.location.href,
"thumbnailUrl": imageUrl,
"headline": titleText,
"description": subtitleText,
"datePublished": isoDate,
"dateModified": isoDate,
"publisher": {
"@type": "NewsMediaOrganization",
"name": "Telepacífico",
"publishingPrinciples": "https://telepacifico.com/legal-web/terminos-y-condiciones",
"logo": {
"@type": "ImageObject",
"width": 512,
"height": 512,
"url": "https://telepacifico.com/templates/yootheme/cache/39/Logo_Vertical-397e89a3.webp"
}
},
"image": {
"@type": "ImageObject",
"width": 1024,
"height": 576,
"url": imageUrl
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": window.location.href,
"name": titleText
},
"inLanguage": {
"@type": "Language",
"name": "Spanish",
"alternateName": "es"
},
"about": [
{
"@type": "Thing",
"name": genreText
}
],
"author": {
"@type": "Organization",
"name": "Telepacífico",
"sameAs": "https://telepacifico.com/"
},
"articleBody": articleBodyText
};
const schemaScript = document.createElement('script');
schemaScript.type = 'application/ld+json';
schemaScript.textContent = JSON.stringify(schema);
document.head.appendChild(schemaScript);
console.log('Script de Schema.org agregado:', schemaScript.textContent);
}
// Función para procesar links de redes sociales y reemplazarlos con embeds/miniaturas
function processSocialLinks(bodyHtml) {
const parser = new DOMParser();
const doc = parser.parseFromString(bodyHtml, 'text/html');
const links = doc.querySelectorAll('a');
const scriptsToAdd = new Set();
links.forEach(link => {
let href = link.href.toLowerCase(); // Para facilitar la comparación
let originalHref = link.href; // Mantener el original para el embed
if ((href.startsWith('https://twitter.com/') || href.startsWith('https://x.com/')) && /\/status\/\d+/.test(href)) {
// Para este post específico, insertar ambos embeds (custom para desktop, estándar para mobile)
if (originalHref === 'https://x.com/TPNoticias_/status/1961083511328116845' || originalHref === 'https://twitter.com/TPNoticias_/status/1961083511328116845') {
const wrapper = doc.createElement('div');
wrapper.className = 'embed-wrapper';
// Custom embed para desktop
const customEmbed = doc.createElement('div');
customEmbed.className = 'desktop-embed custom-embed';
customEmbed.innerHTML = `
🚨 #Atención | Hostigamientos en Dagua ⚠️
Desde la cabecera municipal de Dagua, se reportan hostigamientos por parte de grupos al margen de la ley contra las autoridades.
La situación mantiene en alerta a la comunidad, que manifiesta temor y prefiere no salir de sus casas.
Seguiremos informando. #NoticiaEnDesarrollo
`;
wrapper.appendChild(customEmbed);
// Embed estándar para mobile
let standardHref = originalHref;
if (href.startsWith('https://x.com/')) {
standardHref = originalHref.replace('x.com', 'twitter.com');
}
const mobileEmbed = doc.createElement('div');
mobileEmbed.className = 'mobile-embed';
const blockquote = doc.createElement('blockquote');
blockquote.className = 'twitter-tweet';
const a = doc.createElement('a');
a.href = standardHref;
a.innerText = link.innerText || standardHref;
blockquote.appendChild(a);
mobileEmbed.appendChild(blockquote);
wrapper.appendChild(mobileEmbed);
link.parentNode.replaceChild(wrapper, link);
scriptsToAdd.add('twitter');
} else {
// Para otros posts de X, usa el embed estándar
if (href.startsWith('https://x.com/')) {
originalHref = originalHref.replace('x.com', 'twitter.com');
}
const blockquote = doc.createElement('blockquote');
blockquote.className = 'twitter-tweet';
const a = doc.createElement('a');
a.href = originalHref;
a.innerText = link.innerText || originalHref;
blockquote.appendChild(a);
link.parentNode.replaceChild(blockquote, link);
scriptsToAdd.add('twitter');
}
} else if (href.startsWith('https://www.instagram.com/') && (href.includes('/p/') || href.includes('/reel/'))) {
// Embed de Instagram
const blockquote = doc.createElement('blockquote');
blockquote.className = 'instagram-media';
blockquote.setAttribute('data-instgrm-permalink', originalHref);
blockquote.setAttribute('data-instgrm-version', '14');
// Añadir fallback: un enlace simple
const fallbackA = doc.createElement('a');
fallbackA.href = originalHref;
fallbackA.innerText = 'Ver en Instagram: ' + (link.innerText || originalHref);
blockquote.appendChild(fallbackA);
link.parentNode.replaceChild(blockquote, link);
scriptsToAdd.add('instagram');
} else if (href.startsWith('https://www.youtube.com/watch?v=') || href.startsWith('https://youtu.be/')) {
// Embed de YouTube (iframe con miniatura implícita en el player)
let videoId;
if (href.startsWith('https://youtu.be/')) {
videoId = href.split('https://youtu.be/')[1].split('?')[0];
} else {
const url = new URL(originalHref);
videoId = url.searchParams.get('v');
}
if (videoId) {
const iframe = doc.createElement('iframe');
iframe.width = '560';
iframe.height = '315';
iframe.src = `https://www.youtube.com/embed/${videoId}`;
iframe.frameBorder = '0';
iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';
iframe.allowFullscreen = true;
link.parentNode.replaceChild(iframe, link);
}
} else if (href.startsWith('https://www.facebook.com/') && href.includes('/posts/')) {
// Embed de Facebook
const div = doc.createElement('div');
div.className = 'fb-post';
div.setAttribute('data-href', originalHref);
// Añadir fallback: un enlace simple
const fallbackA = doc.createElement('a');
fallbackA.href = originalHref;
fallbackA.innerText = 'Ver en Facebook: ' + (link.innerText || originalHref);
div.appendChild(fallbackA);
link.parentNode.replaceChild(div, link);
scriptsToAdd.add('facebook');
}
});
// Añadir scripts necesarios al final del body si se usaron embeds
if (scriptsToAdd.has('twitter')) {
const script = document.createElement('script');
script.async = true;
script.charset = 'utf-8';
script.src = 'https://platform.twitter.com/widgets.js';
document.body.appendChild(script);
}
if (scriptsToAdd.has('instagram')) {
const script = document.createElement('script');
script.async = true;
script.src = 'https://www.instagram.com/embed.js';
document.body.appendChild(script);
}
if (scriptsToAdd.has('facebook')) {
if (!document.getElementById('fb-root')) {
const fbRoot = document.createElement('div');
fbRoot.id = 'fb-root';
document.body.appendChild(fbRoot);
}
const script = document.createElement('script');
script.async = true;
script.defer = true;
script.crossOrigin = 'anonymous';
script.src = 'https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v18.0';
document.body.appendChild(script);
}
return doc.body.innerHTML;
}
// Ejecutar cuando el DOM esté cargado
document.addEventListener('DOMContentLoaded', function() {
processModules();
});
/* Estilos generales */
#news-container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
font-family: 'Encode Sans', sans-serif;
}
/* Estilos para pantallas grandes (desktop) */
@media (min-width: 768px) {
#news-container {
display: block; /* Flujo natural para el contenedor principal */
}
.header-meta {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.news-date {
font-size: 0.9rem;
margin: 0;
}
.news-genre {
font-size: 0.9rem;
margin: 0;
text-transform: uppercase;
}
.social-icons {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
}
.social-icon {
font-size: 1.5rem;
margin-left: 10px;
color: #333;
text-decoration: none;
}
.social-icon:hover {
color: #007bff;
}
.news-title {
font-size: 2.5rem;
margin: 0;
position: relative;
padding-bottom: 10px;
font-weight: 700;
}
.news-title::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100px;
height: 4px;
background-color: red;
}
.news-subtitle {
font-size: 1.5rem;
margin: 10px 0 20px 0;
font-weight: 400;
}
.content-wrapper {
position: relative; /* Contexto para el float */
overflow: hidden; /* Asegura que el contenedor respete el float */
}
.image-container {
float: right; /* Imagen flota a la derecha */
margin: 0 0 15px 15px; /* Espaciado para el texto */
max-width: 40%; /* Limita el ancho de la imagen */
}
.news-image {
max-width: 100%;
height: auto;
border-radius: 10px;
object-fit: cover;
}
.image-credits {
font-style: italic;
font-size: 0.9rem;
text-align: right;
background-color: #E5E5E5;
padding: 5px 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
margin-top: 5px;
width: 100%;
}
.news-body {
font-size: 1rem;
line-height: 1.6;
}
.news-body p {
margin: 0 0 15px 0;
break-inside: avoid; /* Evita que los párrafos se rompan */
}
.news-body ul {
list-style-type: disc;
margin: 0 0 15px 20px;
}
.news-body li {
margin-bottom: 5px;
}
.news-body iframe, /* Para embeds responsivos */
.news-body blockquote {
max-width: 80%; /* Ajuste para hacer los embeds más pequeños en desktop (80% del ancho disponible) */
margin: 15px 0; /* Sin auto para alinear a la izquierda */
display: block; /* Asegura que sea un bloque centrado */
}
/* Ajustes específicos para embeds de X/Twitter estándar */
.news-body .twitter-tweet {
max-width: 500px; /* Ancho máximo fijo para Twitter embeds, ajusta según necesites */
}
/* Ajustes para Instagram */
.news-body .instagram-media {
max-width: 500px;
}
/* Ajustes para Facebook */
.news-body .fb-post {
max-width: 500px;
}
/* Estilos para el wrapper */
.embed-wrapper {
max-width: 80%;
margin: 15px 0; /* Sin auto para alinear a la izquierda */
}
/* Mostrar custom en desktop */
.desktop-embed {
display: block;
}
/* Ocultar estándar en desktop */
.mobile-embed {
display: none;
}
/* Estilos para el embed personalizado */
.custom-embed {
display: flex;
flex-direction: column;
padding: 15px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: #f9f9f9;
}
.custom-embed .top-section {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 20px;
margin-bottom: 15px;
}
.custom-embed .media-content {
flex: 1;
}
.custom-embed .embed-video {
max-width: 100%;
height: auto;
border-radius: 8px;
}
.custom-embed .author-info {
flex: 0 0 150px;
text-align: center;
}
.custom-embed .avatar {
width: 50px;
height: 50px;
border-radius: 50%;
display: block;
margin: 0 auto 10px;
}
.custom-embed .username {
display: block;
font-weight: bold;
}
.custom-embed .username a {
text-decoration: none;
color: #1da1f2;
}
.custom-embed .timestamp {
display: block;
color: gray;
font-size: 0.8rem;
}
.custom-embed .post-content {
width: 100%; /* Horizontal full width */
}
/* Asegura que el texto fluya después del float */
.content-wrapper::after {
content: '';
display: block;
clear: both;
}
/* Estilos para h3 en el cuerpo (más grandes y en negrita) */
.news-body h3 {
font-size: 1.4rem;
font-weight: bold;
margin: 20px 0 10px 0;
}
}
/* Estilos para pantallas pequeñas (mobile) */
@media (max-width: 767px) {
#news-container {
display: flex;
flex-direction: column;
align-items: center;
}
.header-meta {
order: 1;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: 10px;
}
.news-date {
font-size: 0.8rem;
margin: 0;
}
.news-genre {
font-size: 0.8rem;
margin: 0;
text-transform: uppercase;
}
.news-title {
order: 2;
font-size: 1.8rem;
text-align: center;
position: relative;
padding-bottom: 10px;
margin-bottom: 10px;
font-weight: 700;
}
.news-title::after {
content: '';
position: absolute;
left: 50%;
bottom: 0;
width: 80px;
height: 4px;
background-color: red;
transform: translateX(-50%);
}
.news-subtitle {
order: 3;
font-size: 1.2rem;
text-align: center;
margin: 10px 0 20px 0;
font-weight: 400;
}
.content-wrapper {
order: 4;
width: 100%;
}
.image-container {
order: 5;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
margin-bottom: 10px;
float: none; /* Sin float en móvil */
}
.news-image {
max-width: 100%;
height: auto;
border-radius: 10px;
object-fit: cover;
margin-bottom: 5px;
}
.image-credits {
font-style: italic;
font-size: 0.8rem;
text-align: right;
background-color: #E5E5E5;
padding: 5px 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
width: 100%;
}
.social-icons {
order: 6;
display: flex;
justify-content: center;
margin-top: 10px;
margin-bottom: 20px;
}
.social-icon {
font-size: 1.3rem;
margin: 0 8px;
color: #333;
text-decoration: none;
}
.social-icon:hover {
color: #007bff;
}
.news-body {
order: 7;
font-size: 1rem;
line-height: 1.5;
margin-bottom: 20px;
}
.news-body p {
margin: 0 0 15px 0;
}
.news-body ul {
list-style-type: disc;
margin: 0 0 15px 20px;
}
.news-body li {
margin-bottom: 5px;
}
.news-body iframe, /* Para embeds responsivos en móvil */
.news-body blockquote {
max-width: 100%;
margin: 15px 0;
}
/* Ocultar custom en mobile */
.desktop-embed {
display: none;
}
/* Mostrar estándar en mobile */
.mobile-embed {
display: block;
}
/* Estilos para h3 en el cuerpo (más grandes y en negrita, ajustado para mobile) */
.news-body h3 {
font-size: 1.2rem;
font-weight: bold;
margin: 15px 0 8px 0;
}
}