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


Live-Showcase 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.

Installation 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.)

Tags 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

Config stammt aus drei Quellen. Spätere Quellen haben Vorrang:

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

Ein url_id im Tag überschreibt also den seitenabgeleiteten Wert, der wiederum jeden globalen Standard überschreibt.

Attributsyntax

Attribute sind key=value-Paare in snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • Quoted values ("..." or '...') are literal strings.
  • Unquoted true/false become booleans, and numbers become numbers.
  • Unquoted anything else is resolved as a Liquid variable from the page context, e.g. url_id=page.slug. (Liquid does not expand {% raw %}\{{ ... }}{% endraw %} inside a tag's attributes, so use the bare page.slug form rather than "{% raw %}\{{ page.slug }}{% endraw %}".)

Snake_case-Attribute und Konfigurationsschlüssel werden automatisch auf die camelCase-Schlüssel abgebildet, die FastComments erwartet (tenant_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground usw.). Jede andere Option aus der widget configuration wird auf dieselbe Weise direkt durchgereicht.

Von der Seite abgeleitete Werte

Für die seitenbezogenen 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_idpage.url (ein stabiler Bezeichner, unabhängig von der besuchenden Domain)
  • urlsite.url + page.url (nur wenn url in _config.yml gesetzt ist)
  • page_titlepage.title

Site-weite Widgets (neueste Kommentare/Diskussionen, Top-Seiten, Bewertungsübersicht, Benutzeraktivitäts-Feed, Sammelzählung) 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 vom 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.