Decap CMS

repository·main·Indexed 12 days ago

https://github.com/decaporg/decap-cms

A Git-based content management system (formerly Netlify CMS) for static site generators. It provides a web interface for editing content in Git repositories and includes backends for GitHub, GitLab, Bitbucket, Azure, and Netlify Git Gateway. The project offers a standard package and a `decap-cms-app` version for use with extensions, requiring manual initialization and React peer dependencies.

Tokens
44.4K
Snippets
146
Records
208
Agent score
97%

What's inside Decap CMS

  1. Use the AWS Cognito GitHub Proxy backend

    main

    The decap-cms-backend-aws-cognito-github-proxy provides an abstraction layer that sits between Decap CMS and a proxied version of the GitHub REST API. It is designed to facilitate authentication and API requests through an AWS Cognito-compatible flow.

    It consists of two primary components:

    1. Implementation: A wrapper around the standard GitHub Backend that enables the proxied GitHub functionality.
    2. AuthenticationPage: A generic authentication page that utilizes lib-auth to support AWS Cognito-compatible authentication flows, including support for PKCE (Proof Key for Code Exchange).
  2. Use the GitLab backend for Decap CMS

    main

    The GitLab backend provides an abstraction layer between Decap CMS and the GitLab REST API. It implements the File Management System API, allowing the CMS to manage files directly within GitLab repositories.

    Key features include:

    • File Management: Full integration with GitLab's repository structure.
    • Editorial Workflow: Supports GitLab merge requests. It uses merge request labels to track the status of unpublished entries, enabling a structured review process within the CMS.
  3. Use the Azure backend for Decap CMS

    main

    The Azure backend provides an abstraction layer between Decap CMS and the Azure DevOps REST API. It allows Decap CMS to manage files and content directly within Azure DevOps repositories.

    It is composed of three main components:

    • Implementation: An implementation of the File Management System API.
    • Api: A wrapper around the Azure DevOps REST API.
    • AuthenticationPage: A component that facilitates the implicit authentication flow using lib-auth.
  4. Understand the GitLab backend architecture

    main

    The GitLab backend is composed of several key architectural components:

    • Implementation: The core logic that implements the File Management System API. It handles the translation of CMS file operations into GitLab API calls and manages the Editorial Workflow via merge request labels.
    • Api: A specialized wrapper around the GitLab REST API used to perform repository operations.
    • AuthenticationPage: A UI component that leverages lib-auth to handle user authentication via OAuth, PKCE, or implicit flows, allowing users to securely connect their GitLab accounts to the CMS.
  5. Understand the GitHub backend architecture

    main

    The GitHub backend acts as an abstraction layer between Decap CMS and the GitHub REST and GraphQL APIs. It implements the File Management System API to allow the CMS to interact with GitHub repositories for content management.

    Key components include:

    • Implementation: An implementation of the File Management System API.
    • Api: A wrapper around the GitHub REST API.
    • GraphQLApi: An extension of Api that utilizes ApolloClient to interact with the GitHub GraphQL API.
    • AuthenticationPage: A component that leverages lib-auth to handle OAuth and implicit authentication flows.