
Jezik 🇷🇸 Srpski (Latinica)
Pozadina
API
Razvoj ekstenzija
Kontekst
FastComments omogućava mogućnost proširenja naše osnovne funkcionalnosti putem skripti koje nazivamo ekstenzijama.
An Extension može dodati dodatni markup u widget za komentare, slušaoce događaja, i izvršavati proizvoljan kod.
Ovde ćete naći primere ekstenzija koje imamo u produkciji, kao i dokumentaciju o tome kako pisati ekstenzije.
Životni ciklus ekstenzije 
Skript za svaku ekstenziju se preuzima i poziva pre nego što vidžet komentara počne da preuzima prvi skup komentara i prikazuje korisnički interfejs.
Pri početnom učitavanju, sledeći podaci biće prikačeni na objekat ekstenzije:
config- Referenca na objekatconfig.translations- Referenca na objekattranslations.commentsById- Referenca na sve komentare po id.root- Referenca na root DOM čvor.
Ekstenzije bi trebalo da prepišu željene funkcije, koje će vidžet komentara pozivati u odgovarajućim trenucima.
Definisanje ekstenzije 
Najmanje moguće proširenje bi bilo:
Run 
Za potrebe ovog primera, sačuvajte ovo kao my-extension.js, i postavite ga na https://example.com/my-extension.min.js.
Ovo proširenje ništa ne radi, osim što pri učitavanju preuzima Extension objekat koji je kreirala osnovna biblioteka za komentare.
Ovaj Extension objekat je singleton i nije deljen sa nijednim drugim proširenjima.
Dalje, da bismo učitali naše proširenje, moramo obavestiti widget za komentare o njemu. Na primer:
Run 
Za funkcionalne primere, pogledajte sledeći odeljak.
Primeri ekstenzija 
U FastCommentsu pišemo sopstvene ekstenzije koristeći isti API. Ne-minifikovani kod ovih ekstenzija možete pogledati na sledećim endpoint-ovima:
Tamni režim
Ekstenzija Tamni režim se uslovno učitava kada se detektuje "dark" stranica. Ova ekstenzija jednostavno dodaje neki CSS komentarskom widgetu. Na taj način ne moramo da učitavamo dark mode CSS kada nije potreban.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.dark.extension.js
Moderacija
Kada je trenutni korisnik moderator, koristimo ekstenziju za moderaciju.
Ovo je dobar primer za dodavanje slušača događaja zasnovanih na klikovima, pravljenje API zahteva, dodavanje u meni komentara i oblasti komentara.
https://fastcomments.com/js/comment-ui/extensions/comment-ui.moderation.extension.js
Uživo ćaskanje
Ekstenzija Live Chat (u kombinaciji sa dodatnom konfiguracijom i stilizacijom) pretvara komentarski widget u komponentu za ćaskanje uživo.
https://fastcomments.com/js/comment-ui/extensions/live-chat.extension.js
Objekat ekstenzije 
The extension object consists of the following definition:
Run 
API ekstenzije 
Interakcija sa Extension je jednostavna, jer jednostavno definišemo reference na funkcije koje želimo da budu pozvane.
Da bismo nadogradili raniji primer, pretpostavimo da želimo da dodamo HTML na vrh svakog komentara:
Run 
Kad god vratite HTML kao ovaj, on će biti uklopljen u UI putem algoritma za dom-diffing.
Ručno pokretanje ponovnog renderovanja komentara
Možemo sačekati inicijalno učitavanje stranice i ručno ponovo renderovati komentar pozivanjem reRenderComment:
Run 