FastComments.com

Kommentare zu Ihrer Jekyll-Website hinzufügen

Dies ist die offizielle Jekyll-Bibliothek für FastComments.

Betten Sie Live-Kommentare sowie Chat- und Bewertungs-Widgets in Ihre Jekyll-Website ein.

Repository

Auf GitHub ansehen

KI-Programmieragenten Internal Link

skills.sh

Geben Sie Ihrem Coding‑Agent den FastComments‑Kontext, den er benötigt – Widgets, Konfiguration, Secure SSO, die REST‑API und die SDKs:

npx skills add fastcomments/skills

Funktioniert mit Claude Code, Codex, Cursor, Copilot, Gemini und jedem anderen Agenten, den das skills CLI unterstützt.

Live-Präsentation Internal Link

Um alle Tags lokal gegen den öffentlichen demo-Mandanten auszuführen, klonen Sie das Repository und führen Sie aus:

cd example
bundle install
bundle exec jekyll serve

Jedes Widget hat seine eigene Seite unter example/, die Sie direkt in Ihre eigene Jekyll-Site kopieren können.

Installieren Internal Link

Gem

Fügen Sie das Gem der :jekyll_plugins-Gruppe in der Gemfile Ihrer Seite hinzu:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Dann:

bundle install

(Kompatibel mit Jekyll 3.7+ und 4.x.)

Schlagwörter Internal Link

TagBeschreibung
fastcommentsEchtzeit-Kommentare mit Antworten, Abstimmungen, Moderation und Live-Aktualisierungen
fastcomments_comment_countAnzahl der Kommentare für die aktuelle Seite
fastcomments_comment_count_bulkKommentaranzahlen für viele Seiten auf einer Listen-/Indexseite
fastcomments_live_chatEchtzeit-Streaming-Chat-Widget
fastcomments_collab_chatKollaborative Inline-Kommentare (Textannotationen)
fastcomments_image_chatKommentare für Bildannotationen
fastcomments_recent_commentsAktuelle Kommentare auf der gesamten Website
fastcomments_recent_discussionsKürzlich aktive Diskussionen
fastcomments_reviews_summaryZusammenfassung der Sternebewertungen
fastcomments_top_pagesAm meisten diskutierte Seiten
fastcomments_user_activity_feedBenutzerspezifischer Aktivitätsfeed

Beispiele

{% raw %}{# Kommentaranzahl. Das Widget rendert sein eigenes Label, z. B. "0 Kommentare" #}
{% fastcomments_comment_count %}

{# Live-Chat #}
{% fastcomments_live_chat %}

{# Kollaborativer Chat. Richte ihn auf ein Inhaltselement mit einem CSS-Selektor aus #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}

{# Bild-Chat. Richte ihn auf ein Bildelement mit einem CSS-Selektor aus #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}

{# Zusammenfassung der Bewertungen #}
{% fastcomments_reviews_summary %}

{# Benutzer-Aktivitätsfeed. Erfordert eine Benutzer-ID #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}

{# Sammel-Kommentaranzahlen für einen Blog-Index #}
{% 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 %}

Konfiguration Internal Link

Die Konfiguration stammt aus drei Quellen. Spätere Quellen haben Vorrang:

  1. Globale Standardwerte in _config.yml unter dem Schlüssel fastcomments:.
  2. Seitenkontext, der automatisch für seitenspezifische Widgets abgeleitet wird (siehe unten).
  3. Tag-Attribute, die direkt am Tag geschrieben werden.

Ein url_id am Tag überschreibt also den seitenspezifisch abgeleiteten Wert, welcher wiederum jeden globalen Standardwert überschreibt.

Attribut-Syntax

Attribute sind key=value-Paare in snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • In Anführungszeichen gesetzte Werte ("..." oder '...') sind literale Zeichenketten.
  • Ohne Anführungszeichen werden true/false zu Booleans und Zahlen zu Zahlen.
  • Ohne Anführungszeichen wird alles andere als Liquid-Variable aus dem Seitenkontext aufgelöst, z. B. url_id=page.slug. (Liquid expandiert {% raw %}\{{ ... }}{% endraw %} nicht innerhalb der Attribute eines Tags, daher verwenden Sie die nackte Form page.slug statt "{% raw %}\{{ page.slug }}{% endraw %}".)

Snake_case-Attribut- und Konfigurationsschlüssel werden automatisch auf die camelCase-Schlüssel gemappt, die FastComments erwartet (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground usw.). Jede andere Option aus der Widget-Konfiguration wird auf dieselbe Weise direkt durchgereicht.

Seitenspezifisch abgeleitete Werte

Für die seitenspezifischen Widgets (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) werden diese automatisch aus der aktuellen Seite gefüllt, sofern Sie sie nicht selbst setzen:

  • url_id ← page.url (ein stabiler Bezeichner, unabhängig von der besuchten Domain)
  • url ← site.url + page.url (nur wenn url in _config.yml gesetzt ist)
  • page_title ← page.title

Seitenweite Widgets (neueste Kommentare/Diskussionen, Top-Seiten, Bewertungsübersicht, Benutzeraktivitäts-Feed, Bulk-Count) sind nicht an eine Seite gebunden und leiten diese Werte nicht ab.

EU-Datenresidenz

EU-Kunden fügen region: eu hinzu, entweder global:

fastcomments:
  tenant_id: your-tenant-id
  region: eu

oder pro Tag: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Widgets werden dann über das EU-CDN geladen.

Wartungsstatus Internal Link

Diese Komponenten sind Wrapper um unsere Kern-VanillaJS-Komponenten. Wir können diese Komponenten automatisch aktualisieren (Fehler beheben, Funktionen hinzufügen), ohne diese Bibliothek veröffentlichen zu müssen, auch wenn sie möglicherweise eine Weile nicht veröffentlicht wird, bedeutet das nicht, dass FastComments nicht aktiv weiterentwickelt wird! Schau gern in unseren Blog für Updates. Kompatibilitätsbrechende API-Änderungen oder neue Funktionen werden niemals in die zugrunde liegende Kernbibliothek übernommen, ohne dass diese Bibliothek zuvor einen Versionssprung erhält.

Brauchen Sie Hilfe?

Wenn Sie auf Probleme stoßen oder Fragen zur Jekyll-Bibliothek haben, kontaktieren Sie uns bitte:

Mitwirken

Beiträge sind willkommen! Bitte besuchen Sie das GitHub-Repository für die Beitragsrichtlinien.