Configure repository-wide behavior in Pages CMS.

What settings does

Use settings for behavior that applies across the whole repository.

Typical uses:

  • hide admin pages,
  • preserve unmanaged keys when saving structured content,
  • define default commit messages.

Keys

Key Description
hide If true, hides the Settings page in the UI.
content.merge Controls how structured content is written back to disk. See Content merge.
commit.templates Global commit message templates. See Commit templates.

Content merge

settings.content.merge controls what happens when Pages CMS saves a structured file.

false (default)

Rewrite the file from the configured schema only.

Anything outside the submitted editor output is removed.

Use this when Pages CMS fully owns the file.

true

Merge the submitted fields into the existing file before saving.

Keys outside the schema are preserved unless the editor overwrites them.

Use this when developers still manage part of the file directly in Git.

Commit templates

Use settings.commit.templates to define the default commit message format for content and media changes.

settings:
  commit:
    templates:
      create: "content(create): {path}"
      update: "content(update): {path}"
      delete: "content(delete): {path}"
      rename: "content(rename): {oldPath} -> {newPath}"

Per-entry templates in content[].commit.templates and media[].commit.templates override these global templates.

Keys

Key Description Default value
create Commit message for new files. Create {path} (via Pages CMS)
update Commit message for edited files. Update {path} (via Pages CMS)
delete Commit message for deleted files. Delete {path} (via Pages CMS)
rename Commit message for renamed files. Rename {oldPath} to {newPath} (via Pages CMS)

Tokens

Token Description
{action} Current action: create, update, delete, or rename.
{path} File path.
{filename} File name only.
{name} Content or media entry name.
{owner} Repository owner.
{repo} Repository name.
{branch} Current branch.
{user} Current user.
{oldPath} Previous path. Rename only.
{newPath} New path. Rename only.
{oldFilename} Previous file name. Rename only.
{newFilename} New file name. Rename only.

Simple example

settings:
  hide: true
  content:
    merge: true