
Langue 🇨🇦 Français (Canada)
Documentation
Premiers pas
Configuration
Ajouter des commentaires à votre site Jekyll
Ceci est la bibliothèque Jekyll officielle pour FastComments.
Intégrez des widgets de commentaires en direct, de clavardage et de révision dans votre site Jekyll.
Dépôt
Démo en direct 
Essayez chaque widget en direct sur https://fastcomments.com/commenting-system-for-jekyll.
Vitrine 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 a sa propre page sous example/ que vous pouvez copier directement dans votre propre site Jekyll.
Démarrage rapide 
Définissez votre tenant id une seule fois dans _config.yml:
fastcomments:
tenant_id: demo
Ensuite, ajoutez une balise là où vous voulez le widget, dans un layout, un article ou une page:
{% raw %}{% fastcomments %}{% endraw %}
C'est tout. Remplacez demo par votre FastComments tenant id (vous le trouverez sous
Paramètres > API/SSO).
Étiquettes 
| Balise | 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 courante |
fastcomments_comment_count_bulk | Nombre de commentaires pour plusieurs pages sur une page de liste/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 l'ensemble du 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 | Fil d'activité par utilisateur |
Exemples
{% raw %}{# Nombre de commentaires. Le widget affiche son propre libellé, p. ex. "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 %}
{# Fil d'activité utilisateur. Nécessite un ID utilisateur #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}
{# Comptes de commentaires en bloc pour un index de blogue #}
{% 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 vient de trois endroits. Les sources ultérieures prévalent :
- Valeurs par défaut globales dans
_config.ymlsous la cléfastcomments:. - Contexte de la page, dérivé automatiquement pour les widgets limités à la page (voir ci‑dessous).
- Attributs du tag écrits sur la balise elle‑même.
Ainsi, un url_id sur la balise 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 autre élément non entre guillemets est résolu en tant que variable Liquid provenant du contexte de la page, p.ex.
url_id=page.slug. (Liquid n'expande pas{% raw %}\{{ ... }}{% endraw %}à l'intérieur des attributs d'une balise, donc utilisez la forme brutepage.slugplutôt que"{% raw %}\{{ page.slug }}{% endraw %}".)
Les clés d'attributs et de configuration en snake_case sont automatiquement mappées vers les clés en camelCase attendues par FastComments (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground, et ainsi de suite). Toute autre option de la configuration du widget est transmise de la même manière.
Page-derived values
Pour les widgets limités à la page (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) ceux-ci sont remplis automatiquement à partir de la page courante, à moins que vous ne les définissiez 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 globaux (commentaires/discussions récents, pages principales, résumé des avis, flux d'activité des utilisateurs, comptage groupé) ne sont pas liés à une page et ne déduisent 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 balise : {% raw %}{% fastcomments region="eu" %}{% endraw %}. Les widgets seront alors chargés depuis le CDN de l'UE.
Statut de maintenance 
Ces composants sont des wrappers autour de nos composants VanillaJS de base. Nous pouvons mettre à jour automatiquement ces composants (corriger des bogues, ajouter des fonctionnalités) sans publier cette bibliothèque, donc même si elle n'est pas 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 blogue pour les mises à jour. Les modifications majeures de l'API ou les nouvelles fonctionnalités ne seront jamais intégrées à la bibliothèque sous-jacente sans mise à jour du numéro de version de 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 visiter le dépôt GitHub pour les consignes de contribution.