Socket
Book a DemoInstallSign in
Socket

@cgduzan/strapi-plugin-website-builder

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cgduzan/strapi-plugin-website-builder

A plugin for Strapi Headless CMS that provides the ability to trigger website builds manually, periodically or through model events.

latest
Source
npmnpm
Version
2.2.1
Version published
Weekly downloads
8
-33.33%
Maintainers
1
Weekly downloads
 
Created
Source

strapi-plugin-website-builder

A plugin for Strapi that provides the ability to trigger website builds manually, periodically or through model events.

Downloads Install size Package version

Requirements

The installation requirements are the same as Strapi itself and can be found in the documentation on the Quick Start page in the Prerequisites info card.

Supported Strapi versions

  • v4.x.x

NOTE: While this plugin may work with the older Strapi versions, they are not supported, it is always recommended to use the latest version of Strapi.

Installation

npm install strapi-plugin-website-builder

or

yarn add strapi-plugin-website-builder

Configuration

The plugin configuration is stored in a config file located at ./config/plugins.js.

The plugin has different structures depending on the type of trigger for the build. Each of the following sample configurations is the minimum needed for their respective trigger type.

Manual Configuration

module.exports = ({ env }) => ({
  // ...
 'website-builder': {
    enabled: true,
    config: {
      url: 'https://link-to-hit-on-trigger.com',
      trigger: {
        type: 'manual',
      },
    }
  },
  // ...
});

Cron/Periodic Configuration

module.exports = ({ env }) => ({
  // ...
 'website-builder': {
    enabled: true,
    config: {
      url: 'https://link-to-hit-on-trigger.com',
      trigger: {
        type: 'cron',
        cron: '* * 1 * * *',
      },
    }
  },
  // ...
});

Event Configuration

module.exports = ({ env }) => ({
  // ...
 'website-builder': {
    enabled: true,
    config: {
      url: 'https://link-to-hit-on-trigger.com',
      trigger: {
        type: 'event',
        events: [
          {
            params: (record) => ({
              id: `${record.id}_${record.title}`
            }),
            model: 'recipe',
            types: ['create', 'delete'],
          },
          {
            params: {
              page: "home"
            },
            model: 'homepage',
            types: ['update'],
          },
        ],
      },
    }
  },
  // ...
});

IMPORTANT NOTE: Make sure any sensitive data is stored in env files.

The Complete Plugin Configuration Object

PropertyDescriptionTypeRequired
urlThe trigger URL for the website build.StringYes
headersAny headers to send along with the request.ObjectNo
bodyAny body data to send along with the request.ObjectNo
triggerThe trigger conditions for the build.ObjectYes
trigger.typeThe type of trigger. The current supported options are manual,cron and eventStringYes
trigger.cronThe cron expression to use for cron trigger. The supported expressions are the same as in the strapi docsStringOnly if the type is cron
trigger.eventsThe events to use for the event trigger.ArrayOnly if the type is event
trigger.events.urlThe model specific url to hit on event trigger.StringNo
trigger.events.paramsThe model specific params to add on event trigger.Object or FunctionNo
trigger.events.modelThe model to listen for events on.StringYes
trigger.events.typesThe model events to trigger on. The current supported events are create, update, delete, publish and unpublish. Publish/Unpublish is only supported for non media models.ArrayYes

Usage

Once the plugin has been installed and configured, it will show in the sidebar as Website Builder. To trigger a manual build select the Website Builder menu item in the sidebar and click the Trigger Build button to start a build process.

Bugs

If any bugs are found please report them as a Github Issue

Keywords

strapi

FAQs

Package last updated on 26 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts