FastComments.com

Dodajte komentarje na svoje Jekyll spletno mesto


To je uradna Jekyll knjižnica za FastComments.

Vdelajte pripomočke za komentarje v živo, klepet in recenzije v vašo Jekyll spletno stran.

Repozitorij

Oglejte si na GitHubu


Predstavitev v živo Internal Link

Če želite videti vse oznake, ki se lokalno izvajajo v povezavi z javnim najemnikom demo, klonirajte repozitorij in zaženite:

cd example
bundle install
bundle exec jekyll serve

Vsak gradnik ima svojo stran v mapi example/, ki jo lahko neposredno kopirate v svojo Jekyll spletno stran.

Namestitev Internal Link

Gem

Dodajte gem v skupino :jekyll_plugins v datoteki Gemfile vašega spletnega mesta:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Nato:

bundle install

(Združljivo z Jekyll 3.7+ in 4.x.)

Oznake Internal Link

OznakaOpis
fastcommentsKomentiranje v živo z odgovori, glasovanjem, moderiranjem in posodobitvami v realnem času
fastcomments_comment_countŠtevilo komentarjev za trenutno stran
fastcomments_comment_count_bulkŠtevila komentarjev za več strani na eni seznamni/indeksni strani
fastcomments_live_chatVtičnik za klepet v realnem času
fastcomments_collab_chatSodelovalno vdelano komentiranje (besedilne anotacije)
fastcomments_image_chatKomentarji z anotacijami na sliki
fastcomments_recent_commentsNedavni komentarji po celotnem spletnem mestu
fastcomments_recent_discussionsNedavno aktivne razprave
fastcomments_reviews_summaryPovzetek ocen z zvezdicami
fastcomments_top_pagesNajbolj razpravljane strani
fastcomments_user_activity_feedVir aktivnosti posameznega uporabnika

Primeri

{% raw %}{# Število komentarjev. Vtičnik prikaže svojo oznako, npr. "0 komentarjev" #}
{% fastcomments_comment_count %}

{# Klepet v živo #}
{% fastcomments_live_chat %}

{# Sodelovalni klepet. Usmerite ga na element vsebine z CSS selektorjem #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}

{# Klepet za slike. Usmerite ga na element slike z CSS selektorjem #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}

{# Povzetek ocen #}
{% fastcomments_reviews_summary %}

{# Vir aktivnosti uporabnika. Zahteva ID uporabnika #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}

{# Števila komentarjev za več objav na indeksni strani bloga #}
{% 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 %}

Konfiguracija Internal Link

Konfiguracija izvira iz treh virov. Novejši viri imajo prednost:

  1. Globalne privzete vrednosti v _config.yml pod ključem fastcomments:.
  2. Kontekst strani, samodejno izpeljan za gradnike, vezane na stran (glej spodaj).
  3. Atributi oznake, zapisani neposredno na oznaki.

Torej url_id na oznaki preglasi vrednost, izpeljano iz strani, ta pa preglasi katero koli globalno privzeto vrednost.

Sintaksa atributov

Atributi so pari key=value v snake_case:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • V narekovajih vrednosti ("..." ali '...') so dobesedni nizi.
  • Brez narekovajev true/false postaneta booleana, številke pa številke.
  • Brez narekovajev vse ostalo se razreši kot Liquid spremenljivka iz konteksta strani, npr. url_id=page.slug. (Liquid ne razširi {% raw %}\{{ ... }}{% endraw %} znotraj atributov oznake, zato uporabite golo obliko page.slug namesto "{% raw %}\{{ page.slug }}{% endraw %}".)

Ključi atributov in konfiguracije v snake_case se samodejno preslikajo v camelCase ključe, ki jih FastComments pričakuje (tenant_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground, in tako naprej). Katere koli druge možnosti iz konfiguracija gradnika se prenesejo na enak način.

Vrednosti izpeljane iz strani

Za gradnike, vezane na stran (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) so te vrednosti samodejno izpolnjene iz trenutne strani, razen če jih sami nastavite:

  • url_idpage.url (stabilen identifikator, neodvisen od domene obiskovalca)
  • urlsite.url + page.url (samo ko je url nastavljen v _config.yml)
  • page_titlepage.title

Gradniki na ravni spletnega mesta (najnovejši komentarji/razprave, najbolj obiskane strani, povzetek ocen, vir uporabniške aktivnosti, množično štetje) niso vezani na posamezno stran in teh vrednosti ne izpeljejo.

Shranjevanje podatkov v EU

Stranke v EU dodajo region: eu, bodisi globalno:

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

ali za posamezno oznako: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Gradniki se nato naložijo iz EU CDN.

Stanje vzdrževanja Internal Link

Te komponente so ovojnice okoli naših osnovnih komponent VanillaJS. Te komponente lahko samodejno posodobimo (odpravimo napake, dodamo funkcije) brez objave te knjižnice, zato čeprav morda ne bo objavljena nekaj časa, to ne pomeni, da FastComments ni v aktivnem razvoju! Oglejte si naš blog za posodobitve. Prelomne spremembe API-ja ali funkcionalnosti nikoli ne bodo prenesene v osnovno jedrno knjižnico brez dviga različice te knjižnice.


Potrebujete pomoč?

Če naletite na težave ali imate vprašanja glede knjižnice Jekyll, prosimo:

Prispevanje

Prispevki so dobrodošli! Prosimo, obiščite GitHub repozitorij za navodila za prispevanje.