
Мова 🇺🇦 Українська
Документація
Початок роботи
Налаштування
Додайте коментарі на свій сайт Jekyll
Це офіційна бібліотека Jekyll для FastComments.
Вбудуйте віджети живого коментування, чату та оглядів у свій сайт Jekyll.
Репозиторій
Жива демонстрація 
Спробуйте всі віджети наживо на 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, вказаний у тегі, перекриває значення, отримане зі сторінки, яке, у свою чергу, перекриває будь-яке глобальне значення за замовчуванням.
Attribute syntax
Атрибути — це пари key=value у snake_case:
{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
- Quoted values (
"..."or'...') are literal strings. - Unquoted
true/falsebecome booleans, and numbers become numbers. - Unquoted anything else is resolved as a Liquid variable from the page context, e.g.
url_id=page.slug. (Liquid does not expand{% raw %}\{{ ... }}{% endraw %}inside a tag's attributes, so use the barepage.slugform rather than"{% raw %}\{{ page.slug }}{% endraw %}".)
Ключі атрибутів і конфігурації в snake_case автоматично відображаються на camelCase ключі, які очікує FastComments (tenant_id → tenantId, url_id → urlId, page_title → pageTitle, has_dark_background → hasDarkBackground тощо). Будь-яка інша опція з widget configuration проходить без змін тим самим чином.
Page-derived values
Для віджетів, прив'язаних до сторінки (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
Сайтові віджети (недавні коментарі/обговорення, топ-сторінки, зведення відгуків, стрічка активності користувачів, масові підрахунки) не прив'язані до сторінки і не заповнюють ці значення.
EU data residency
Клієнти з ЄС додають region: eu, або глобально:
fastcomments:
tenant_id: your-tenant-id
region: eu
або для окремого тега: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Віджети тоді завантажуються з CDN у ЄС.
Статус підтримки 
Ці компоненти є обгортками навколо наших основних компонентів VanillaJS. Ми можемо автоматично оновлювати ці компоненти (виправляти помилки, додавати функції) без публікації цієї бібліотеки, тож хоча вона може деякий час не бути опублікованою, це не означає, що FastComments не перебуває в активній розробці! Слідкуйте за оновленнями в нашому блозі. Несумісні зміни API або нові функції ніколи не будуть додані до базової core-бібліотеки без підвищення версії в цій бібліотеці.
Потрібна допомога?
Якщо ви зіткнулися з будь-якими проблемами або маєте питання щодо Jekyll Library, будь ласка:
Співпраця
Внески вітаються! Будь ласка, відвідайте репозиторій на GitHub для отримання інструкцій щодо внеску.