FastComments.com

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


Это официальная библиотека Eleventy (11ty) для FastComments.

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

Репозиторий

Посмотреть на GitHub


Показ в реальном времени Internal Link

Чтобы увидеть все шорткоды и потоки, запускаемые локально против публичного тенанта demo, клонируйте репозиторий и выполните:

cd example
npm install
npm start

Каждый компонент имеет свою страницу в каталоге example/src/pages/, которую вы можете скопировать прямо в собственный сайт Eleventy.

Установка 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);
}

Потім використовуйте шорткоди у ваших шаблонах. У Nunjucks (.njk):

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

У Liquid (.liquid):

{% fastcomments tenantId: "demo" %}

Замініть "demo" на ваш FastComments tenant ID.

Шорткоды Internal Link


ShortcodeОписание
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" } %}

Параметры плагина Internal Link

eleventyConfig.addPlugin(fastcommentsPlugin, {
    // Регистрировать только подмножество шорткодов:
    shortcodes: ['fastcomments', 'fastcommentsCommentCount'],
    // Добавить префикс ко всем зарегистрированным именам шорткодов (e.g. "fc" -> "fcFastcomments"):
    prefix: 'fc'
});

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

Каждый шорткод также экспортируется как отдельная функция, которая возвращает строку 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 для руководства по внесению вклада.