FastComments.com

Add Comments to Your Eleventy (11ty) Site

To jest oficjalna biblioteka Eleventy (11ty) dla FastComments.

Osadź widżety komentowania na żywo, czatu i recenzji na swojej stronie Eleventy (11ty).

Repozytorium

Zobacz na GitHub


Prezentacja na żywo Internal Link

Aby zobaczyć wszystkie shortcode'y i przepływy uruchamiane lokalnie przeciwko publicznemu tenantowi demo, sklonuj repozytorium i uruchom:

cd example
npm install
npm start

Każdy komponent ma własną stronę w katalogu example/src/pages/, którą możesz skopiować bezpośrednio do swojej witryny Eleventy.

Instalacja Internal Link

npm install fastcomments-11ty

Szybki start Internal Link


Zarejestruj wtyczkę w konfiguracji Eleventy (.eleventy.js lub eleventy.config.js):

const { fastcommentsPlugin } = require('fastcomments-11ty');

module.exports = function(eleventyConfig) {
    eleventyConfig.addPlugin(fastcommentsPlugin);
};

Or with ESM:

import { fastcommentsPlugin } from 'fastcomments-11ty';

export default function(eleventyConfig) {
    eleventyConfig.addPlugin(fastcommentsPlugin);
}

Then use the shortcodes in your templates. In Nunjucks (.njk):

{% fastcomments { tenantId: "demo" } %}

In Liquid (.liquid):

{% fastcomments tenantId: "demo" %}

Replace "demo" with your FastComments tenant ID.

Shortcode'y Internal Link


Shortcode Opis
fastcomments Widget komentarzy z możliwością odpowiedzi, głosowania i innymi funkcjami
fastcommentsCommentCount Wyświetla liczbę komentarzy na stronie
fastcommentsImageChat Komentarze z adnotacjami obrazów
fastcommentsLiveChat Widget czatu na żywo
fastcommentsCollabChat Wspólne komentowanie inline
fastcommentsRecentComments Ostatnie komentarze w całej witrynie
fastcommentsRecentDiscussions Ostatnio aktywne wątki dyskusyjne
fastcommentsReviewsSummary Podsumowanie recenzji z ocenami gwiazdkowymi
fastcommentsTopPages Najczęściej dyskutowane strony
fastcommentsUserActivityFeed Kanał aktywności użytkownika

Przykłady

{# Liczba komentarzy w tekście #}
This page has {% fastcommentsCommentCount { tenantId: "demo" } %} comments.

{# Czat na żywo #}
{% fastcommentsLiveChat { tenantId: "demo" } %}

{# Collab chat — skieruj do elementu treści za pomocą selektora CSS #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcommentsCollabChat { tenantId: "demo", target: "#post-body" } %}

{# Image chat — skieruj do elementu obrazu za pomocą selektora CSS #}
<img id="hero" src="/hero.jpg" alt="Hero image" />
{% fastcommentsImageChat { tenantId: "demo", target: "#hero" } %}

{# Podsumowanie recenzji #}
{% fastcommentsReviewsSummary { tenantId: "demo" } %}

{# Kanał aktywności użytkownika #}
{% fastcommentsUserActivityFeed { tenantId: "demo", userId: "demo:demo-user" } %}

Opcje wtyczki Internal Link

eleventyConfig.addPlugin(fastcommentsPlugin, {
    // Zarejestruj tylko podzbiór shortcodów:
    shortcodes: ['fastcomments', 'fastcommentsCommentCount'],
    // Dodaj prefiks do każdej zarejestrowanej nazwy shortcode'a (np. "fc" -> "fcFastcomments"):
    prefix: 'fc'
});

Ręczne użycie (bez wtyczki) Internal Link

Każdy shortcode jest również eksportowany jako samodzielna funkcja, która zwraca łańcuch HTML:

const { fastcomments, commentCount } = require('fastcomments-11ty');

eleventyConfig.addShortcode('comments', fastcomments);
eleventyConfig.addShortcode('commentCount', commentCount);

Przykładowy projekt Internal Link

Działające demo znajduje się w katalogu example/:

cd example && npm install && npm start


Status utrzymania Internal Link

Te komponenty są opakowaniami wokół naszych podstawowych komponentów VanillaJS. Możemy automatycznie aktualizować te komponenty (naprawiać błędy, dodawać funkcje) bez publikowania tej biblioteki, więc choć może nie być ona publikowana przez pewien czas, nie oznacza to, że FastComments nie jest aktywnie rozwijany! Zachęcamy do sprawdzania naszego bloga w poszukiwaniu aktualizacji. Zmiany łamiące API lub nowe funkcje nigdy nie zostaną wprowadzone do bazowej biblioteki rdzeniowej bez podniesienia wersji tej biblioteki.

Potrzebujesz pomocy?

Jeśli napotkasz jakiekolwiek problemy lub będziesz mieć pytania dotyczące biblioteki Eleventy (11ty), prosimy:

Współtworzenie

Zachęcamy do współtworzenia! Prosimy odwiedzić repozytorium na GitHub po wytyczne dotyczące wkładu.