/*! The Knowledge – first-party proof widgets (Senja-compatible layouts). No dependencies, no tracking. * * Usage (drop-in next to, or in place of, a Senja embed): *
* * * Optional attributes on the div: * data-layout="avatars|quote-wall|carousel" override the widget's layout * data-collection="coaching|writing|course" filter instead of a named widget * data-limit="12" cap the number of proofs shown * data-src="https://…" alternative data URL (JSON) * * Data source: the Ghost page /proof-data/ (Content API, CORS-enabled), which holds the approved, * public proof library as JSON. Only proofs marked approved+public are ever published there. */ (function () { 'use strict'; if (window.__tkProofLoaded) { window.__tkProofLoaded.scan(); return; } var GHOST = 'https://theknowledge.io'; var KEY = '0ac47743a5f2454a16d2d79223'; var PAGE = GHOST + '/ghost/api/content/pages/slug/proof-data/?key=' + KEY + '&fields=html'; var LAYOUT = { avatars: 'avatars', small_quote_wall: 'quote-wall', card_carousel: 'carousel' }; var dataPromise = {}; function load(src) { src = src || PAGE; if (!dataPromise[src]) { dataPromise[src] = fetch(src, { credentials: 'omit' }).then(function (r) { if (!r.ok) throw new Error('proof data ' + r.status); return r.json(); }).then(function (j) { if (j.pages) { // Ghost Content API wrapper: JSON lives in a