A Git-based CMS for Static Site Generators

Overview

GitHub license npm latest package PRs Welcome

staticjscms.github.io/static-cms

A CMS for static site generators. Give users a simple way to edit and add content to any site built with a static site generator.

DISCLAIMER: This package/repository is under heavy development and as such is very unstable at current. A stable release is targeted for the end of Novemeber and will be labeled 1.0.0. Documentation may not be completely accurate prior to the 1.0.0 release.

Community Chat

How It Works

Static CMS is a single-page app that you pull into the /admin part of your site.

It presents a clean UI for editing content stored in a Git repository.

You setup a YAML config to describe the content model of your site, and typically tweak the main layout of the CMS a bit to fit your own site.

When a user navigates to /admin/ they'll be prompted to log in, and once authenticated they'll be able to create new content or edit existing content.

Read more about Static CMS Core Concepts.

Installation and Configuration

The Static CMS can be used in two different ways.

  • A Quick and easy install, that requires you to create a single HTML file and a configuration file. All the CMS JavaScript and CSS are loaded from a CDN. To learn more about this installation method, refer to the Quick Start Guide
  • A complete, more complex install, that gives you more flexibility but requires that you use a static site builder with a build system that supports npm packages.

static-cms-core

Installation

npm install @staticcms/core

Setup

import React from 'react';
import {
  AzureBackend,
  BitbucketBackend,
  BooleanWidget,
  CodeWidget,
  ColorStringWidget,
  DateTimeWidget,
  FileWidget,
  GitGatewayBackend,
  GitHubBackend,
  GitLabBackend,
  imageEditorComponent,
  ImageWidget,
  ListWidget,
  MapWidget,
  MarkdownWidget,
  StaticCmsCore as CMS,
  NumberWidget,
  ObjectWidget,
  ProxyBackend,
  RelationWidget,
  SelectWidget,
  StringWidget,
  TestBackend,
  TextWidget,
  locales,
  Icon,
  images
} from '@static-cms/static-cms-core';

// Register all the things
CMS.registerBackend('git-gateway', GitGatewayBackend);
CMS.registerBackend('azure', AzureBackend);
CMS.registerBackend('github', GitHubBackend);
CMS.registerBackend('gitlab', GitLabBackend);
CMS.registerBackend('bitbucket', BitbucketBackend);
CMS.registerBackend('test-repo', TestBackend);
CMS.registerBackend('proxy', ProxyBackend);
CMS.registerWidget([
  StringWidget.Widget(),
  NumberWidget.Widget(),
  TextWidget.Widget(),
  ImageWidget.Widget(),
  FileWidget.Widget(),
  SelectWidget.Widget(),
  MarkdownWidget.Widget(),
  ListWidget.Widget(),
  ObjectWidget.Widget(),
  RelationWidget.Widget(),
  BooleanWidget.Widget(),
  MapWidget.Widget(),
  DateTimeWidget.Widget(),
  CodeWidget.Widget(),
  ColorStringWidget.Widget(),
]);
CMS.registerEditorComponent(imageEditorComponent);
CMS.registerEditorComponent({
  id: 'code-block',
  label: 'Code Block',
  widget: 'code',
  type: 'code-block',
});
CMS.registerLocale('en', locales.en);

Object.keys(images).forEach(iconName => {
  CMS.registerIcon(iconName, <Icon type={iconName} />);
});

Contributing

New contributors are always welcome! Check out CONTRIBUTING.md to get involved.

Change Log

This project adheres to Semantic Versioning. Every release is documented on the Github Releases page.

License

Static CMS is released under the MIT License. Please make sure you understand its implications and guarantees.

Netlify CMS

Static CMS is a fork of Netlify CMS focusing on the core product over adding massive new features.

Thanks

Comments
  • Integrate or Drop NetlifyCMS Beta Features

    Integrate or Drop NetlifyCMS Beta Features

    Review all beta features and either fully integrate (especially around documentation) or drop each feature.

    Integrated Features

    (unchecked = awaiting documentation)

    • [x] Manual Initialization - This is required now in StaticCMS for both CDN and Bundling setups. Simply call CMS.init()
    • [x] Working with a Local Git
    • [x] List Widget: Variable Types
    • [x] Folder Collections Media and Public Folder #64

    Will Integrate Later

    These features will be fully tested and integrated after 1.0.0 Release. Until then they will remain in beta status, as they have not been fully tested and may potentially be completely broken or not work as intended.

    • [x] i18n Support #62
    • [x] Nested Collections #63
    • [x] Folder Collections Path #64
    • [x] Summary string template transformations #227
    • [x] Registering to CMS Events #228
    • [x] Commit Message Templates #230
    • [x] Image widget file size limit #229

    Dropped Features

    • [x] ~~Remark plugins~~ Dropping as new markdown editor has its own plugin system.
    • [x] ~~GraphQL Support for GitHub and GitLab~~ Dropping in favor of reducing code complexity. Will revisit if needed.
    • [x] ~~Custom Mount Element~~
    • [x] ~~Dynamic Default Values~~
    documentation 
    opened by KaneFreeman 4
  • Website Revitalization

    Website Revitalization

    • [x] Clean up documentation after rewrite
      • [x] Intro
      • [x] Account Settings - Renamed Backends
      • [x] Configure Your Site
      • [x] Collections
      • [x] Widgets
      • [x] Media
      • [x] Platform Guides - Will review these after the beta release #72
      • [x] Customizing Static CMS
      • [x] Community
    • [x] Migrate site to NextJS The thought process here is mostly around my familiarity with NextJS vs Gatsby (which the current site uses). Both are fine choices. The website needs to be rewritten anyways in TypeScript, so this is as good as time as any to convert it.
    • [x] Switch to Material UI
    • [x] Mobile view
    • [x] Search
    documentation 
    opened by KaneFreeman 4
  • fix(deps): update dependency react-frame-component to v5.2.4

    fix(deps): update dependency react-frame-component to v5.2.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react-frame-component | 5.2.3 -> 5.2.4 | age | adoption | passing | confidence |


    Release Notes

    ryanseddon/react-frame-component

    v5.2.4

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch react 
    opened by renovate[bot] 3
  • Relation widget not working

    Relation widget not working

    When using the relation widget according to the documentation, I get the following error message:

    Uncaught (in promise) Error: Not supported
        allEntriesByFolder https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:746
        listAllEntries https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        lct https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:1016
        lct https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:1016
        il https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        wu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        lu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Wr https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        nu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        jo https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Mo https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        p https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        uu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notifyNestedSubs https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        p https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        uu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notifyNestedSubs https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        f https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        TS https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:222
        dO https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        dispatch https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        U$/< https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:222
        dO https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        i https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iF https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:544
        setTimeout handler*iF</< https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:544
        il https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        wu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        lu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Wr https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        nu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        ns https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        push https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        o https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        p https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        onClick https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Me https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Ue https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        ji https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        ji https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Ii https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        qi https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        uu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Qe https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        qi https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Yt https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Bt https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Ni https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Fi https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Wi https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Wi https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        createRoot https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        init https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:1016
        <anonymous> http://localhost:1313/admin-new/#/collections/blog/entries/musikfahrt-2022:13
    [static-cms-core.js:740:4114](https://cdn.jsdelivr.net/npm/@staticcms/[email protected]/dist/static-cms-core.js)
        lct https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:1016
        AsyncFunctionThrow self-hosted:812
        (Async: async)
        lct https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:1016
        il https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        wu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        _u https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        lu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        lu self-hosted:1412
        Wr https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        (Async: VoidFunction)
        iu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        nu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        jo https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        Mo https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        p https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        uu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notifyNestedSubs https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notifyNestedSubs self-hosted:1362
        p https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        uu https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notify https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        notifyNestedSubs https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        r https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        f https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        TS https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:222
        dO https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        dispatch https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        U$/< https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:222
        InterpretGeneratorResume self-hosted:1827
        AsyncFunctionNext self-hosted:807
        (Async: async)
        dO https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:149
        i https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
        iF https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:544
        (Async: setTimeout handler)
        iF https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:544
        il https://cdn.jsdelivr.net/npm/@staticcms/core@latest/dist/static-cms-core.min.js:14
    

    my relation config:

    - label: "Beitragsautor"
      name: "author"
      widget: "relation"
      collection: "author"
      search_fields: ["title"]
      value_field: "title"
    

    my collection config:

    - name: "author" 
        icon: "user"
        label: "Autoren" # Used in the UI
        label_singular: "Autoren"
        folder: "content/german/author" # The path to the folder where the documents are stored
        create: true # Allow users to create new documents in this collection
        slug: "{{slug}}" # Filename template, e.g., yyyy-MM-dd-title.md
        editor:
         preview: false
        media_folder: '/static/media/people'
        public_folder: '/media/people'
        fields: # The fields for each document, usually in front matter
          - {label: "Name", name: "title", widget: "string"}
          - {label: "Hintergrundbild", name: "bg_image", widget: "hidden", default: "/media/backgrounds/page-title.png"}
          - {label: "Metabeschreibung", name: "description", widget: "text", default: "", required: false}
          - {label: "Gravatar-E-Mail", name: "email", widget: "string", required: false}
          - {label: "Foto", name: "image", widget: "image"}
          - label: "Kontaktdaten"
            label_singular: " "
            name: "social"
            widget: "list"
            fields:
              - {label: "Titel", name: "title", widget: "string", required: false}
              - label: "Symbol"
                name: "icon"
                widget: "select"
                options:
                  - { label: "YouTube", value: "fa-brands fa-youtube" }
                  - { label: "Twitter", value: "fa-brands fs-twitter" }
                  - { label: "Pinterest", value: "fa-brands fa-pinterest" }
                  - { label: "GitHub", value: "fa-brands fa-github" }
                  - { label: "GitLab", value: "fa-brands fa-gitlab" }
                  - { label: "Vimeo", value: "fa-brands fa-vimeo" }
                  - { label: "Instagram", value: "fa-brands fa-instagram" }
                  - { label: "Facebook", value: "fa-brands fa-facebook" }
                  - { label: "E-Mail", value: "fa-solid fa-at" }
                  - { label: "Sonstige", value: "fa-solid fa-share-nodes" }
              - {label: "Link", name: "link", widget: "string"}
            required: false
          - {label: "Beschreibung", name: "body", widget: "markdown"}
    
    bug 
    opened by denyskon 3
  • Url broken on the home page

    Url broken on the home page

    Hy,

    Several url are broken on the index page because the base url is https://staticjscms.github.io intead of https://staticjscms.github.io/static-cms/.

    As much as I know Hugo and I could have helped but I don't know Gasby at all, sorry.

    Thanks for the Netlify fork. ;)

    bug 
    opened by McFlyPartages 3
  • chore(deps): update dependency eslint to v8.31.0

    chore(deps): update dependency eslint to v8.31.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint (source) | 8.30.0 -> 8.31.0 | age | adoption | passing | confidence |


    Release Notes

    eslint/eslint

    v8.31.0

    Compare Source

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#​16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#​16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#​16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#​16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#​16608) (Milos Djermanovic)

    Documentation

    Chores


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dev dependencies linting minor 
    opened by renovate[bot] 2
  • fix(deps): update dependency react-frame-component to v5.2.5

    fix(deps): update dependency react-frame-component to v5.2.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | react-frame-component | 5.2.4 -> 5.2.5 | age | adoption | passing | confidence |


    Release Notes

    ryanseddon/react-frame-component

    v5.2.5

    Compare Source

    This release uses DOMContentLoaded as a better strategy over onload when more complex intitialContent payloads are provided. This also accounts for timing issues and uses setInterval to account for cold cache timing issues on resource intensive frames.

    • Rely on DOMContentLoaded instead of onload (#​207) 334d0ef
    • Fallback to setInterval if DOMContentLoaded fails 28584e8

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch react 
    opened by renovate[bot] 2
  • chore(deps): update dependency @types/jest to v29.2.5

    chore(deps): update dependency @types/jest to v29.2.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @types/jest (source) | 29.2.4 -> 29.2.5 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch dev dependencies testing 
    opened by renovate[bot] 2
  • fix(deps): update dependency yaml to v2.2.1

    fix(deps): update dependency yaml to v2.2.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | yaml (source) | 2.2.0 -> 2.2.1 | age | adoption | passing | confidence |


    Release Notes

    eemeli/yaml

    v2.2.1

    Compare Source

    • Quote top-level map keys containing document markers (#​431)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch 
    opened by renovate[bot] 2
  • fix(deps): update dependency @uiw/react-codemirror to v4.19.5

    fix(deps): update dependency @uiw/react-codemirror to v4.19.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @uiw/react-codemirror (source) | 4.19.4 -> 4.19.5 | age | adoption | passing | confidence |


    Release Notes

    uiwjs/react-codemirror

    v4.19.5

    Compare Source

    Documentation v4.19.5: https://raw.githack.com/uiwjs/react-codemirror/1222b42/index.html
    Comparing Changes: https://github.com/uiwjs/react-codemirror/compare/v4.19.4...v4.19.5

    npm i @&#8203;uiw/[email protected]
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch 
    opened by renovate[bot] 2
  • fix(deps): update dependency @uiw/codemirror-extensions-langs to v4.19.5

    fix(deps): update dependency @uiw/codemirror-extensions-langs to v4.19.5

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @uiw/codemirror-extensions-langs (source) | 4.19.4 -> 4.19.5 | age | adoption | passing | confidence |


    Release Notes

    uiwjs/react-codemirror

    v4.19.5

    Compare Source

    Documentation v4.19.5: https://raw.githack.com/uiwjs/react-codemirror/1222b42/index.html
    Comparing Changes: https://github.com/uiwjs/react-codemirror/compare/v4.19.4...v4.19.5

    npm i @&#8203;uiw/[email protected]
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    dependencies patch 
    opened by renovate[bot] 2
  • Look into UI/UX suggestion by austincondiff

    Look into UI/UX suggestion by austincondiff

    While browsing around I found this issue https://github.com/netlify/netlify-cms/issues/2557 from the original repo. Austin Condiff suggested some awesome redesigns, with some mockups and eventually a sandbox: https://codesandbox.io/s/netlify-cms-editor-design-j1cg3

    It looked like some guys got together and started working on it. I'm not sure if they ever got to implementation, or why the project died. Anyways I was thinking, if you are interested, maybe you would want to contact Austin and see if this project can be restarted here.

    FYI I'm a complete amateur, I wouldn't know how to contribute anything myself.

    opened by Skrubbadubba 2
  • Test and fully integrate Commit Message Templates into app and docs

    Test and fully integrate Commit Message Templates into app and docs

    Commit Message Templates is currently a Beta feature from NetlifyCMS. In its current state it remains untested after the rewrite and may be potentially broken and not work at all. After 1.0.0 release this feature will be revisited.

    • [ ] Test out Commit Message Templates
    • [ ] Document Commit Message Templates
    documentation beta feature 
    opened by KaneFreeman 0
  • Test and fully integrate Image widget file size limit into app and docs

    Test and fully integrate Image widget file size limit into app and docs

    Image widget file size limit is currently a Beta feature from NetlifyCMS. In its current state it remains untested after the rewrite and may be potentially broken and not work at all. After 1.0.0 release this feature will be revisited.

    • [ ] Test out Image widget file size limit
    • [ ] Document Image widget file size limit
    documentation beta feature 
    opened by KaneFreeman 0
  • Test and fully integrate Registering to CMS Events into app and docs

    Test and fully integrate Registering to CMS Events into app and docs

    Registering to CMS Events is currently a Beta feature from NetlifyCMS. In its current state it remains untested after the rewrite and may be potentially broken and not work at all. After 1.0.0 release this feature will be revisited.

    • [ ] Test out Registering to CMS Events
    • [ ] Document Registering to CMS Events
    documentation beta feature 
    opened by KaneFreeman 0
  • Test and fully integrate Summary string template transformations support into app and docs

    Test and fully integrate Summary string template transformations support into app and docs

    Summary string template transformations is currently a Beta feature from NetlifyCMS. In its current state it remains untested after the rewrite and may be potentially broken and not work at all. After 1.0.0 release this feature will be revisited.

    • [ ] Test out Summary string template transformations
    • [ ] Document Summary string template transformations
    documentation beta feature 
    opened by KaneFreeman 0
Releases(v1.0.0-beta.6)
  • v1.0.0-beta.6(Dec 22, 2022)

    What's Changed

    • docs: demo site setup (#266)
    • fix: bundling issue with t-joml npm package
    • fix: app webpack file name

    Dependency Updates

    • chore(deps): update babel monorepo to v7.20.7 (#269)
    • chore(deps): update nextjs monorepo to v13.1.0 by (#270)
    • fix(deps): update dependency ol to v7.2.2 (#267, #268)
    • fix(deps): update dependency react-router-dom to v6.6.0 (#265)
    • fix(deps): update dependency react-frame-component to v5.2.4 (#253

    Full Changelog: https://github.com/StaticJsCMS/static-cms/compare/v1.0.0-beta.5...v1.0.0-beta.6

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-beta.5(Dec 21, 2022)

A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators

extract-md-data A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators. Usage Given th

Claire Froelich 2 Jan 6, 2022
A set of scripts to test markdown processing speeds in various site generators/frameworks

bench-framework-markdown A set of scripts to test markdown processing speeds in various site generators/frameworks. Read the blog post: Which Generato

Zach Leatherman 24 Nov 3, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Update & Revalidate Content from a Headless CMS in Next.js with Incremental Static Regeneration

Update & Revalidate Content from a Headless CMS in Next.js with Incremental Static Regeneration Demo for tutorial How to Update & Revalidate Content f

Colby Fayock 4 Jul 22, 2022
Gofiber with NextJS Static HTML is a small Go program to showcase for bundling a static HTML export of a Next.js app

Gofiber and NextJS Static HTML Gofiber with NextJS Static HTML is a small Go program to showcase for bundling a static HTML export of a Next.js app. R

Mai 1 Jan 22, 2022
Build a blog site using Nextjs, Tailwind css, GraphQL, Graph CMS

NextJs-GraphQL-blog-site 1. Key Features 2. Technologies I've used Key Features: ?? In Graph-CMS side we can create post, categories, check the commen

suraj ✨ 10 Dec 8, 2022
Quickly create an interactive HTML mock-up by auto sourcing lorem ipsum/images generators, with minimal html markup, and no server side code

RoughDraft.js v0.1.5 Quickly mockup / prototype HTML pages with auto-generated content, without additional JavaScript or server side code. <section>

Nick Dreckshage 464 Dec 21, 2022
A super simple static site generator

Teeny: A simple static site generator ⚠️ Disclaimer: This is a tool I built in a couple of hours to generate my personal blog yakkomajuri.github.io. I

Yakko Majuri 104 Nov 18, 2022
Turn any dynamic website (especially wordpress) into a fast, secure, stable static site

Static site publisher Turn any dynamic website (especially wordpress) into a fast, secure, stable static site Reduced complexity - no need to run simp

Alex Ivkin 7 Apr 6, 2022
A tiny, fast and fun static site generator for quick blogging

1POST A tiny, fast and fun static site generator for quick blogging. 1POST is written entirely in NodeJS and has no dependencies. You can install as a

Felippe Regazio 141 Dec 5, 2022
An obsidian plugin for uploading local images embedded in markdown to remote store and export markdown for publishing to static site.

Obsidian Publish This plugin cloud upload all local images embedded in markdown to specified remote image store (support imgur only, currently) and ex

Addo.Zhang 7 Dec 13, 2022
📝 Vite & Mdx powered static site generator.Base on islands architecture

Island.js A static site generator for the modern web.It has following features: ?? Base on Vite, it has great development experience. ??️ Islands arch

yangxingyuan 220 Dec 25, 2022
Contented is a Markdown-based authoring workflow that encourage developer authoring within its contextual Git repository.

Contented is a Markdown-based authoring workflow that encourage developer authoring within its contextual Git repository. npm i @birthdayresearch/cont

Birthday Research 44 Jan 7, 2023
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022
GitHub and Markdown-Based CMS for Blogs. EXPERIMENTAL and in the "Idea" stage. I have no clue if this is feasible.

Turborepo starter This is an official pnpm starter turborepo. What's inside? This turborepo uses pnpm as a package manager. It includes the following

David Taing 2 Oct 13, 2022
Repository for hands on practice in Git and GitHub workshop

Git and Github Workshop Jan 2022 Successful contributors ✨ of this project will be featured on the GDSC website so as to bring attraction and learn vi

IIIT Vadodara Open Source 2 Feb 10, 2022