
Мова 🇺🇦 Українська
Документація
Початок роботи
Конфігурація
Додайте коментарі до вашого сайту Jekyll
Це офіційна бібліотека Jekyll для FastComments.
Вбудуйте віджети живого коментування, чату та оглядів у свій сайт Jekyll.
Репозиторій
Агенти кодування ШІ 
Надайте вашому кодовому агенту контекст FastComments, який йому потрібен — віджети, конфігурація, Secure SSO, REST API та SDK:
npx skills add fastcomments/skills
Працює з Claude Code, Codex, Cursor, Copilot, Gemini та будь‑яким іншим агентом, який підтримує skills CLI.
Онлайн демо 
Спробуйте кожен віджет у реальному часі за адресою https://fastcomments.com/commenting-system-for-jekyll/.
Онлайн демонстрація 
Щоб побачити всі теги, що працюють локально проти публічного орендаря demo, клонуйте репозиторій і виконайте:
cd example
bundle install
bundle exec jekyll serve
Кожен віджет має власну сторінку в каталозі example/, яку ви можете безпосередньо скопіювати у свій сайт Jekyll.
Швидкий старт 
Встановіть ваш tenant id один раз у _config.yml:
fastcomments:
tenant_id: demo
Потім додайте тег там, де ви хочете розмістити віджет — у шаблоні, у дописі або на сторінці:
{% raw %}{% fastcomments %}{% endraw %}
Ось і все. Замініть demo на ваш FastComments tenant id (знайдіть його в Settings > API/SSO).
Теги 
| Тег | Опис |
|---|---|
fastcomments | Живі коментарі з відповідями, голосуванням, модеруванням та оновленнями в реальному часі |
fastcomments_comment_count | Кількість коментарів для поточної сторінки |
fastcomments_comment_count_bulk | Кількості коментарів для кількох сторінок на одній сторінці списку/індексу |
fastcomments_live_chat | Потоковий чат у реальному часі |
fastcomments_collab_chat | Спільне вбудоване коментування (текстові анотації) |
fastcomments_image_chat | Коментарі-анотації до зображень |
fastcomments_recent_comments | Останні коментарі по всьому сайту |
fastcomments_recent_discussions | Нещодавно активні теми обговорень |
fastcomments_reviews_summary | Підсумок оглядів із зірковими рейтингами |
fastcomments_top_pages | Найбільш обговорювані сторінки |
fastcomments_user_activity_feed | Стрічка активності користувача |
Приклади
{% raw %}{# Кількість коментарів. Віджет відображає власну мітку, наприклад "0 коментарів" #}
{% fastcomments_comment_count %}
{# Чат у реальному часі #}
{% fastcomments_live_chat %}
{# Спільне вбудоване коментування. Вкажіть селектором CSS елемент вмісту #}
<article id="post-body">
<p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}
{# Чат для зображень. Вкажіть його на елемент зображення за допомогою CSS-селектора #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}
{# Підсумок оглядів #}
{% fastcomments_reviews_summary %}
{# Стрічка активності користувача. Потребує ідентифікатора користувача #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}
{# Масові підрахунки коментарів для індексу блогу #}
{% for post in site.posts %}
<a href="\{{ post.url }}">\{{ post.title }}</a>
<span class="fast-comments-count" data-fast-comments-url-id="\{{ post.url }}"></span>
{% endfor %}
{% fastcomments_comment_count_bulk %}{% endraw %}
Конфігурація 
Конфігурація надходить з трьох джерел. Пізніші джерела мають пріоритет:
- Глобальні значення за замовчуванням у
_config.ymlпід ключемfastcomments:. - Контекст сторінки, який автоматично визначається для віджетів, прив'язаних до сторінки (див. нижче).
- Атрибути тегу, вказані безпосередньо на тегу.
Тобто url_id на тегу перевизначає значення, отримане зі сторінки, яке, у свою чергу, перевизначає будь-яке глобальне значення за замовчуванням.
Синтаксис атрибутів
Атрибути — це пари key=value у форматі snake_case:
{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
- Значення в лапках (
"..."або'...') є буквальними рядками. - Без лапок
true/falseперетворюються на булеві значення, а числа — на числа. - Без лапок будь-що інше розглядається як змінна Liquid з контексту сторінки, наприклад
url_id=page.slug. (Liquid не розгортає{% raw %}\{{ ... }}{% endraw %}всередині атрибутів тегу, тому використовуйте форму без лапокpage.slug, а не"{% raw %}\{{ page.slug }}{% endraw %}".)
Ключі атрибутів і конфігурації у форматі snake_case автоматично перетворюються на ключі camelCase, які очікує FastComments
(tenant_id → tenantId, url_id → urlId, page_title → pageTitle,
has_dark_background → hasDarkBackground тощо). Будь-яка інша опція з
конфігурації віджета
передається напряму таким самим чином.
Значення, отримані зі сторінки
Для віджетів, прив'язаних до сторінки (fastcomments, fastcomments_comment_count, fastcomments_live_chat,
fastcomments_collab_chat, fastcomments_image_chat) ці значення заповнюються автоматично з
поточної сторінки, якщо ви не задали їх самостійно:
url_id←page.url(стабільний ідентифікатор, незалежний від домену відвідувача)url←site.url+page.url(лише колиurlзадано у_config.yml)page_title←page.title
Віджети для всього сайту (нещодавні коментарі/обговорення, топ сторінок, огляд відгуків, стрічка активності користувачів, масовий підрахунок) не прив'язані до сторінки і не отримують ці значення автоматично.
Розміщення даних у ЄС
Клієнти з ЄС додають region: eu, або глобально:
fastcomments:
tenant_id: your-tenant-id
region: eu
або на рівні тегу: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Тоді віджети завантажуються з ЄС CDN.
Статус обслуговування 
Ці компоненти є обгортками навколо наших основних компонентів VanillaJS. Ми можемо автоматично оновлювати ці компоненти (виправляти помилки, додавати функції) без публікації цієї бібліотеки, тож хоча вона може деякий час не бути опублікованою, це не означає, що FastComments не перебуває в активній розробці! Слідкуйте за оновленнями в нашому блозі. Несумісні зміни API або нові функції ніколи не будуть додані до базової core-бібліотеки без підвищення версії в цій бібліотеці.
Потрібна допомога?
Якщо ви зіткнулися з будь-якими проблемами або маєте питання щодо Jekyll Library, будь ласка:
Співпраця
Внески вітаються! Будь ласка, відвідайте репозиторій на GitHub для отримання інструкцій щодо внеску.