* Add status property to content item structure This commit introduces a new `status` property to the content item structure, allowing content items to maintain a status such as 'draft', 'published', 'review', 'pending'. This status is mapped to the corresponding status in Wordpress and Keystatic clients to ensure consistent usage across platforms. Content retrieval methods now also include a status filter. * Refactor code for style and readability improvements This commit includes changes in various files across different packages to improve code readability, including adjusting spacing and breaking down complex lines into simpler parts. In addition, the switch statement in `wp-client.ts` has been refactored and status values are now held in variables, and the CSS classes in `global-loader.tsx` have been reorganized.
CMS/Keystatic - @kit/keystatic
Implementation of the CMS layer using the Keystatic library.
This implementation is used when the host app's environment variable is set as:
CMS_CLIENT=keystatic
KEYSTATIC_PATH=content
Additionally, the following environment variables may be required:
KEYSTATIC_STORAGE_KIND=local # local, cloud, github
KEYSTATIC_PATH=
You can also use Keystatic Cloud or GitHub as the storage kind as remote storage.
If KEYSTATIC_STORAGE_KIND is set to cloud, the following environment variables are required:
KEYSTATIC_STORAGE_KIND=cloud
KEYSTATIC_STORAGE_PROJECT=project-id
If KEYSTATIC_STORAGE_KIND is set to github, the following environment variables are required:
KEYSTATIC_STORAGE_KIND=github
KEYSTATIC_STORAGE_REPO=makerkit/next-supabase-saas-kit-turbo-demo
KEYSTATIC_GITHUB_TOKEN=github_*****************************************************
KEYSTATIC_PATH_PREFIX=apps/web
Of course, you need to replace the KEYSTATIC_STORAGE_REPO and KEYSTATIC_GITHUB_TOKEN with your own values.
GitHub mode requires the installation of a GitHub app for displaying the admin.
Please refer to the Keystatic documentation for more information.
If your content folder is not at content, you can set the KEYSTATIC_CONTENT_PATH environment variable to the correct path. For example, if your content folder is at data/content, you can set the KEYSTATIC_CONTENT_PATH environment variable as:
KEYSTATIC_CONTENT_PATH=data/content