{"componentChunkName":"component---src-templates-blog-post-js","path":"/how-to-embed-vuukle-on-endless-pages/","result":{"data":{"site":{"siteMetadata":{"title":"Vuukle Docs","author":"Vuukle"}},"markdownRemark":{"id":"2898d602-c9e6-55f0-8fa7-00ee75f15267","html":"<p>Infinite Scrolling provides a seamless experience by automatically loading in new content as the user scroll down the page. Research findings consider it to be a superior implementation in comparison to pagination because it allows the user to view much more content smoothly and without the need for unnecessary and redundant interactions in form of loading in new content. Vuukle provides a solution for integrating with your Infinite Scrolling implementation so that it is possible to load multiple instances of Vuukle comments and Emotes widget on a single page.</p>\n<h2>How to integrate Vuukle with your Infinite Scrolling implementation</h2>\n<p>The following steps would help you integrating Vuukle with your Infinite Scrolling implementation –</p>\n<p><strong>1.</strong> Add the following code in each of your stories. This is used for rendering the Vuukle Comments and Emotes widgets. Make sure to add unique identifiers across stories (in the form of <code class=\"language-text\">id</code> attribute) to the Emotes and comment section.</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">class</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>vuukle-powerbar-{UNIQUE ARTICLE INDEX}<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>vuukle-emote-{UNIQUE ARTICLE INDEX}<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>vuukle-comments-{UNIQUE ARTICLE INDEX}<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p><strong>Note:</strong> The Vuukle widgets are rendered in the div by unique index, more about that in Step 3</p>\n<p><strong>2.</strong> Now include the JavaScript code for rendering Vuukle on the page –</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n  <span class=\"token keyword\">var</span> <span class=\"token constant\">VUUKLE_CONFIG</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n    host<span class=\"token operator\">:</span> <span class=\"token string\">'Your Host'</span><span class=\"token punctuation\">,</span>\n    apiKey<span class=\"token operator\">:</span> <span class=\"token string\">'Your API key'</span><span class=\"token punctuation\">,</span>\n    language<span class=\"token operator\">:</span> <span class=\"token string\">'en'</span><span class=\"token punctuation\">,</span>\n    endlessMode<span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>text/javascript<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">src</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>https://cdn.vuukle.com/platform.js<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token script\"></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p><strong>3.</strong> Lastly, to render the Vuukle Emotes, Comment widget and powerbar on stories loaded by the Infinite Scrolling implementation, add the following JavaScript code into the articles</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n  window<span class=\"token punctuation\">.</span><span class=\"token function\">newVuukleWidgets</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n      elementsIndex<span class=\"token operator\">:</span> <span class=\"token string\">'UNIQUE INDEX'</span><span class=\"token punctuation\">,</span>\n      articleId<span class=\"token operator\">:</span> Unique article <span class=\"token constant\">ID</span><span class=\"token punctuation\">,</span>\n      img<span class=\"token operator\">:</span> <span class=\"token string\">'Article image'</span><span class=\"token punctuation\">,</span>\n      title<span class=\"token operator\">:</span> <span class=\"token string\">'Article title'</span><span class=\"token punctuation\">,</span>\n      tags<span class=\"token operator\">:</span> <span class=\"token string\">'tag1, tag2'</span><span class=\"token punctuation\">,</span>\n      url<span class=\"token operator\">:</span> <span class=\"token string\">'Article URL'</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n</span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p><strong>Note</strong>: Unique index in <code class=\"language-text\">&lt;script&gt;</code> should be the same for the corresponding <code class=\"language-text\">&lt;div&gt;</code> element for the widget.</p>\n<p>​</p>","frontmatter":{"title":"How to install Vuukle 2.0 platform on infinite scroll pages","date":"August 22, 2017","category":"Install Vuukle","tags":["javascript","installation","Infinite scroll"],"shortDescription":"How to integrate Vuukle with your Infinite Scrolling implementation"}}},"pageContext":{"id":"2898d602-c9e6-55f0-8fa7-00ee75f15267"}}}