
Langue 🇫🇷 Français (France)
Documentation
Prise en main
Configuration
Ajouter des commentaires à votre site Jekyll
Ceci est la bibliothèque officielle Jekyll pour FastComments.
Intégrez des widgets de commentaires en direct, de chat et d'avis dans votre site Jekyll.
Dépôt
Démonstration en direct 
Essayez chaque widget en direct sur https://fastcomments.com/commenting-system-for-jekyll.
Présentation en direct 
Pour voir chaque tag s'exécuter localement contre le locataire public demo, clonez le dépôt et exécutez :
cd example
bundle install
bundle exec jekyll serve
Chaque widget possède sa propre page sous example/ que vous pouvez copier directement dans votre propre site Jekyll.
Démarrage rapide 
Définissez l'ID de votre locataire une fois dans _config.yml:
fastcomments:
tenant_id: demo
Ensuite, ajoutez une balise où vous voulez le widget, dans un layout, un article ou une page:
{% raw %}{% fastcomments %}{% endraw %}
C'est tout. Remplacez demo par l'ID de votre locataire FastComments (vous le trouverez dans Paramètres > API/SSO).
Étiquettes 
| Tag | Description |
|---|---|
fastcomments | Commentaires en direct avec réponses, votes, modération et mises à jour en temps réel |
fastcomments_comment_count | Nombre de commentaires pour la page actuelle |
fastcomments_comment_count_bulk | Nombre de commentaires pour plusieurs pages sur une liste/page d'index |
fastcomments_live_chat | Widget de chat en streaming en temps réel |
fastcomments_collab_chat | Commentaires collaboratifs en ligne (annotations de texte) |
fastcomments_image_chat | Commentaires d'annotation d'image |
fastcomments_recent_comments | Commentaires récents sur tout le site |
fastcomments_recent_discussions | Fils de discussion récemment actifs |
fastcomments_reviews_summary | Résumé des avis par étoiles |
fastcomments_top_pages | Pages les plus discutées |
fastcomments_user_activity_feed | Flux d'activité par utilisateur |
Exemples
{% raw %}{# Nombre de commentaires. Le widget affiche son propre libellé, par exemple "0 commentaires" #}
{% fastcomments_comment_count %}
{# Chat en direct #}
{% fastcomments_live_chat %}
{# Chat collaboratif. Pointez-le vers un élément de contenu avec un sélecteur CSS #}
<article id="post-body">
<p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}
{# Chat d'image. Pointez-le vers un élément image avec un sélecteur CSS #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}
{# Résumé des avis #}
{% fastcomments_reviews_summary %}
{# Flux d'activité utilisateur. Nécessite un identifiant utilisateur #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}
{# Comptages en masse des commentaires pour un index 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 %}
Configuration 
Config provient de trois endroits. Les sources ultérieures l'emportent :
- Valeurs par défaut globales dans
_config.ymlsous la cléfastcomments:. - Contexte de la page, dérivé automatiquement pour les widgets à portée de page (voir ci‑dessous).
- Attributs du tag écrits directement sur le tag.
Ainsi, un url_id sur le tag remplace la valeur dérivée de la page, qui remplace toute valeur par défaut globale.
Attribute syntax
Les attributs sont des paires key=value en snake_case :
{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
- Les valeurs entre guillemets (
"..."ou'...') sont des chaînes littérales. - Les valeurs non entre guillemets
true/falsedeviennent des booléens, et les nombres deviennent des nombres. - Tout ce qui est non entre guillemets et autre est résolu comme une variable Liquid à partir du contexte de la page, par ex.
url_id=page.slug. (Liquid n'expande pas{% raw %}\{{ ... }}{% endraw %}à l'intérieur des attributs d'un tag, utilisez donc la forme barepage.slugplutôt que"{% raw %}\{{ page.slug }}{% endraw %}".)
Les clés d'attribut et de configuration en snake_case sont automatiquement mappées aux clés camelCase attendues par FastComments (tenant_id → tenantId, url_id → urlId, page_title → pageTitle,
has_dark_background → hasDarkBackground, etc.). Toute autre option provenant de la
configuration du widget
est transmise telle quelle de la même manière.
Page-derived values
Pour les widgets à portée de page (fastcomments, fastcomments_comment_count, fastcomments_live_chat,
fastcomments_collab_chat, fastcomments_image_chat), ceux-ci sont remplis automatiquement à partir de la
page courante sauf si vous les définissez vous‑même :
url_id←page.url(un identifiant stable indépendant du domaine visité)url←site.url+page.url(uniquement lorsqueurlest défini dans_config.yml)page_title←page.title
Les widgets à l'échelle du site (commentaires/discussions récents, pages les plus consultées, synthèse des avis, fil d'activité des utilisateurs, compte en masse) ne sont pas liés à une page et ne dérivent pas ces valeurs.
EU data residency
Les clients de l'UE ajoutent region: eu, soit globalement :
fastcomments:
tenant_id: your-tenant-id
region: eu
ou par tag : {% raw %}{% fastcomments region="eu" %}{% endraw %}. Les widgets se chargent alors depuis le CDN de l'UE.
Statut de maintenance 
Ces composants sont des enveloppes autour de nos composants VanillaJS principaux. Nous pouvons mettre à jour automatiquement ces composants (corriger des bogues, ajouter des fonctionnalités) sans publier cette bibliothèque ; ainsi, même si elle peut ne pas être publiée pendant un certain temps, cela ne signifie pas que FastComments n'est pas en développement actif ! N'hésitez pas à consulter notre blog pour les mises à jour. Les modifications incompatibles de l'API ou les nouvelles fonctionnalités ne seront jamais apportées à la bibliothèque core sous-jacente sans une augmentation de version dans cette bibliothèque.
Besoin d'aide ?
Si vous rencontrez des problèmes ou avez des questions concernant la bibliothèque Jekyll, veuillez :
Contribuer
Les contributions sont les bienvenues ! Veuillez consulter le dépôt GitHub pour les consignes de contribution.