FastComments.com

Додајте коментаре на ваш Jekyll сајт

Ово је званична Jekyll библиотека за FastComments.

Уграђујте видгете за коментарисање уживо, чет и рецензије на вашем Jekyll сајту.

Репозиторијум

Погледајте на GitHub-у


Презентација уживо Internal Link

Да бисте видели сваки tag који се покреће локално против јавног demo tenant-а, клонирајте репозиторијум и покрените:

cd example
bundle install
bundle exec jekyll serve

Сваки widget има своју страницу под example/ коју можете директно копирати у ваш Jekyll сајт.

Инсталација Internal Link

Gem

Dodajte gem u grupu :jekyll_plugins u Gemfile вашег сајта:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Затим:

bundle install

(Kompatibilno sa Jekyll 3.7+ i 4.x.)

Ознаке Internal Link

TagDescription
fastcommentsЖиво коментисање са одговорима, гласањем, модерацијом и ажурирањима у реалном времену
fastcomments_comment_countБрој коментара за тренутну страницу
fastcomments_comment_count_bulkБројеви коментара за више страница на једној листи/индекс страници
fastcomments_live_chatВидгет за стримовано ћаскање у реалном времену
fastcomments_collab_chatКолаборативно inline коментарисање (текстуалне анотације)
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 %}

{# Фид активности корисника. Захтева user_id #}
{% 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 %}

Конфигурација Internal Link

Config долази из три места. Каснији извори побеђују:

  1. Глобалне подразумеване вредности у _config.yml под кључем fastcomments:.
  2. Контекст странице, изведен аутоматски за видгете који су везани за страницу (погледајте доле).
  3. Атрибути тега написани на самом тагу.

Дакле, 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_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground, и тако даље). Свака друга опција из widget configuration пролази даље на исти начин.

Вредности изведене са странице

За видгете везане за страницу (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) ове вредности се попуњавају аутоматски из текуће странице осим ако их сами не подесите:

  • url_idpage.url (стабилан идентификатор независан од домена посетилаца)
  • urlsite.url + page.url (само када је url подешен у _config.yml)
  • page_titlepage.title

Видгети који покривају сајт у целини (најновији коментари/дискусије, најпосећеније странице, преглед рецензија, фид активности корисника, масовни бројач) нису везани за страницу и не изводе ове вредности.

Резиденција података у ЕУ

Корисници из ЕУ додају region: eu, било глобално:

fastcomments:
  tenant_id: your-tenant-id
  region: eu

или по тагу: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Видгети ће се онда учитавати са ЕУ CDN-а.



Статус одржавања Internal Link

Ове компоненте су омотачи око наших основних VanillaJS компоненти. Можемо аутоматски ажурирати те компоненте (поправљати грешке, додавати функције) без објављивања ове библиотеке, тако да, иако можда неће бити објављена неко време, то не значи да FastComments није активно у развоју! Слободно погледајте наш блог за ажурирања. Промене API-ја које нису уназад компатибилне или нове функције никад неће бити додате у основну библиотеку без повећања верзије у овој библиотеци.

Треба помоћ?

Ако наиђете на било какве проблеме или имате питања у вези са Jekyll библиотеком, молимо вас:

Како допринети

Допринеси су добродошли! Посетите репозиторијум на GitHub-у за смернице о доприносу.