FastComments.com

Добавете коментари към вашия Eleventy (11ty) сайт

Това е официалната библиотека Eleventy (11ty) за FastComments.

Вградете уиджети за живо коментиране, чат и отзиви в сайта си на Eleventy (11ty).

Хранилище

Вижте в GitHub


Инсталиране Internal Link

npm

npm install fastcomments-11ty

Бърз старт Internal Link

Регистрирайте плъгина в конфигурацията на Eleventy (.eleventy.js или eleventy.config.js):

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

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

Или с ESM:

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

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

След това използвайте shortcodes в шаблоните си. В Nunjucks (.njk):

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

В Liquid (.liquid):

{% fastcomments tenantId: "demo" %}

Заменете "demo" с вашия FastComments tenant ID.

Шорткоди Internal Link

ШорткодОписание
fastcommentsУиджет за коментари с отговори, гласуване и още
fastcommentsCommentCountПоказва броя коментари за страница
fastcommentsImageChatКоментари за анотиране на изображения
fastcommentsLiveChatУиджет за чат на живо
fastcommentsCollabChatСъвместно вградено коментиране
fastcommentsRecentCommentsПоследни коментари в целия сайт
fastcommentsRecentDiscussionsНаскоро активни нишки на дискусии
fastcommentsReviewsSummaryОбобщение на ревюта със звездни оценки
fastcommentsTopPagesНай-обсъжданите страници
fastcommentsUserActivityFeedЛента за активността на потребителя

Примери

{# Брой коментари в ред с текста #}
This page has {% fastcommentsCommentCount { tenantId: "demo" } %} comments.

{# Чат на живо #}
{% fastcommentsLiveChat { tenantId: "demo" } %}

{# Съвместен чат — насочване към елемент от съдържанието чрез CSS селектор #}
<article id="post-body">
  <p>Маркирайте ме, за да оставите коментар.</p>
</article>
{% fastcommentsCollabChat { tenantId: "demo", target: "#post-body" } %}

{# Чат за изображения — насочване към елемент изображение чрез CSS селектор #}
<img id="hero" src="/hero.jpg" alt="Hero image" />
{% fastcommentsImageChat { tenantId: "demo", target: "#hero" } %}

{# Обобщение на ревютата #}
{% fastcommentsReviewsSummary { tenantId: "demo" } %}

{# Лента за активността на потребителя #}
{% fastcommentsUserActivityFeed { tenantId: "demo", userId: "demo:demo-user" } %}

Опции за плъгин Internal Link

eleventyConfig.addPlugin(fastcommentsPlugin, {
    // Регистрирайте само подмножество от shortcodes:
    shortcodes: ['fastcomments', 'fastcommentsCommentCount'],
    // Добавете префикс към всяко регистрирано име на shortcode (напр. "fc" -> "fcFastcomments"):
    prefix: 'fc'
});

Ръчно използване (без плъгина) Internal Link

Всеки shortcode също се експортира като самостоятелна функция, която връща HTML низ:

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

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

Примерен проект Internal Link


Работещ демонстрационен пример е включен в директорията example/:

cd example && npm install && npm start



Състояние на поддръжката Internal Link

Тези компоненти са обвивки около нашите основни VanillaJS компоненти. Можем автоматично да актуализираме тези компоненти (да коригираме грешки, да добавяме функции) без да публикуваме тази библиотека, така че макар тя да не е публикувана за известно време, това не означава, че FastComments не е в активна разработка! Разгледайте нашия блог за актуализации. Несъвместими промени в API или нови функции никога няма да бъдат добавяни към основната библиотека без увеличение на версията на тази библиотека.


Нужна помощ?

Ако срещнете проблеми или имате въпроси относно Eleventy (11ty) библиотеката, моля:

Принос

Приноси са добре дошли! Моля посетете GitHub хранилището за указания за принос.