
Język 🇵🇱 Polski
Dokumentacja
Pierwsze kroki
Konfiguracja
Dodaj komentarze do swojej witryny Jekyll
To jest oficjalna biblioteka Jekyll dla FastComments.
Osadź na swojej stronie Jekyll widgety do komentarzy na żywo, czatu i recenzji.
Repozytorium
Demo na żywo 
Wypróbuj każdy widżet na żywo pod adresem https://fastcomments.com/commenting-system-for-jekyll.
Prezentacja na żywo 
Aby zobaczyć wszystkie tagi uruchomione lokalnie względem publicznego tenanta demo, sklonuj repozytorium i uruchom:
cd example
bundle install
bundle exec jekyll serve
Każdy widget ma własną stronę w katalogu example/, którą możesz skopiować bezpośrednio do własnej witryny Jekyll.
Szybki start 
Ustaw swój tenant id raz w _config.yml:
fastcomments:
tenant_id: demo
Następnie dodaj tag wszędzie tam, gdzie chcesz mieć widżet — w szablonie, we wpisie lub na stronie:
{% raw %}{% fastcomments %}{% endraw %}
To wszystko. Zastąp demo swoim tenant id FastComments (znajdziesz go w Ustawienia > API/SSO).
Tagi 
| Tag | Opis |
|---|---|
fastcomments | Dyskusje na żywo z odpowiedziami, głosowaniem, moderacją i aktualizacjami w czasie rzeczywistym |
fastcomments_comment_count | Liczba komentarzy dla bieżącej strony |
fastcomments_comment_count_bulk | Liczby komentarzy dla wielu stron na jednej stronie listy/indeksu |
fastcomments_live_chat | Widżet czatu strumieniowego w czasie rzeczywistym |
fastcomments_collab_chat | Współpraca przy komentarzach inline (adnotacje tekstowe) |
fastcomments_image_chat | Komentarze z adnotacjami obrazów |
fastcomments_recent_comments | Najnowsze komentarze w całej witrynie |
fastcomments_recent_discussions | Niedawno aktywne wątki dyskusji |
fastcomments_reviews_summary | Podsumowanie recenzji (oceny w gwiazdkach) |
fastcomments_top_pages | Najczęściej dyskutowane strony |
fastcomments_user_activity_feed | Kanał aktywności dla użytkownika |
Przykłady
{% raw %}{# Liczba komentarzy. Widżet renderuje własną etykietę, np. "0 komentarzy" #}
{% fastcomments_comment_count %}
{# Czat na żywo #}
{% fastcomments_live_chat %}
{# Collab chat. Wskaż go na element treści za pomocą selektora CSS #}
<article id="post-body">
<p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}
{# Image chat. Wskaż go na element obrazu za pomocą selektora CSS #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}
{# Podsumowanie recenzji #}
{% fastcomments_reviews_summary %}
{# Kanał aktywności użytkownika. Wymaga identyfikatora użytkownika #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}
{# Zbiorcze liczby komentarzy dla indeksu 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 %}
Konfiguracja 
Konfiguracja pochodzi z trzech miejsc. Późniejsze źródła mają pierwszeństwo:
- Domyślne ustawienia globalne w
_config.ymlpod kluczemfastcomments:. - Kontekst strony, wyprowadzany automatycznie dla widgetów związanych ze stroną (patrz niżej).
- Atrybuty tagu zapisane bezpośrednio w samym tagu.
Tak więc url_id na tagu nadpisuje wartość wyprowadzoną ze strony, która z kolei nadpisuje dowolne ustawienie globalne.
Składnia atrybutów
Atrybuty to pary key=value w snake_case:
{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
- Cytowane wartości (
"..."lub'...') są dosłownymi ciągami znaków. - Niecytowane
true/falsestają się wartościami logicznymi (boolean), a liczby stają się liczbami. - Niecytowane wszystko inne jest rozwiązywane jako zmienna Liquid z kontekstu strony, np.
url_id=page.slug. (Liquid nie rozwija{% raw %}\{{ ... }}{% endraw %}wewnątrz atrybutów tagu, więc użyj formypage.slugzamiast"{% raw %}\{{ page.slug }}{% endraw %}".)
Klucze atrybutów i konfiguracji w snake_case są automatycznie mapowane na klucze w camelCase, których oczekuje FastComments (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground i tak dalej). Każda inna opcja z konfiguracji widgetu przechodzi w ten sam sposób.
Wartości pochodzące ze strony
Dla widgetów związanych ze stroną (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) są one wypełniane automatycznie z bieżącej strony, chyba że ustawisz je samodzielnie:
url_id←page.url(stabilny identyfikator niezależny od odwiedzającej domeny)url←site.url+page.url(tylko gdyurljest ustawiony w_config.yml)page_title←page.title
Widgety ogólnostronne (najnowsze komentarze/dyskusje, najważniejsze strony, podsumowanie recenzji, kanał aktywności użytkowników, zbiorcze liczniki) nie są powiązane ze stroną i nie pozyskują tych wartości.
Lokalizacja danych w UE
Klienci z UE dodają region: eu, albo globalnie:
fastcomments:
tenant_id: your-tenant-id
region: eu
lub dla poszczególnego tagu: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Widgety będą wtedy ładowane z europejskiego CDN.
Status utrzymania 
Te komponenty są nakładkami na nasze podstawowe komponenty VanillaJS. Możemy automatycznie aktualizować te komponenty (naprawiać błędy, dodawać funkcje) bez publikowania tej biblioteki, więc chociaż może nie być opublikowana przez jakiś czas, nie oznacza to, że FastComments nie jest aktywnie rozwijany! Zachęcamy do sprawdzenia naszego bloga w poszukiwaniu aktualizacji. Zmiany łamiące API lub nowe funkcje nigdy nie zostaną wprowadzone do bazowej biblioteki bez zmiany wersji tej biblioteki.
Potrzebujesz pomocy?
Jeśli napotkasz problemy lub masz pytania dotyczące biblioteki Jekyll, prosimy:
Współtworzenie
Wkłady są mile widziane! Odwiedź repozytorium na GitHub po wytyczne dotyczące współpracy.