FastComments.com

Tilføj kommentarer til dit Jekyll-site

Dette er det officielle Jekyll-bibliotek til FastComments.

Integrer live-kommentarer, chat og anmeldelseswidgets på dit Jekyll-websted.

Arkiv

Se på GitHub

AI-kodningsagenter Internal Link

skills.sh

Giv din kodeagent den FastComments‑kontekst, den har brug for – widgets, konfiguration, Secure SSO, REST‑API’en og SDK’erne:

npx skills add fastcomments/skills

Fungerer med Claude Code, Codex, Cursor, Copilot, Gemini og alle andre agenter, som skills CLI understøtter.

Live-udstilling Internal Link

For at se alle tags kørende lokalt mod den offentlige demo tenant, klon repoet og kør:

cd example
bundle install
bundle exec jekyll serve

Hver widget har sin egen side under example/, som du kan kopiere direkte ind i dit eget Jekyll-site.

Installer Internal Link

Gem

Tilføj gem'en til :jekyll_plugins gruppen i dit sites Gemfile:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Derefter:

bundle install

(Kompatibel med Jekyll 3.7+ og 4.x.)

Mærker Internal Link

TagDescription
fastcommentsLive-kommentering med svar, afstemninger, moderation og realtidsopdateringer
fastcomments_comment_countAntal kommentarer for den aktuelle side
fastcomments_comment_count_bulkAntal kommentarer for flere sider på en liste-/indeksside
fastcomments_live_chatRealtids-streaming chat-widget
fastcomments_collab_chatSamarbejdsbaseret inline-kommentering (tekstannoteringer)
fastcomments_image_chatKommentarer til billedannoteringer
fastcomments_recent_commentsSeneste kommentarer på tværs af sitet
fastcomments_recent_discussionsNyligt aktive diskussionstråde
fastcomments_reviews_summaryOversigt over stjernebedømmelser
fastcomments_top_pagesMest diskuterede sider
fastcomments_user_activity_feedAktivitetsfeed pr. bruger

Eksempler

{% raw %}{# Antal kommentarer. Widget'en gengiver sin egen etiket, f.eks. "0 comments" #}
{% fastcomments_comment_count %}

{# Live-chat #}
{% fastcomments_live_chat %}

{# Collab-chat. Ret den mod et indholdselement med en CSS-selektor #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}

{# Billed-chat. Ret den mod et billedelement med en CSS-selektor #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}

{# Anmeldelsesoversigt #}
{% fastcomments_reviews_summary %}

{# Bruger-aktivitetfeed. Kræver et bruger-id #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}

{# Samlede kommentartællinger for et blogindeks #}
{% 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

Konfiguration kommer fra tre steder. Senere kilder vinder:

  1. Globale standardindstillinger i _config.yml under nøglen fastcomments:.
  2. Sidekontekst, som udledes automatisk for side-omfattede widgets (se nedenfor).
  3. Tag-attributter, som skrives direkte på tagget.

Så en url_id på tagget tilsidesætter den sideudledte værdi, som igen tilsidesætter enhver global standardindstilling.

Attributsyntaks

Attributter er key=value-par i snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • Anført i citationstegn ("..." eller '...') behandles som bogstavelige strenge.
  • Uden citationstegn bliver true/false til booleans, og tal bliver til tal.
  • Uden citationstegn løses alt andet som en Liquid-variabel fra sidekonteksten, f.eks. url_id=page.slug. (Liquid udvider ikke {% raw %}\{{ ... }}{% endraw %} inde i et tags attributter, så brug den rene page.slug-form frem for "{% raw %}\{{ page.slug }}{% endraw %}".)

Snake_case-attribut- og konfigurationsnøgler mappes automatisk til de camelCase-nøgler, FastComments forventer (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground og så videre). Enhver anden indstilling fra widget-konfigurationen sendes direkte igennem på samme måde.

Sideudledte værdier

For de side-omfattede widgets (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) udfyldes disse automatisk fra den aktuelle side, medmindre du selv angiver dem:

  • url_id ← page.url (en stabil identifikator uafhængig af det besøgende domæne)
  • url ← site.url + page.url (kun når url er angivet i _config.yml)
  • page_title ← page.title

Sideoverdækkende widgets (seneste kommentarer/diskussioner, topssider, anmeldelsesoversigt, brugeraktivitetsfeed, bulk-antal) er ikke knyttet til en side og udleder ikke disse værdier.

EU-dataresidens

EU-kunder tilføjer region: eu, enten globalt:

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

eller pr. tag: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Widgets indlæses derefter fra EU-CDN.

Vedligeholdelsesstatus Internal Link

Disse komponenter fungerer som wrappers omkring vores kerne-VanillaJS-komponenter. Vi kan automatisk opdatere disse komponenter (rette fejl, tilføje funktioner) uden at udgive dette bibliotek, så selvom det måske ikke bliver udgivet i nogen tid, betyder det ikke, at FastComments ikke er under aktiv udvikling! Du er velkommen til at tjekke vores blog for opdateringer. API-ændringer eller funktioner, som bryder bagudkompatibilitet, vil aldrig blive udgivet til det underliggende kernebibliotek uden en versionsopdatering i dette bibliotek.

Brug for hjælp?

Hvis du støder på problemer eller har spørgsmål om Jekyll-biblioteket, så:

Bidrag

Bidrag er velkomne! Besøg venligst GitHub-repositoriet for retningslinjer for bidrag.