
Язык 🇷🇺 Русский
Документация
Начало работы
Конфигурация
Использование
Add Comments to Your Eleventy (11ty) Site
Это официальная библиотека Eleventy (11ty) для FastComments.
Встраивайте комментарии в реальном времени, чат и виджеты отзывов на вашем сайте Eleventy (11ty).
Репозиторий
Живая демонстрация 
Попробуйте все виджеты вживую на https://fastcomments.com/commenting-system-for-11ty.
Демонстрационный сайт 
Чтобы увидеть все шорткоды и потоки, работающие локально с публичным demo tenant, клонируйте репозиторий и выполните:
cd example
npm install
npm start
Каждый компонент имеет собственную страницу в example/src/pages/, которую вы можете скопировать напрямую в свой сайт на Eleventy.
Быстрый старт 
Зарегистрируйте плагин в конфигурации 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);
}
Затем используйте шорткоды в ваших шаблонах. В Nunjucks (.njk):
{% fastcomments { tenantId: "demo" } %}
В Liquid (.liquid):
{% fastcomments tenantId: "demo" %}
Замените "demo" на ваш FastComments tenant ID.
Шорткоды 
| Шорткод | Описание |
|---|---|
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>Highlight me to leave a comment.</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" } %}
Параметры плагина 
eleventyConfig.addPlugin(fastcommentsPlugin, {
// Зарегистрировать только подмножество шорткодов:
shortcodes: ['fastcomments', 'fastcommentsCommentCount'],
// Добавить префикс ко всем зарегистрированным именам шорткодов (например, "fc" -> "fcFastcomments"):
prefix: 'fc'
});
Ручное использование (без плагина) 
Каждый шорткод также экспортируется как отдельная функция, которая возвращает HTML-строку:
const { fastcomments, commentCount } = require('fastcomments-11ty');
eleventyConfig.addShortcode('comments', fastcomments);
eleventyConfig.addShortcode('commentCount', commentCount);
Пример проекта 
Рабочий демонстрационный пример включён в директорию example/:
cd example && npm install && npm start
Статус поддержки 
Эти компоненты являются обёртками вокруг наших основных компонентов VanillaJS. Мы можем автоматически обновлять эти компоненты (исправлять ошибки, добавлять функции) без публикации этой библиотеки, так что даже если она какое‑то время не будет опубликована, это не означает, что FastComments не находится в активной разработке! Не стесняйтесь проверять наш блог для получения обновлений. Ломающие совместимость изменения API или новые функции никогда не будут перенесены в базовую библиотеку без повышения версии этой библиотеки.
Нужна помощь?
Если вы столкнулись с проблемами или у вас есть вопросы по библиотеке Eleventy (11ty), пожалуйста:
Участие
Вклады приветствуются! Пожалуйста, посетите репозиторий на GitHub для ознакомления с правилами участия.