Skip to main content
JGJenks Guo

Documentación / how to

Subir y usar imágenes y archivos

Para Jenks: agrega fotos, videoclips y PDF a la biblioteca multimedia (Cloudflare R2) y úsalos como imágenes de portada, galerías, archivos de prueba o imágenes en línea, desde la consola, la CLI, MCP o REST.

Qué es la biblioteca multimedia

Los archivos subidos viven en un bucket de Cloudflare R2 y se sirven desde https://jenksguo.xyz/media/…. Compatibles: imágenes WebP, JPEG, PNG, GIF, AVIF y SVG; video MP4 y WebM; y PDF — hasta 25 MB cada uno. El tipo real se lee del propio archivo, por lo que un archivo renombrado no puede hacerse pasar por una imagen.

Cada archivo obtiene una dirección permanente como /media/2026/10/acme-workshop-3f9a1c2b7d.webp. La última parte es una huella de los bytes, así que una dirección nunca apunta a contenido diferente y los navegadores pueden almacenarla en caché durante un año. Subir de nuevo el mismo archivo con el mismo nombre reutiliza la copia existente.

Los archivos son públicos en cuanto se suben, incluso antes de que cualquier página los use. Sube solo lo que todos los visitantes puedan ver — nunca currículos con números de teléfono, identificaciones ni documentos privados.

En la consola

  1. Abre https://jenksguo.xyz/admin y elige Media en la barra superior.
  2. Arrastra archivos a la página, pega una captura de pantalla o elige Upload. Con Optimise photos activado (por defecto), las fotos se redimensionan a 2400 px y se convierten a WebP primero en tu navegador — una foto de 6 MB del teléfono suele quedar en 300–600 KB. Las fotos HEIC de iPhone se convierten cuando el navegador puede leerlas (Safari puede).
  3. Selecciona un archivo para añadir alt text — una frase sobre lo que muestra la imagen. Los lectores de pantalla y el asistente Ask Jenks lo usan.

Luego usa los archivos desde el editor Content:

  • Imagen de portada — en Details, elige Choose or upload a cover image. Aparece en la parte superior de la página de la entrada.
  • Galería — Add photo or video añade elementos que se muestran junto al texto, cada uno con alt text y una leyenda opcional.
  • Archivo de prueba — en una fila de prueba, el icono de clip adjunta un PDF subido (por ejemplo, un paper).
  • Dentro del texto — el botón de imagen en la barra de herramientas del editor inserta una imagen; también puedes arrastrar o pegar una imagen directamente en el texto. Selecciona una imagen insertada para editar su alt text.

Al guardar la entrada se publica el cambio como de costumbre. El editor se niega a guardar contenido que apunte a un archivo /media/… que no exista.

Desde la CLI

jenks admin media upload ~/Pictures/acme-workshop.jpg --alt "Jenks running an AI workshop at Acme"
jenks admin media upload https://example.com/talk-poster.png     # the server fetches it
jenks admin media ls                                            # newest first, with "used by"
jenks admin media alt 2026/10/acme-workshop-3f9a1c2b7d.jpg "New alt text"
jenks admin media rm 2026/10/acme-workshop-3f9a1c2b7d.jpg

La CLI sube los archivos tal cual (sin redimensionar), así que exporta primero las fotos grandes a un tamaño razonable. Luego referencia la URL impresa en la entrada:

image: /media/2026/10/acme-workshop-3f9a1c2b7d.jpg
imageAlt: Jenks running an AI workshop at Acme
gallery:
  - src: /media/2026/10/acme-team-0c1d2e3f4a.webp
    alt: The Acme leadership team at the kick-off
    caption: Kick-off, October 2026

Desde un agente de IA (MCP)

El servidor de administración MCP tiene admin_upload_media, admin_list_media, admin_update_media y admin_delete_media.

  • Local (jenks mcp --admin): pasa path con un archivo en tu computadora — el servidor local lo lee para el agente.
  • Remoto (/mcp/admin): pasa url (una dirección https para importar) o data (base64) con un filename.

Una solicitud típica a un agente: "Sube ~/Desktop/xero-talk.jpg con alt text 'Jenks speaking at Xerocon', luego ponla como imagen de portada de xero-developer-evangelist."

Desde REST

curl -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -F file=@acme-workshop.jpg -F alt="Jenks running an AI workshop at Acme" \
  https://jenksguo.xyz/api/admin/media

GET, PATCH y DELETE en /api/admin/media listan, actualizan y eliminan. Consulta la admin API reference.

Eliminar de forma segura

Eliminar es permanente: a diferencia del contenido, los archivos no tienen historial de git. La consola y la API se niegan a eliminar un archivo que contenido publicado aún use, y muestran dónde se usa. Elimina primero las referencias, o fuerza el borrado si aceptas imágenes rotas.

La comprobación used by lee el contenido que este entorno publicó por última vez. dev y production comparten una única biblioteca multimedia (por lo que los archivos subidos mientras haces la vista previa en dev siguen funcionando después de promocionar), así que un archivo usado solo por contenido de dev no promocionado puede parecer sin uso en la consola de production.

.mdEsta página está traducida con ayuda de IA; los títulos oficiales permanecen en inglés.