FastComments.com

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

Voir sur GitHub


Vitrine en direct Internal Link

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.

Installation Internal Link


Gem

Ajoutez la gem au groupe :jekyll_plugins du Gemfile de votre site :

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Ensuite :

bundle install

(Compatible avec Jekyll 3.7+ et 4.x.)

Étiquettes Internal Link


BaliseDescription
fastcommentsCommentaires en direct avec réponses, votes, modération et mises à jour en temps réel
fastcomments_comment_countNombre de commentaires pour la page courante
fastcomments_comment_count_bulkNombre de commentaires pour plusieurs pages sur une page de liste/index
fastcomments_live_chatWidget de chat en streaming en temps réel
fastcomments_collab_chatCommentaires collaboratifs en ligne (annotations de texte)
fastcomments_image_chatCommentaires d'annotation d'image
fastcomments_recent_commentsCommentaires récents sur l'ensemble du site
fastcomments_recent_discussionsFils de discussion récemment actifs
fastcomments_reviews_summaryRésumé des avis par étoiles
fastcomments_top_pagesPages les plus discutées
fastcomments_user_activity_feedFil 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 Internal Link

Config vient de trois endroits. Les sources ultérieures prévalent :

  1. Valeurs par défaut globales dans _config.yml sous la clé fastcomments:.
  2. Contexte de la page, dérivé automatiquement pour les widgets limités à la page (voir ci‑dessous).
  3. 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/false deviennent 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 brute page.slug plutô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_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground, 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_idpage.url (un identifiant stable indépendant du domaine visité)
  • urlsite.url + page.url (uniquement lorsque url est défini dans _config.yml)
  • page_titlepage.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 Internal Link

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.