
Език 🇧🇬 Български
Документация
Първи стъпки
Конфигурация
Добавете коментари към вашия Jekyll сайт
Това е официалната Jekyll библиотека за FastComments.
Вградете уиджети за коментари в реално време, чат и отзиви във вашия Jekyll сайт.
Репозитория
Демонстрация на живо 
Изпробвайте всеки уиджет на живо на https://fastcomments.com/commenting-system-for-jekyll.
Живо представяне 
За да видите всеки таг, работещ локално срещу публичния demo наемател, клонирайте хранилището и изпълнете:
cd example
bundle install
bundle exec jekyll serve
Всяки widget има своя собствена страница под example/, която можете да копирате директно във вашия собствен Jekyll сайт.
Бърз старт 
Задайте tenant id-а си веднъж в _config.yml:
fastcomments:
tenant_id: demo
След това добавете таг навсякъде, където искате уиджета, в шаблон, публикация или страница:
{% raw %}{% fastcomments %}{% endraw %}
Това е всичко. Заменете demo с вашия FastComments tenant id (намира се в Настройки > 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:. - Контекст на страницата, извлечен автоматично за джунджурии (widgets), обвързани със страница (виж по-долу).
- Атрибути на тагa, записани директно върху тага.
Така че 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 и т.н.). Всеки друг параметър от widget configuration преминава по същия начин.
Стойности, извлечени от страницата
За джунджуриите, обвързани със страница (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
Джунджурии, обхващащи целия сайт (последни коментари/дискусии, топ страници, обобщение на ревюта, фийд на активността на потребители, bulk count) не са привързани към страница и не извличат тези стойности.
EU data residency
Клиенти от ЕС добавят region: eu, или глобално:
fastcomments:
tenant_id: your-tenant-id
region: eu
или за всеки таг: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Джунджуриите тогава се зареждат от CDN за ЕС.
Статус на поддръжката 
Тези компоненти са обвивки около нашите основни VanillaJS компоненти. Можем автоматично да актуализираме тези компоненти (да поправяме бъгове, да добавяме функции) без да публикуваме тази библиотека, така че въпреки че може да не бъде публикувана за известно време, това не означава, че FastComments не е в активно развитие! Не се колебайте да посетите нашия блог за актуализации. Промени в API-то, които нарушават съвместимостта, или функции, които въвеждат несъвместимости, никога няма да бъдат прехвърляни в подлежащата основна библиотека без увеличение на версията на тази библиотека.
Нужна помощ?
Ако срещнете проблеми или имате въпроси относно библиотеката Jekyll, моля:
Принос
Приноси са добре дошли! Моля, посетете хранилището в GitHub за указания за приноси.