Guía: Videos de X.com en El Diario

Guía: Videos de X.com en El Diario


1. Publicar una nota con video

Crea el archivo del post normalmente en _posts/ y agrega video_url en el front matter:

---
layout: post
title: "Titulo de la nota"
subtitle: "Breve descripción o entradilla."
date: 2026-03-01
categories: [politica]
author: redaccion
featured: false

# — VIDEO —
video_url: "https://x.com/usuario/status/1234567890"
# video_caption: "Texto personalizado de pie (opcional)"
---

Tu nota va aquí normalmente. El video aparece automáticamente
encima del cuerpo del artículo, colapsado con un botón ▶ Ver video.

Puedes escribir todo el contexto, análisis y citas aquí debajo.

El sistema extrae @usuario de la URL automáticamente y muestra:

Vía @usuario en X


2. Insertar un video dentro del cuerpo de cualquier nota

Dentro del texto de un artículo .md, usa el include con la sintaxis de Liquid:















<div class="x-video-wrapper"
     data-ad-enabled="false"
     data-ad-duration="7"
     data-skip-after="3">

  <!-- ===== ESTADO 1: COLAPSADO ===== -->
  <div class="x-video-collapsed">
    <div class="x-video-collapsed__backdrop" aria-hidden="true">
      <svg viewBox="0 0 24 24" class="x-video-collapsed__bg-logo" fill="white">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
    </div>
    <div class="x-video-collapsed__inner">
      <button class="x-video-reveal-btn" type="button" aria-label="Reproducir video de @usuario">
        <span class="x-video-reveal-btn__play" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
        </span>
        <span class="x-video-reveal-btn__label">Ver video</span>
      </button>
      <p class="x-video-collapsed__credit">
        <svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor">
          <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
        </svg>
        @usuario en X
      </p>
    </div>
  </div>

  <!-- ===== ESTADO 2: PRE-ROLL (solo si está activo) ===== -->
  

  <!-- ===== ESTADO 3: VIDEO ===== -->
  <!-- El blockquote se inyecta via JS al mostrar, evitando carga anticipada del widget -->
  <div class="x-video-embed" hidden
       data-tweet-url="https://twitter.com/usuario/status/1234567890"
       data-x-video-url="https://x.com/usuario/status/1234567890">
    <p class="x-video-source">
      <svg class="x-video-source__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="currentColor">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
      
        Vía <a href="https://x.com/usuario" class="x-video-source__link"
               target="_blank" rel="noopener noreferrer">@usuario</a> en X
      
    </p>
  </div>

</div>

Con pie de video personalizado:















<div class="x-video-wrapper"
     data-ad-enabled="false"
     data-ad-duration="7"
     data-skip-after="3">

  <!-- ===== ESTADO 1: COLAPSADO ===== -->
  <div class="x-video-collapsed">
    <div class="x-video-collapsed__backdrop" aria-hidden="true">
      <svg viewBox="0 0 24 24" class="x-video-collapsed__bg-logo" fill="white">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
    </div>
    <div class="x-video-collapsed__inner">
      <button class="x-video-reveal-btn" type="button" aria-label="Reproducir video de @usuario">
        <span class="x-video-reveal-btn__play" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
        </span>
        <span class="x-video-reveal-btn__label">Ver video</span>
      </button>
      <p class="x-video-collapsed__credit">
        <svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor">
          <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
        </svg>
        @usuario en X
      </p>
    </div>
  </div>

  <!-- ===== ESTADO 2: PRE-ROLL (solo si está activo) ===== -->
  

  <!-- ===== ESTADO 3: VIDEO ===== -->
  <!-- El blockquote se inyecta via JS al mostrar, evitando carga anticipada del widget -->
  <div class="x-video-embed" hidden
       data-tweet-url="https://twitter.com/usuario/status/1234567890"
       data-x-video-url="https://x.com/usuario/status/1234567890">
    <p class="x-video-source">
      <svg class="x-video-source__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="currentColor">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
      
        Video captado por ciudadanos en San Salvador
      
    </p>
  </div>

</div>

Sin pre-roll (aunque esté activo en settings):















<div class="x-video-wrapper"
     data-ad-enabled="false"
     data-ad-duration="7"
     data-skip-after="3">

  <!-- ===== ESTADO 1: COLAPSADO ===== -->
  <div class="x-video-collapsed">
    <div class="x-video-collapsed__backdrop" aria-hidden="true">
      <svg viewBox="0 0 24 24" class="x-video-collapsed__bg-logo" fill="white">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
    </div>
    <div class="x-video-collapsed__inner">
      <button class="x-video-reveal-btn" type="button" aria-label="Reproducir video de @usuario">
        <span class="x-video-reveal-btn__play" aria-hidden="true">
          <svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>
        </span>
        <span class="x-video-reveal-btn__label">Ver video</span>
      </button>
      <p class="x-video-collapsed__credit">
        <svg viewBox="0 0 24 24" aria-hidden="true" fill="currentColor">
          <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
        </svg>
        @usuario en X
      </p>
    </div>
  </div>

  <!-- ===== ESTADO 2: PRE-ROLL (solo si está activo) ===== -->
  

  <!-- ===== ESTADO 3: VIDEO ===== -->
  <!-- El blockquote se inyecta via JS al mostrar, evitando carga anticipada del widget -->
  <div class="x-video-embed" hidden
       data-tweet-url="https://twitter.com/usuario/status/1234567890"
       data-x-video-url="https://x.com/usuario/status/1234567890">
    <p class="x-video-source">
      <svg class="x-video-source__icon" viewBox="0 0 24 24" aria-hidden="true" focusable="false" fill="currentColor">
        <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
      </svg>
      
        Vía <a href="https://x.com/usuario" class="x-video-source__link"
               target="_blank" rel="noopener noreferrer">@usuario</a> en X
      
    </p>
  </div>

</div>


3. Activar el pre-roll publicitario

Edita _data/settings.yml:

video_ad:
  enabled: true       # ← cambiar a true
  duration: 7         # segundos que dura el anuncio
  skip_after: 3       # tras cuántos segundos aparece el botón "Saltar"

Sin patrocinador configurado

Muestra automáticamente el banner animado “¿Tu marca aquí?” (fondo oscuro con orbes de colores, badge verde “DISPONIBLE”, botón rosa-naranja).

Con patrocinador real (cuando consigas el cliente)

video_ad:
  enabled: true
  duration: 8
  skip_after: 4
  ad_label: "Publicidad"
  sponsor_name: "Banco Agrícola"
  sponsor_url: "https://bancoagricola.com"
  sponsor_logo: "/assets/images/ads/logo-ba.png"
  sponsor_tagline: "El banco que te acompaña"

Con imagen de anuncio completa (reemplaza logo + tagline):

  ad_image: "/assets/images/ads/banner-ba-720x280.jpg"

4. Parámetros del include x-video.html

Parámetro Requerido Descripción
url URL del tweet (x.com o twitter.com)
caption No Pie de video personalizado
no_preroll No Cualquier valor suprime el pre-roll en este embed

5. Galería de videos

Todos los posts con video_url en el front matter aparecen automáticamente en:

/videos/

El enlace ya está en el menú superior. No requiere configuración adicional. Los videos en la galería se muestran sin pre-roll.


6. Banner Billboard (portada)

El banner animado entre el nav y la portada se incluye en _layouts/home.html.

Para ocultarlo temporalmente:


Para reemplazarlo con el banner de un cliente real: Comenta el include y agrega directamente la imagen o código del cliente:


<a href="https://cliente.com" target="_blank" rel="noopener sponsored">
  <img src="/assets/images/ads/banner-cliente.jpg"
       alt="Nombre del cliente"
       style="width:100%; display:block;">
</a>

7. URLs de X.com — formatos aceptados

https://x.com/usuario/status/1234567890
https://twitter.com/usuario/status/1234567890
http://x.com/usuario/status/1234567890

Todos los formatos funcionan. El sistema normaliza la URL internamente.