
Język 🇵🇱 Polski
Dokumentacja
Pierwsze kroki
Konfiguracja
Referencja API
Dodaj komentarze do swojej strony Hugo
To jest oficjalna biblioteka Hugo dla FastComments.
Osadź na swojej stronie Hugo widgety do komentowania 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-hugo.
Prezentacja na żywo 
Aby zobaczyć wszystkie shortcode'y i fragmenty motywu uruchomione lokalnie wobec publicznego tenanta demo, sklonuj repozytorium i uruchom dołączone exampleSite:
git clone https://github.com/FastComments/fastcomments-hugo.git
cd fastcomments-hugo/exampleSite
hugo server
Każdy widget ma własną stronę w katalogu exampleSite/content/, którą możesz skopiować bezpośrednio do swojej witryny.
Instalacja 
Wybierz jedną z dwóch standardowych metod dodania komponentu motywu Hugo.
Opcja A: Moduł Hugo (zalecane)
Z katalogu głównego swojej witryny:
hugo mod init github.com/you/your-site # tylko jeśli twoja witryna nie jest jeszcze modułem
hugo mod get github.com/FastComments/fastcomments-hugo
Następnie dodaj import do pliku hugo.toml:
[module]
[[module.imports]]
path = "github.com/FastComments/fastcomments-hugo"
Opcja B: Komponent motywu (podmoduł Git)
git submodule add https://github.com/FastComments/fastcomments-hugo.git themes/fastcomments-hugo
Następnie odwołaj się do niego w hugo.toml. Umieść go obok własnego motywu; późniejsze wpisy mają pierwszeństwo, więc umieść swój motyw jako pierwszy:
theme = ["your-theme", "fastcomments-hugo"]
Szybki start 
Ustaw identyfikator najemcy raz w hugo.toml:
[params.fastcomments]
tenantId = "demo" # zamień "demo" na identyfikator najemcy FastComments
Następnie albo podłącz widget komentarzy do motywu (zobacz Integracja motywu), albo wstaw shortcode na dowolnej stronie w Markdown:
\{{< fastcomments >}}
Shortcode'y 
| Shortcode | Opis |
|---|---|
fastcomments | Komentarze w wątkach z odpowiedziami, głosowaniem i @wzmiankami |
fastcomments-comment-count | Liczba komentarzy dla pojedynczej strony |
fastcomments-comment-count-bulk | Liczby komentarzy dla wielu stron w jednym żądaniu (zobacz Zbiorcze liczniki komentarzy) |
fastcomments-live-chat | Widżet czatu na żywo |
fastcomments-collab-chat | Współdzielone komentarze inline (wymaga target) |
fastcomments-image-chat | Komentarze z adnotacjami obrazów (wymaga target) |
fastcomments-recent-comments | Najnowsze komentarze w serwisie |
fastcomments-recent-discussions | Ostatnio aktywne wątki dyskusyjne |
fastcomments-reviews-summary | Podsumowanie recenzji z ocenami gwiazdkowymi |
fastcomments-top-pages | Najczęściej dyskutowane strony |
fastcomments-user-activity-feed | Kanał aktywności użytkownika (wymaga userId) |
Przykłady
Liczba komentarzy w tekście:
This page has \{{< fastcomments-comment-count >}} comments.
Czat na żywo:
\{{< fastcomments-live-chat >}}
Czat współpracy, kierowany do elementu 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" >}}
Czat obrazkowy, kierowany do elementu 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:
\{{< fastcomments-user-activity-feed userId="demo:demo-user" >}}
Integracja z motywem 
Aby dołączyć komentarze do każdego wpisu tak jak robi to wbudowane wsparcie Disqus w Hugo, dodaj jedną linię do szablonu single swojego motywu (layouts/_default/single.html):
\{{ partial "fastcomments/comments.html" . }}
Ten partial jest renderowany tylko wtedy, gdy skonfigurowano tenantId. Wyłącz komentarze na pojedynczej stronie za pomocą front matter:
+++
title = "A page with no comments"
comments = false
+++
Zbiorcze liczniki komentarzy 
Aby wyświetlić liczbę komentarzy obok wielu stron naraz (indeks bloga, lista sekcji), użyj widżetu zbiorczego licznika. Pobiera on wszystkie liczniki na stronie w jednym żądaniu. Składa się z dwóch elementów: znacznika obok każdego elementu oraz jednego wywołania inicjalizującego po liście.
W szablonie listy (layouts/_default/list.html):
<ul>
\{{ range .Pages }}
<li>
<a href="\{{ .RelPermalink }}">\{{ .Title }}</a>
\{{ partial "fastcomments/count-marker.html" . }}
</li>
\{{ end }}
</ul>
\{{ partial "fastcomments/bulk-count.html" (dict "page" .) }}
count-marker.html renderuje <span class="fast-comments-count" data-fast-comments-url-id="..."></span>, używając tego samego identyfikatora, którego widżet komentarzy używa dla tej strony (jej urlId, albo jej permalink jeśli urlId nie jest ustawione), dzięki czemu liczniki odpowiadają rzeczywistym wątkom. bulk-count.html wysyła pojedyncze żądanie, które je wypełnia.
Jeśli utworzysz znaczniki samodzielnie (na przykład w Markdown strony), użyj shortcode'a, aby zamiast tego wygenerować wywołanie inicjalizujące:
<span class="fast-comments-count" data-fast-comments-url-id="article-1"></span>
<span class="fast-comments-count" data-fast-comments-url-id="article-2"></span>
\{{< fastcomments-comment-count-bulk >}}
Konfiguracja 
Wszystkie opcje widżetu FastComments ustawiane są w sekcji [params.fastcomments] w hugo.toml, i mogą być nadpisane dla każdej strony we front matter pod [fastcomments]. Kolejność priorytetu, od najniższego do najwyższego: parametry witryny, front matter strony, parametry shortcode.
# hugo.toml
[params.fastcomments]
tenantId = "your-tenant-id"
hasDarkBackground = true
voteStyle = 1
enableSearch = true# a page's front matter
+++
title = "Article"
[fastcomments]
urlId = "article-42"
collapseReplies = true
+++
When neither url nor urlId is provided, url defaults to the page's permalink so comment threads stay tied to a stable URL.
Rezydencja danych w UE
Klienci z UE ustawiają region = "eu" aby kierować widżet do cdn-eu.fastcomments.com:
[params.fastcomments]
tenantId = "your-tenant-id"
region = "eu"
Uwaga dotycząca wielkości liter kluczy
Hugo zamienia na małe litery każdy klucz w hugo.toml i we front matter, ale widżety FastComments wymagają kluczy w formacie camelCase (tenantId, hasDarkBackground). Ten komponent automatycznie przywraca poprawne odmiany wielkości liter dla każdej znanej opcji najwyższego poziomu, więc wpisuj opcje w ich normalnej formie camelCase. Klucze zagnieżdżone wewnątrz wartości obiektu (na przykład klucze mapy translations lub pola pageReactConfig) nie są przywracane. Skonfiguruj je zamiast tego poprzez interfejs dostosowywania w panelu FastComments.
Referencja konfiguracji widżetu 
Aby uzyskać pełną listę opcji widgetów, zobacz dokumentacja dostosowywania FastComments. Dwa widgety wymagają opcji obowiązkowej, która nie ma wartości domyślnej:
fastcomments-collab-chatifastcomments-image-chatwymagajątarget, selektora CSS elementu, do którego mają zostać dołączone.fastcomments-user-activity-feedwymagauserId.
Status utrzymania 
Te komponenty są cienkimi powłokami wokół naszych podstawowych widżetów VanillaJS. Możemy aktualizować te widżety (naprawiać błędy, dodawać funkcje) bez publikowania tego repozytorium, więc cicha historia wydań nie oznacza, że FastComments jest nieaktywny. Sprawdź nasz blog po aktualizacje. Zmiany łamiące kompatybilność w podstawowych widżetach są wydawane wraz ze zwiększeniem numeru wersji tutaj.
Potrzebujesz pomocy?
Jeśli napotkasz jakiekolwiek problemy lub masz pytania dotyczące biblioteki Hugo, prosimy o:
Współtworzenie
Wkłady są mile widziane! Odwiedź repozytorium na GitHub, aby zapoznać się z wytycznymi dotyczącymi kontrybucji.