FastComments.com

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


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

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

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

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


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

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

cd example
bundle install
bundle exec jekyll serve

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

Инсталирање Internal Link

Гем

Додајте гем у групу :jekyll_plugins у Gemfile вашег сајта:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Затим:

bundle install

(Компатибилно са Jekyll 3.7+ и 4.x.)

Ознаке Internal Link

ОзнакаОпис
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 %}

{# Фид активности корисника. Захтева 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 на тагу има предност над вредношћу изведеном са странице, која има предност над било којом глобалном подразумеваном вредношћу.

Attribute syntax

Атрибути су парови 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 пролази на исти начин.

Page-derived values

За виџете везане за страницу (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

Виджети који покривају цео сајт (скори коментари/дискусије, најпопуларније странице, сажетак рецензија, фид активности корисника, bulk count) нису везани за страницу и не изводе ове вредности.

EU data residency

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

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

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



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

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


Потребна помоћ?

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

Допринос

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