FastComments.com

Jekyll sitenize yorum ekleyin

Bu, FastComments için resmi Jekyll Kütüphanesidir.

Jekyll sitenize canlı yorum, sohbet ve inceleme widget'ları gömün.

Depo

GitHub'da Görüntüle


Canlı Gösterim Internal Link


Her bir etiketi, herkese açık demo kiracısına karşı yerel olarak çalışırken görmek için repoyu klonlayın ve şu komutları çalıştırın:

cd example
bundle install
bundle exec jekyll serve

Her widget'in kendi sayfası example/ altında bulunur; bunları doğrudan kendi Jekyll sitenize kopyalayabilirsiniz.

Kurulum Internal Link

Gem

Gem'i sitenizin Gemfile dosyasındaki :jekyll_plugins grubuna ekleyin:

group :jekyll_plugins do
  gem "fastcomments-jekyll"
end

Daha sonra:

bundle install

(Jekyll 3.7+ ve 4.x ile uyumludur.)

Etiketler Internal Link

TagDescription
fastcommentsYanıtlar, oylama, moderasyon ve gerçek zamanlı güncellemeler ile canlı yorum yapma
fastcomments_comment_countGeçerli sayfa için yorum sayısı
fastcomments_comment_count_bulkBir liste/indeks sayfasındaki birçok sayfa için yorum sayıları
fastcomments_live_chatGerçek zamanlı akışlı sohbet bileşeni
fastcomments_collab_chatİşbirlikçi satır içi yorumlar (metin açıklamaları)
fastcomments_image_chatGörüntü açıklama yorumları
fastcomments_recent_commentsSite genelindeki son yorumlar
fastcomments_recent_discussionsSon etkin tartışma başlıkları
fastcomments_reviews_summaryYıldızlı değerlendirmeler özeti
fastcomments_top_pagesEn çok tartışılan sayfalar
fastcomments_user_activity_feedKullanıcı başına etkinlik akışı

Örnekler

{% raw %}{# Yorum sayısı. Bileşen kendi etiketini işler, örn. "0 yorum" #}
{% fastcomments_comment_count %}

{# Canlı sohbet #}
{% fastcomments_live_chat %}

{# İşbirlikçi sohbet. Bir içerik öğesini bir CSS seçici ile hedefleyin #}
<article id="post-body">
  <p>Highlight me to leave a comment.</p>
</article>
{% fastcomments_collab_chat target="#post-body" %}

{# Görsel sohbet. Bir resim öğesini bir CSS seçici ile hedefleyin #}
<img id="hero" src="/hero.jpg" alt="Hero image">
{% fastcomments_image_chat target="#hero" %}

{# İncelemeler özeti #}
{% fastcomments_reviews_summary %}

{# Kullanıcı etkinlik akışı. Bir kullanıcı kimliği gerektirir #}
{% fastcomments_user_activity_feed user_id="demo:demo-user" %}

{# Bir blog indeks sayfası için toplu yorum sayıları #}
{% 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 %}

Yapılandırma Internal Link

Config üç yerden gelir. Daha sonraki kaynaklar kazanır:

  1. Genel varsayılanlar _config.yml içinde fastcomments: anahtarının altında.
  2. Sayfa bağlamı, sayfa kapsamlı widget'lar için otomatik olarak türetilir (aşağıya bakın).
  3. Etiket üzerinde yazılan öznitelikler.

Dolayısıyla etiketteki url_id, sayfadan türetilen değerin üzerine yazar; bu da herhangi bir genel varsayılanın üzerine yazar.

Öznitelik sözdizimi

Öznitelikler snake_case içinde key=value çiftleridir:

{% raw %}{% fastcomments url_id="my-stable-id" readonly=true count=20 %}{% endraw %}
  • Alıntılanmış değerler ("..." veya '...') literal string’lerdir.
  • Alıntılanmamış true/false booleana dönüşür ve sayılar sayı olur.
  • Alıntılanmamış diğer herhangi bir şey sayfa bağlamından bir Liquid değişkeni olarak çözülür, örn. url_id=page.slug. (Liquid, bir etiketin öznitelikleri içinde {% raw %}\{{ ... }}{% endraw %} genişletmez, bu yüzden "{% raw %}\{{ page.slug }}{% endraw %}" yerine çıplak page.slug biçimini kullanın.)

Snake_case öznitelik ve konfigürasyon anahtarları FastComments'ın beklediği camelCase anahtarlara otomatik olarak eşlenir (tenant_idtenantId, url_idurlId, page_titlepageTitle, has_dark_backgroundhasDarkBackground vb.). widget configuration içindeki herhangi bir başka seçenek de aynı şekilde doğrudan geçer.

Sayfadan türetilen değerler

Sayfa kapsamlı widget'lar (fastcomments, fastcomments_comment_count, fastcomments_live_chat, fastcomments_collab_chat, fastcomments_image_chat) için bunlar kendi kendine mevcut sayfadan otomatik olarak doldurulur, siz kendiniz ayarlamadığınız sürece:

  • url_idpage.url (ziyaret edilen alan adından bağımsız sabit bir tanımlayıcı)
  • urlsite.url + page.url (url yalnızca _config.yml içinde ayarlanmışsa)
  • page_titlepage.title

Site genelindeki widget'lar (son yorumlar/tartışmalar, en iyi sayfalar, incelemeler özeti, kullanıcı etkinlik akışı, toplu sayım) bir sayfaya bağlı değildir ve bunları türetmez.

AB veri yerleşimi

AB müşterileri region: eu ekler, ya genel olarak:

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

veya etiket bazında: {% raw %}{% fastcomments region="eu" %}{% endraw %}. Widget'lar daha sonra AB CDN'inden yüklenir.



Bakım Durumu Internal Link

Bu bileşenler, çekirdek VanillaJS bileşenlerimizin etrafında yer alan sarmalayıcılardır. Bu bileşenleri (hataları düzeltme, özellik ekleme) bu kütüphaneyi yeniden yayınlamadan otomatik olarak güncelleyebiliriz; bu nedenle kütüphane bir süre yayımlanmamış olsa da bu, FastComments'in aktif geliştirme altında olmadığı anlamına gelmez! Güncellemeler için blogumuzu kontrol edebilirsiniz. Uyumluluğu bozan API değişiklikleri veya özellikler, bu kütüphanede bir sürüm yükseltmesi yapılmadan alttaki çekirdek kütüphaneye asla gönderilmeyecektir.

Yardımı mı ihtiyacınız var?

Jekyll Kitaplığı ile ilgili herhangi bir sorunla karşılaşırsanız veya sorularınız varsa, lütfen:

Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Katkı yönergeleri için lütfen GitHub deposunu ziyaret edin.