Directus Extension Publish Node

screenshot of Directus Extension Publish Node
directus

A Directus v9 extension (module & endpoint) for initiating a node-based build of a locally-installed site from within the Directus app.

Overview:

The Directus Extension dwaring87-publish-node is a tool developed for the Directus app that allows admin users to initiate and monitor the build of a static site after data in Directus has been updated. The extension includes a frontend app module and a backend API endpoint, both of which work together to manage and initiate the build process.

Features:

  • Site Management: Users can add and configure multiple sites, each with its own local source path and npm package script used to build the site.
  • Automatic Updates: The extension keeps track of when a site was last updated and detects if there have been any data updates in Directus since the last update.
  • Build Monitoring: The module provides a Build Sites page that lists all configured sites, along with their status (Created, Building, Published, or Build Failed) and last updated timestamp.
  • Build Initiation: Users can easily start a build by clicking the Build button for the desired site. The module will monitor the build progress and update the status accordingly.

Summary:

The Directus Extension dwaring87-publish-node is a helpful tool for users of the Directus app who want to easily initiate and monitor the build of a static site. With its site management capabilities, automatic updates, and build monitoring features, it streamlines the process of keeping static sites up to date with the latest data changes in Directus. The installation guide provided ensures a smooth deployment of the extension.

directus
Directus

A website that uses Directus as an open source headless CMS to manage content. This includes features such as a customizable content model, role-based access control, and API-based content delivery to support a wide range of digital experiences.

Recoil

Recoil is a state management library for React that provides an intuitive and flexible API for managing and sharing state across components. It supports a range of features, including derived state, asynchronous updates, and time-travel debugging, and is designed to work well with the React ecosystem and other state management solutions.