How to use the scrivito.load function in scrivito

To help you get started, we’ve selected a few scrivito examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Scrivito / scrivito_example_app_js / src / prerenderContent / prerenderObjs.js View on Github external
export default async function prerenderObjs(
  objClassesBlacklist,
  storeResult,
  reportError
) {
  console.time("[prerenderObjs]");

  console.time("Loading all objs");
  const objs = await Scrivito.load(() => allObjs(objClassesBlacklist));
  console.timeEnd("Loading all objs");
  console.log(`Loaded ${objs.length} objs`);

  let failedCount = 0;

  const objsGroups = chunk(objs, 10);
  await asyncForEachSequential(objsGroups, async objsGroup =>
    asyncForEach(objsGroup, async obj => {
      try {
        const prerenderedFiles = await prerenderObj(obj);
        await asyncForEach(prerenderedFiles, storeResult);
      } catch (e) {
        failedCount += 1;
        const pageId = obj.id();
        const pageUrl = Scrivito.urlFor(obj);
        reportError(
github Scrivito / scrivito_example_app_js / src / prerenderContent / prerenderSitemap.js View on Github external
export default async function prerenderSitemap(
  objClassesWhitelist,
  storeResult
) {
  console.time("[prerenderSitemap]");

  const pages = await Scrivito.load(() =>
    prerenderSitemapSearch(objClassesWhitelist).take()
  );
  const sitemapUrls = await Scrivito.load(() => pages.map(pageToSitemapUrl));
  const content = sitemapUrlsToSitemapXml(sitemapUrls);

  console.log(
    `[prerenderSitemap] Generated sitemap.xml with ${sitemapUrls.length} items.`
  );
  console.timeEnd("[prerenderSitemap]");
  await storeResult({ filename: "/sitemap.xml", content });
}
github Scrivito / scrivito_example_app_js / src / Components / Tracking.js View on Github external
function configureGoogleAnalytics() {
  return Scrivito.load(() => {
    const rootPage = Scrivito.Obj.root();
    if (!rootPage) {
      return undefined;
    }
    return rootPage.get("googleAnalyticsTrackingId");
  }).then(trackingId => {
    if (trackingId) {
      window.ga =
        window.ga ||
        function ga(...args) {
          (window.ga.q = window.ga.q || []).push(args);
        };
      window.ga.l = +new Date();
      window.ga("create", trackingId, "auto");
      window.ga("set", "anonymizeIp", true);
      window.ga("require", "urlChangeTracker");
github Scrivito / scrivito_example_app_js / src / sitemap.js View on Github external
function pageToSitemapUrl(page) {
  return {
    url: [
      { loc: Scrivito.urlFor(page) },
      { lastmod: formatDate(page.lastChanged(), "yyyy-mm-dd") },
    ],
  };
}

function writeXmlContentToExtract(content) {
  const metaTag = document.getElementsByName("scrivito-content-to-extract")[0];
  metaTag.setAttribute("content", `data:text/xml;base64,${btoa(content)}`);
}

window.prerenderReady = false;
Scrivito.load(sitemapXml)
  .then(writeXmlContentToExtract)
  .then(() => {
    window.prerenderReady = true;
  });
github Scrivito / scrivito_example_app_js / src / Components / Intercom.js View on Github external
componentDidMount() {
    Scrivito.load(() => {
      const rootPage = Scrivito.Obj.root();
      if (!rootPage) {
        return undefined;
      }
      return rootPage.get("intercomAppId");
    }).then(intercomAppId => {
      if (intercomAppId) {
        Scrivito.finishLoading().then(() => {
          installIntercom(intercomAppId);
          this.setState({ intercomAppId });
        });
      }
    });
  }
github Scrivito / scrivito_example_app_js / src / Objs / Redirect / RedirectComponent.js View on Github external
componentDidMount() {
    Scrivito.load(() => {
      const link = this.props.page.get("link");
      const url = link && Scrivito.urlFor(link);

      return { link, url };
    }).then(({ link, url }) => {
      if (!link) {
        return;
      }

      if (link.isExternal()) {
        window.top.location.replace(url);
      } else {
        window.location.replace(url);
      }
    });
  }

scrivito

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

LGPL-3.0
Latest version published 8 days ago

Package Health Score

68 / 100
Full package analysis