
Dil 🇹🇷 Türkçe
Arka Plan
API
Eklenti Geliştirme
Bağlam
FastComments, bizim Eklentiler olarak adlandırdığımız betikler aracılığıyla temel işlevselliğimizi genişletme yeteneği sağlar.
An Extension yorum bileşenine ek işaretleme ekleyebilir, olay dinleyicileri ekleyebilir ve her türlü kodu çalıştırabilir.
Burada üretimde kullandığımız eklentilere örnekler ile eklenti yazma hakkında dokümantasyon bulacaksınız.
Eklentinin Yaşam Döngüsü 
Her uzantı için betik, yorum bileşeni ilk yorum kümesini almaya ve kullanıcı arayüzünü oluşturmaya başlamadan önce alınır ve çalıştırılır.
İlk yüklemede, aşağıdaki veriler uzantı nesnesine eklenecektir:
config-confignesnesine bir referans.translations-translationsnesnesine bir referans.commentsById- id'ye göre tüm yorumların bir referansı.root- kök DOM düğümüne bir referans.
Uzantılar, yorum bileşeninin uygun zamanlarda çağıracağı istenen işlevleri geçersiz kılmalıdır.
Eklentiyi Tanımlama 
Olabilecek en küçük uzantı şöyle olur:
Run 
Bu örnek için bunu my-extension.js olarak kaydedin ve https://example.com/my-extension.min.js adresinde erişilebilir hale getirin.
Bu uzantı herhangi bir şey yapmaz; yüklenince çekirdek yorum kütüphanesi tarafından oluşturulan uzantı nesnesini alır.
Bu Extension nesnesi tekil (singleton) bir nesnedir ve diğer uzantılarla paylaşılmaz.
Sonraki adım, uzantımızı yüklemek için yorum widget'ına bunu bildirmektir. Örneğin:
Run 
İşlevsel örnekler için bir sonraki bölüme bakın.
Örnek Eklentiler 
FastComments'ta kendi eklentilerimizi aynı API'yi kullanarak yazıyoruz. Bu eklentilerin sıkıştırılmamış kodunu aşağıdaki uç noktalarda görüntüleyebilirsiniz:
Karanlık Mod
Karanlık Mod eklentisi, bir "dark" sayfa tespit edildiğinde koşullu olarak yüklenir. Bu eklenti basitçe yorum bileşenine bazı CSS ekler. Böylece gerekmediğinde karanlık mod CSS'ini yüklememize gerek kalmaz.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.dark.extension.js
Moderasyon
Geçerli kullanıcı moderatör olduğunda moderasyon eklentisini kullanıyoruz.
Bu, tıklamaya dayalı olay dinleyicileri eklemek, API istekleri yapmak, yorum menüsüne ve yorum alanlarına eklemeler yapmak için iyi bir örnektir.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.moderation.extension.js
Canlı Sohbet
Canlı Sohbet eklentisi (diğer yapılandırma ve stil ayarlarıyla birlikte) yorum bileşenini bir canlı sohbet bileşenine dönüştürür.
https://fastcomments.com/js/comment-ui/extensions/live-chat.extension.js
Eklenti Nesnesi 
Eklenti nesnesi aşağıdaki tanımdan oluşur:
Run 
Eklenti API'si 
Extension ile etkileşim basittir; çağrılmasını istediğimiz fonksiyonlara referanslar tanımlamak yeterlidir.
Önceki örnekten yola çıkarak, her yorumun üstüne HTML eklemek istediğimizi varsayalım:
Run 
Böyle HTML döndürdüğünüzde, dom-diffing algoritması aracılığıyla UI'ya birleştirilir.
Bir yorumun yeniden render edilmesini elle tetikleme
İlk sayfa yüklemesini bekleyip reRenderComment çağırarak bir yorumu elle yeniden render edebiliriz:
Run 