VUUKLE_CONFIG schema
This is the canonical reference for the VUUKLE_CONFIG object that drives every Vuukle widget on a page.
Top-level shape
interface VuukleConfig { // Required apiKey: string; articleId: string | number;
// Article metadata (strongly recommended) title?: string; url?: string; img?: string; tags?: string; author?: string;
// Global language?: string; // e.g. 'en', 'es', 'fr', 'hi' host?: string; // Required only for endlessMode endlessMode?: boolean; wordpressSync?: 'true' | 'false'; recommendationsWideImages?: boolean; globalRecommendations?: boolean; link?: string; // protocol/host base for recommendation URLs
theme?: { color?: string; // hex darkMode?: boolean; };
// Widget-specific comments?: CommentsConfig; emotes?: EmotesConfig; powerbar?: PowerbarConfig;}comments
interface CommentsConfig { enabled?: boolean; // default true commentingClosed?: boolean; // read-only mode maxChars?: number; // up to 3000 countToLoad?: number; // default 10 sorting?: 'latest' | 'oldest'; hideCommentInputBox?: boolean; hideCommentInputBoxWithButton?: boolean; hideRecommendedArticles?: boolean; hideMoreNews?: boolean; transliteration?: { language: string; enabledByDefault?: boolean; }; auth?: { facebook?: boolean; google?: boolean; twitter?: boolean; disqus?: boolean; password?: boolean; vuukle?: boolean; sso?: { onClick: () => void }; }; editorOptions?: Array<'image' | 'gif' | 'bold' | 'italic' | 'underline' | 'url' | 'blockquote' | 'code' | 'list'>; toxicityLimit?: number; // 0-100, 100 disables spamLimit?: number; // 0-100, 100 disables customText?: Record<string, string>;}emotes
interface EmotesConfig { enabled?: boolean; hideRecommendedArticles?: boolean; size?: number; firstImg?: string; firstName?: string; secondImg?: string; secondName?: string; thirdImg?: string; thirdName?: string; fourthImg?: string; fourthName?: string; fifthImg?: string; fifthName?: string; sixthImg?: string; sixthName?: string; disable?: number[]; // e.g. [3, 5] customText?: Record<string, string>;}powerbar (ShareBar)
interface PowerbarConfig { enabled?: boolean; defaultEmote?: 1 | 2 | 3 | 4 | 5 | 6; verticalPosition?: string; // e.g. '400px' customText?: Record<string, string>;}Widget anchors
| HTML | Renders |
|---|---|
<div id="vuukle-comments"></div> | Comments |
<div id="vuukle-emote"></div> | Emotes |
<div id="vuukle-newsfeed"></div> | Newsfeed |
<div id="vuukle-newsletter"></div> | Newsletter |
<div class="vuukle-powerbar"></div> | ShareBar (horizontal) |
<div class="vuukle-powerbar-vertical"></div> | ShareBar (vertical sticky) |
<a class="vuukle-comment-count" data-id="ID"></a> | Comment count for an article |
For endless / infinite-scroll mode, append -{UNIQUE_INDEX} to each anchor — see infinite scroll install.
Was this page helpful?
Help us improve — drop a note or open the dashboard.