Formulario de comentarios Hugo
Añade un formulario de comentarios a tu sitio en Hugo sin backend ni base de datos. Coloca el markup en un partial, y los comentarios se envían a Formpaste, donde los moderas antes de que aparezcan. No se requiere servidor.
Como construirlo
- Crea un formulario en tu panel de Formpaste y copia su clave de acceso.
- Añade el HTML de arriba a un partial de Hugo debajo del contenido de tu post.
- Reemplaza YOUR_ACCESS_KEY_HERE con tu clave de acceso, luego reconstruye y despliega.
Prompt para tu agente de programación con IA
Give me a plain HTML comment form with name, email, and a comment textarea for a Hugo site that POSTs to https://api.formpaste.com/submit with a hidden access_key input. I will place it in a partial. No server, no JavaScript, no database.O conecta el servidor MCP de Formpaste con Claude Code, Codex, Cursor, Claude Desktop, VS Code o cualquier cliente mcp-remote. Ver la guía de configuración.
Puntos claves de Hugo
Hugo construye HTML estático, así que un formulario de Formpaste es solo markup que colocas en una plantilla o en un shortcode. No hay servidor en un sitio Hugo, y no necesitas uno. El formulario envía el POST directamente a Formpaste.
Coloca el formulario en un partial o un shortcode
Añade el markup del formulario a un partial de layout (layouts/partials) para reutilizarlo, o envuélvelo en un shortcode para poder colocarlo en cualquier archivo de contenido con una sola etiqueta.
El HTML crudo en Markdown necesita un shortcode
El renderizador Goldmark de Hugo elimina el HTML inline en los archivos de contenido por defecto. Usa un shortcode para el formulario, o habilita el renderizado unsafe en hugo.toml, para que el markup no se pierda.
Sin servidor no hay configuración que añadir
Como el formulario envía el POST a un endpoint externo, nada cambia en tu build de Hugo ni en tu hosting. Funciona igual en Netlify, GitHub Pages o donde sea que despliegues la salida estática.
El access_key oculto se queda en el markup
Mantén el input oculto access_key exactamente como se generó. Identifica tu formulario ante Formpaste.
Que debes acertar
Los sitios estáticos no tienen backend de comentarios, así que un formulario llena el vacío
Una página generada estáticamente no puede almacenar comentarios por sí sola. Enviarlos a Formpaste te da un lugar donde aterricen sin añadir una base de datos o un CMS.
Modera antes de publicar
Los comentarios son un imán de spam. Formpaste filtra el spam obvio y pone en cuarentena los envíos dudosos en una carpeta que revisas, así apruebas lo que realmente aparece en la página.
Mantén el correo privado
Recopila el correo de quien comenta para moderar y responder, pero etiquétalo como no publicado para que la gente sepa que no aparecerá en el sitio.
Cómo funciona
Tres pasos simples para que los envíos de formularios lleguen a tu bandeja de entrada.
Crea tu formulario, apunta la URL de action al endpoint de Formpaste y añade tu clave de acceso.
Crea tu formulario
Regístrate, verifica tu correo y crea una clave de acceso en tu panel.
Copia el código
Pega el fragmento de arriba en tu proyecto. Elige CSS o Tailwind para que combine con tu sitio.
<form action="https://api.formpaste.com/submit" method="POST" class="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Nombre
<input type="text" name="name" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Correo electrónico (no se publica)
<input type="email" name="email" placeholder="tu@ejemplo.com" required class="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
</label>
<label class="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Comentario
<textarea name="comment" required class="min-h-28 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100"></textarea>
</label>
<button type="submit" class="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Publicar comentario</button>
</form>Añade tu clave de acceso
Reemplaza el marcador por tu clave de acceso para empezar a recibir envíos.
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">Formulario de comentarios Hugo FAQ
Pega un formulario. Recibe envíos.
Al instante, sin configurar ningún backend, servidor ni base de datos. 250 envíos/mes gratis, sin tarjeta de crédito.