
Idioma 🇪🇸 Español
Documentación
Primeros pasos
Configuración
Añadir comentarios a tu sitio Jekyll
Esta es la biblioteca oficial de Jekyll para FastComments.
Incrusta widgets de comentarios en vivo, chat y reseñas en tu sitio Jekyll.
Repositorio
Demostración en vivo 
Prueba cada widget en vivo en https://fastcomments.com/commenting-system-for-jekyll.
Presentación en vivo 
Para ver cada etiqueta ejecutándose localmente contra el tenant público demo, clona el repositorio y ejecuta:
cd example
bundle install
bundle exec jekyll serve
Cada widget tiene su propia página bajo example/ que puedes copiar directamente en tu propio sitio Jekyll.
Inicio rápido 
Establezca su tenant id una vez en _config.yml:
fastcomments:
tenant_id: demo
Luego agregue una etiqueta donde quiera que aparezca el widget, en un layout, una entrada o una página:
{% raw %}{% fastcomments %}{% endraw %}
Eso es todo. Reemplace demo por su tenant id de FastComments (lo encontrará en Configuración > API/SSO).
Etiquetas 
| Etiqueta | Descripción |
|---|---|
fastcomments | Comentarios en vivo con respuestas, votación, moderación y actualizaciones en tiempo real |
fastcomments_comment_count | Recuento de comentarios para la página actual |
fastcomments_comment_count_bulk | Recuentos de comentarios para muchas páginas en una página de lista/índice |
fastcomments_live_chat | Widget de chat en tiempo real (streaming) |
fastcomments_collab_chat | Comentarios colaborativos inline (anotaciones de texto) |
fastcomments_image_chat | Comentarios de anotación en imágenes |
fastcomments_recent_comments | Comentarios recientes en todo el sitio |
fastcomments_recent_discussions | Hilos de discusión recientemente activos |
fastcomments_reviews_summary | Resumen de reseñas con calificación por estrellas |
fastcomments_top_pages | Páginas más comentadas |
fastcomments_user_activity_feed | Feed de actividad por usuario |
Ejemplos
{% raw %}{# Recuento de comentarios. El widget muestra su propia etiqueta, p. ej. "0 comentarios" #}
{% fastcomments_comment_count %}
{# Chat en vivo #}
{% fastcomments_live_chat %}
{# Chat colaborativo. Apúntalo a un elemento de contenido con un selector CSS #}
<article id="post-body">
<p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}
{# Chat de imagen. Apúntalo a un elemento de imagen con un selector CSS #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}
{# Resumen de reseñas #}
{% fastcomments_reviews_summary %}
{# Feed de actividad de usuario. Requiere un ID de usuario #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}
{# Recuentos masivos de comentarios para un índice de blog #}
{% for post in site.posts %}
<a href="\{{ post.url }}">\{{ post.title }}</a>
<span class="fast-comments-count" data-fast-comments-url-id="\{{ post.url }}"></span>
{% endfor %}
{% fastcomments_comment_count_bulk %}{% endraw %}
Configuración 
La configuración proviene de tres lugares. Las fuentes posteriores prevalecen:
- Valores predeterminados globales en
_config.ymlbajo la clavefastcomments:. - Contexto de la página, derivado automáticamente para los widgets con ámbito de página (véase más abajo).
- Atributos de la etiqueta escritos en la propia etiqueta.
Por tanto, un url_id en la etiqueta anula el valor derivado de la página, que a su vez anula cualquier valor predeterminado global.
Sintaxis de atributos
Los atributos son pares key=value en snake_case:
{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
- Valores entrecomillados (
"..."o'...') son cadenas literales. - No entrecomillados
true/falsese convierten en booleanos, y los números se convierten en números. - No entrecomillados cualquier otra cosa se resuelve como una variable de Liquid desde el contexto de la página, p. ej.
url_id=page.slug. (Liquid no expande{% raw %}\{{ ... }}{% endraw %}dentro de los atributos de una etiqueta, así que use la forma sin adornospage.slugen lugar de"{% raw %}\{{ page.slug }}{% endraw %}".)
Las claves de atributos y de configuración en snake_case se mapean automáticamente a las claves en camelCase que FastComments espera (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground, etc.). Cualquier otra opción de la configuración del widget pasa directamente de la misma manera.
Valores derivados de la página
Para los widgets con ámbito de página (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) estos se completan automáticamente desde la página actual a menos que los establezca usted mismo:
url_id←page.url(un identificador estable independiente del dominio visitante)url←site.url+page.url(solo cuandourlestá establecido en_config.yml)page_title←page.title
Los widgets a nivel de sitio (comentarios/discusiones recientes, páginas principales, resumen de reseñas, feed de actividad de usuarios, recuento por lotes) no están ligados a una página y no derivan estos valores.
Residencia de datos en la UE
Los clientes de la UE añaden region: eu, ya sea globalmente:
fastcomments:
tenant_id: your-tenant-id
region: eu
o por etiqueta: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Los widgets entonces se cargan desde la CDN de la UE.
Estado de mantenimiento 
Estos componentes son envoltorios alrededor de nuestros componentes centrales de VanillaJS. Podemos actualizar automáticamente esos componentes (corregir errores, añadir funciones) sin publicar esta biblioteca, así que, aunque puede que no se publique durante un tiempo, ¡eso no significa que FastComments no esté en desarrollo activo! No dude en consultar nuestro blog para actualizaciones. Los cambios o características que rompan la API nunca se enviarán a la biblioteca central subyacente sin un incremento de versión en esta biblioteca.
¿Necesita ayuda?
Si encuentra algún problema o tiene preguntas sobre la biblioteca Jekyll, por favor:
Contribuir
¡Las contribuciones son bienvenidas! Por favor visite el repositorio de GitHub para las directrices de contribución.