FastComments.com

Tilføj kommentarer til dit Jekyll-websted

Dette er det officielle Jekyll-bibliotek til FastComments.

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

Arkiv

Se på GitHub


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

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

Etiketter 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 har forrang:

  1. Globale standarder i _config.yml under fastcomments:-nøglen.
  2. Sidekontekst, afledt automatisk for sidespecifikke widgets (se nedenfor).
  3. Tag-attributter skrevet på selve tagget.

Så en url_id på tagget overskriver den side-afledte værdi, som overskriver enhver global standard.

Attribute syntax

Attributter er key=value par i snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • Anførte værdier ("..." eller '...') er bogstavelige strenge.
  • Uden anførselstegn true/false bliver booleanske værdier, og tal bliver tal.
  • Uden anførselstegn bliver alt andet opløst 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 bare page.slug-form i stedet for "{% raw %}\{{ page.slug }}{% endraw %}".)

Snake_case attribut- og konfigurationsnøgler mappes automatisk til de camelCase-nøgler, FastComments forventer (tenant_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground, osv.). Enhver anden indstilling fra widget configuration føres videre på samme måde.

Værdier afledt fra siden

For de sidespecifikke widgets (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) udfyldes disse automatisk fra den aktuelle side, medmindre du selv sætter dem:

  • url_idpage.url (en stabil identifikator uafhængig af besøgsdomænet)
  • urlsite.url + page.url (kun når url er sat i _config.yml)
  • page_titlepage.title

Site-dækkende widgets (seneste kommentarer/diskussioner, top-sider, oversigt over anmeldelser, brugeraktivitetsfeed, masseoptælling) er ikke knyttet til en side og afleder ikke disse.

EU-dataresidens

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

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

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



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.