@sveltia/cms
Version:
Sveltia CMS is a modern, lightweight, Git-based headless content management system.
1 lines • 289 kB
JSON
{"$schema":"http://json-schema.org/draft-07/schema#","$ref":"#/definitions/CmsConfig","definitions":{"CmsConfig":{"type":"object","properties":{"load_config_file":{"type":"boolean","description":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://sveltiacms.app/en/docs/api/initialization). This works only in the `CMS.init()` method’s `config` option. Default: `true`.","markdownDescription":"Whether to load YAML/JSON CMS configuration file(s) when [manually initializing the CMS](https://sveltiacms.app/en/docs/api/initialization). This works only in the `CMS.init()` method’s `config` option. Default: `true`."},"backend":{"$ref":"#/definitions/Backend","description":"Backend options.","markdownDescription":"Backend options."},"publish_mode":{"type":"string","enum":["","simple","editorial_workflow"],"description":"Publish mode. An empty string is the same as `simple`. Default: `simple`. Note that Editorial Workflow is not yet supported in Sveltia CMS.","markdownDescription":"Publish mode. An empty string is the same as `simple`. Default: `simple`. Note that Editorial Workflow is not yet supported in Sveltia CMS."},"media_folder":{"type":"string","description":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media storage is configured.","markdownDescription":"Global internal media folder path, relative to the project’s root directory. Required unless a cloud media storage is configured."},"public_folder":{"type":"string","description":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value.","markdownDescription":"Global public media folder path, relative to the project’s public URL. It must be an absolute path starting with `/`. Default: `media_folder` option value."},"media_library":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media storage.","markdownDescription":"Configuration for the default media storage."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget.","markdownDescription":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based integration instead of Cloudinary’s pre-built widget."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"config":{"type":"object","description":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader.","markdownDescription":"Options to be passed to Uploadcare, such as `multiple`. The `publicKey` option is required for the global `media_library` option. See the [Uploadcare documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of available options. Some options, including `previewStep`, will be ignored in Sveltia CMS because we use an API-based integration instead of Uploadcare’s deprecated jQuery File Uploader."},"settings":{"$ref":"#/definitions/UploadcareMediaLibrarySettings","description":"Integration settings.","markdownDescription":"Integration settings."}},"required":["name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","description":"Media library name (used when configuring via legacy `media_library`).","markdownDescription":"Media library name (used when configuring via legacy `media_library`)."},"access_key_id":{"type":"string","description":"AWS access key ID or equivalent (safe to store in config).","markdownDescription":"AWS access key ID or equivalent (safe to store in config)."},"bucket":{"type":"string","description":"Bucket name.","markdownDescription":"Bucket name."},"region":{"type":"string","description":"AWS region (e.g., 'us-east-1'). Required for Amazon S3, DigitalOcean Spaces, Scaleway Object Storage, and Supabase Storage.","markdownDescription":"AWS region (e.g., 'us-east-1'). Required for Amazon S3, DigitalOcean Spaces, Scaleway Object Storage, and Supabase Storage."},"account_id":{"type":"string","description":"Cloudflare account ID. Required for Cloudflare R2.","markdownDescription":"Cloudflare account ID. Required for Cloudflare R2."},"jurisdiction":{"type":"string","enum":["default","eu","fedramp"],"description":"Cloudflare R2 jurisdiction. Required for buckets created in the EU or FedRAMP jurisdictions; the global endpoint returns an error for those buckets. Default: `'default'`.","markdownDescription":"Cloudflare R2 jurisdiction. Required for buckets created in the EU or FedRAMP jurisdictions; the global endpoint returns an error for those buckets. Default: `'default'`."},"project_id":{"type":"string","description":"Supabase project reference ID. Required for Supabase Storage.","markdownDescription":"Supabase project reference ID. Required for Supabase Storage."},"endpoint":{"type":"string","description":"Custom endpoint URL for S3-compatible services.","markdownDescription":"Custom endpoint URL for S3-compatible services."},"prefix":{"type":"string","description":"Path prefix within bucket.","markdownDescription":"Path prefix within bucket."},"force_path_style":{"type":"boolean","description":"Use path-style URLs instead of virtual-hosted-style.","markdownDescription":"Use path-style URLs instead of virtual-hosted-style."},"public_url":{"type":"string","description":"Base URL for public asset access. When set, asset preview and download URLs are constructed as `{public_url}/{key}` instead of the S3 API endpoint URL. Required for Cloudflare R2 (S3 API endpoint always requires authentication); set to the `r2.dev` development URL (e.g. `https://pub-abcd1234.r2.dev`) or a custom domain. Optional for Amazon S3 and DigitalOcean Spaces — use when serving assets through a CDN or custom domain (e.g. CloudFront or Route 53 for S3, CDN endpoint for Spaces).","markdownDescription":"Base URL for public asset access. When set, asset preview and download URLs are constructed as `{public_url}/{key}` instead of the S3 API endpoint URL. Required for Cloudflare R2 (S3 API endpoint always requires authentication); set to the `r2.dev` development URL (e.g. `https://pub-abcd1234.r2.dev`) or a custom domain. Optional for Amazon S3 and DigitalOcean Spaces — use when serving assets through a CDN or custom domain (e.g. CloudFront or Route 53 for S3, CDN endpoint for Spaces)."}},"required":["access_key_id","bucket","name"]},{"type":"object","additionalProperties":false,"properties":{"name":{"$ref":"#/definitions/MediaLibraryName","description":"Library name.","markdownDescription":"Library name."},"providers":{"type":"array","items":{"$ref":"#/definitions/StockAssetProviderName"},"description":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers.","markdownDescription":"Enabled stock photo/video providers. The stock photo/video section in the asset browser is hidden if an empty array is given. Default: all supported providers."}},"required":["name"]}],"description":"Legacy media storage option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple storage providers.","markdownDescription":"Legacy media storage option that allows only one library. This overrides the global `media_library` option. Use `media_libraries` instead to support multiple storage providers."},"media_libraries":{"$ref":"#/definitions/MediaLibraries","description":"Unified media storage option that supports multiple libraries. See the [documentation](https://sveltiacms.app/en/docs/media#configuration) for details.","markdownDescription":"Unified media storage option that supports multiple libraries. See the [documentation](https://sveltiacms.app/en/docs/media#configuration) for details."},"app_title":{"type":"string","description":"Custom title for the CMS, which will be displayed on the login page and the browser’s tab. Default: `Sveltia CMS`.","markdownDescription":"Custom title for the CMS, which will be displayed on the login page and the browser’s tab. Default: `Sveltia CMS`."},"site_url":{"type":"string","description":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin)).","markdownDescription":"Site URL. Default: current site’s origin ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin))."},"display_url":{"type":"string","description":"Site URL linked from the UI. Default: `site_url` option value.","markdownDescription":"Site URL linked from the UI. Default: `site_url` option value."},"logo_url":{"type":"string","description":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","markdownDescription":"Absolute URL or absolute path to the site logo that will be displayed on the entrance page and the browser’s tab (favicon). A square image works best. Default: Sveltia logo.","deprecated":true,"deprecationMessage":"This option is superseded by the new `logo.src` option. See the documentation https://sveltiacms.app/en/docs/customization#custom-logo for details."},"logo":{"$ref":"#/definitions/LogoOptions","description":"Site logo options.","markdownDescription":"Site logo options."},"logout_redirect_url":{"type":"string","description":"URL to redirect users to after logging out.","markdownDescription":"URL to redirect users to after logging out."},"issue_reports":{"$ref":"#/definitions/IssueReports","description":"Issue reporting options.","markdownDescription":"Issue reporting options."},"show_preview_links":{"type":"boolean","description":"Whether to show site preview links. Default: `true`.","markdownDescription":"Whether to show site preview links. Default: `true`."},"slug":{"$ref":"#/definitions/SlugOptions","description":"Entry slug options.","markdownDescription":"Entry slug options."},"collections":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/Collection"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined.","markdownDescription":"Set of collections. The list can also contain dividers, which are used to group collections in the collection list. Either `collections` or `singletons` option must be defined."},"singletons":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/CollectionFile"},{"$ref":"#/definitions/CollectionDivider"}]},"description":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See the [documentation](https://sveltiacms.app/en/docs/collections/singletons) for details.","markdownDescription":"Set of singleton files, such as the CMS configuration file or the homepage file. They are not part of any collection and can be accessed directly through the collection list. The list can also contain dividers. See the [documentation](https://sveltiacms.app/en/docs/collections/singletons) for details."},"asset_collections":{"type":"array","items":{"$ref":"#/definitions/AssetCollection"},"description":"Set of asset collections.","markdownDescription":"Set of asset collections."},"i18n":{"$ref":"#/definitions/I18nOptions","description":"Global i18n options.","markdownDescription":"Global i18n options."},"editor":{"$ref":"#/definitions/EditorOptions","description":"Editor view options.","markdownDescription":"Editor view options."},"output":{"$ref":"#/definitions/OutputOptions","description":"Data output options. See the [documentation](https://sveltiacms.app/en/docs/data-output#controlling-data-output) for details.","markdownDescription":"Data output options. See the [documentation](https://sveltiacms.app/en/docs/data-output#controlling-data-output) for details."},"field_defaults":{"$ref":"#/definitions/FieldDefaults","description":"Default options for fields.","markdownDescription":"Default options for fields."},"$schema":{"type":"string","format":"uri"}},"required":["backend"],"additionalProperties":false,"description":"CMS configuration.","markdownDescription":"CMS configuration.","anyOf":[{"required":["collections"]},{"required":["singletons"]}]},"Backend":{"anyOf":[{"$ref":"#/definitions/GitBackend"},{"$ref":"#/definitions/TestBackend"}],"description":"Backend options.","markdownDescription":"Backend options."},"GitBackend":{"anyOf":[{"$ref":"#/definitions/GitHubBackend"},{"$ref":"#/definitions/GitLabBackend"},{"$ref":"#/definitions/GiteaBackend"}],"description":"Git-based backend.","markdownDescription":"Git-based backend."},"GitHubBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"github","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`.","markdownDescription":"REST API endpoint for the backend. Required when using GitHub Enterprise Server. Default: `https://api.github.com`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`."},"auth_type":{"type":"string","const":"","description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is not yet supported."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `auth`.","markdownDescription":"OAuth base URL path. Default: `auth`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`. Note that Editorial Workflow is not yet supported in Sveltia CMS.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`. Note that Editorial Workflow is not yet supported in Sveltia CMS."},"squash_merges":{"type":"boolean","description":"Whether to use squash marge for Editorial Workflow. Default: `false`. Note that Editorial Workflow is not yet supported in Sveltia CMS.","markdownDescription":"Whether to use squash marge for Editorial Workflow. Default: `false`. Note that Editorial Workflow is not yet supported in Sveltia CMS."},"preview_context":{"type":"string","description":"Deploy preview link context.","markdownDescription":"Deploy preview link context."},"open_authoring":{"type":"boolean","description":"Whether to use Open Authoring. Default: `false`. Note that Open Authoring is not yet supported in Sveltia CMS.","markdownDescription":"Whether to use Open Authoring. Default: `false`. Note that Open Authoring is not yet supported in Sveltia CMS."},"auth_scope":{"type":"string","enum":["repo","public_repo"],"description":"Authentication scope for Open Authoring.","markdownDescription":"Authentication scope for Open Authoring."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See the documentation https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details."},"auth_methods":{"type":"array","items":{"$ref":"#/definitions/AuthMethodName"},"description":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error.","markdownDescription":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error."},"include_credentials":{"type":"boolean","description":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend.","markdownDescription":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend."}},"required":["name","repo"],"description":"GitHub backend.","markdownDescription":"GitHub backend."},"CommitMessages":{"type":"object","properties":{"create":{"type":"string","description":"Message to be used when a new entry is created.","markdownDescription":"Message to be used when a new entry is created."},"update":{"type":"string","description":"Message to be used when existing entries are updated.","markdownDescription":"Message to be used when existing entries are updated."},"delete":{"type":"string","description":"Message to be used when existing entries are deleted.","markdownDescription":"Message to be used when existing entries are deleted."},"uploadMedia":{"type":"string","description":"Message to be used when new files are uploaded/updated.","markdownDescription":"Message to be used when new files are uploaded/updated."},"deleteMedia":{"type":"string","description":"Message to be used when existing files are deleted.","markdownDescription":"Message to be used when existing files are deleted."},"openAuthoring":{"type":"string","description":"Message to be used when committed via a forked repository.","markdownDescription":"Message to be used when committed via a forked repository."}},"additionalProperties":false,"description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"AuthMethodName":{"type":"string","enum":["oauth","token"],"description":"Authentication method name for Git backends.","markdownDescription":"Authentication method name for Git backends."},"GitLabBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitlab","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`.","markdownDescription":"Repository identifier: namespace and project name joined by a slash, e.g. `group/project` or `group/subgroup/project`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted GitLab instance. Default: `https://gitlab.com/api/v4`."},"graphql_api_root":{"type":"string","description":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value.","markdownDescription":"GraphQL API endpoint for the backend. Default: inferred from `api_root` option value."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitlab.com`."},"auth_type":{"type":"string","enum":["","pkce"],"description":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS.","markdownDescription":"OAuth grant type. The default is an empty string, which is authorization code grant. `pkce` is recommended for better security and easier setup. `implicit` is not supported in Sveltia CMS."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID. Required when using PKCE authorization.","markdownDescription":"OAuth application ID. Required when using PKCE authorization."},"cms_label_prefix":{"type":"string","description":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`. Note that Editorial Workflow is not yet supported in Sveltia CMS.","markdownDescription":"Pull request label prefix for Editorial Workflow. Default: `sveltia-cms/`. Note that Editorial Workflow is not yet supported in Sveltia CMS."},"squash_merges":{"type":"boolean","description":"Whether to use squash marge for Editorial Workflow. Default: `false`. Note that Editorial Workflow is not yet supported in Sveltia CMS.","markdownDescription":"Whether to use squash marge for Editorial Workflow. Default: `false`. Note that Editorial Workflow is not yet supported in Sveltia CMS."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See the documentation https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details."},"auth_methods":{"type":"array","items":{"$ref":"#/definitions/AuthMethodName"},"description":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error.","markdownDescription":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error."},"include_credentials":{"type":"boolean","description":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend.","markdownDescription":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend."}},"required":["name","repo"],"description":"GitLab backend.","markdownDescription":"GitLab backend."},"GiteaBackend":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","const":"gitea","description":"Backend name.","markdownDescription":"Backend name."},"repo":{"type":"string","description":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`.","markdownDescription":"Repository identifier: organization/user name and repository name joined by a slash, e.g. `owner/repo`."},"api_root":{"type":"string","description":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`.","markdownDescription":"REST API endpoint for the backend. Required when using a self-hosted Gitea/Forgejo instance. Default: `https://gitea.com/api/v1`."},"base_url":{"type":"string","description":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`.","markdownDescription":"OAuth base URL origin. Required when using an OAuth client other than Netlify, including [Sveltia CMS Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://gitea.com/`."},"auth_endpoint":{"type":"string","description":"OAuth base URL path. Default: `login/oauth/authorize`.","markdownDescription":"OAuth base URL path. Default: `login/oauth/authorize`."},"app_id":{"type":"string","description":"OAuth application ID.","markdownDescription":"OAuth application ID."},"branch":{"type":"string","description":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used.","markdownDescription":"Git branch name. If omitted, the default branch, usually `main` or `master`, will be automatically detected and used."},"site_domain":{"type":"string","description":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`).","markdownDescription":"Site domain used for OAuth, which will be included in the `site_id` param to be sent to the API endpoint. Default: [current hostname](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname) (or `cms.netlify.com` on `localhost`)."},"commit_messages":{"$ref":"#/definitions/CommitMessages","description":"Custom commit messages.","markdownDescription":"Custom commit messages."},"automatic_deployments":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider. Default: `undefined`.","deprecated":true,"deprecationMessage":"Use the new `skip_ci` option instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`. See the documentation https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments for details."},"skip_ci":{"type":"boolean","description":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details.","markdownDescription":"Whether to enable or disable automatic deployments with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `true`, the `[skip ci]` prefix will be added to commit messages. Default: `undefined`. See the [documentation](https://sveltiacms.app/en/docs/deployments#disabling-automatic-deployments) for details."},"auth_methods":{"type":"array","items":{"$ref":"#/definitions/AuthMethodName"},"description":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error.","markdownDescription":"Allowed authentication methods. Default: both `oauth` and `token` are allowed. To restrict sign-in options, specify only the methods you want to enable, e.g. `[oauth]` to disable access token sign-in, or `[token]` to disable OAuth sign-in. An empty array is invalid and will result in a configuration error."},"include_credentials":{"type":"boolean","description":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend.","markdownDescription":"Whether to include credentials in API requests. Default: `false`. If set to `true`, credentials such as cookies will be included in API requests. This is only necessary when using cookie-based authentication with a self-hosted Git backend."}},"required":["app_id","name","repo"],"description":"Gitea/Forgejo backend.","markdownDescription":"Gitea/Forgejo backend."},"TestBackend":{"type":"object","properties":{"name":{"type":"string","const":"test-repo","description":"Backend name.","markdownDescription":"Backend name."}},"required":["name"],"additionalProperties":false,"description":"Test backend.","markdownDescription":"Test backend."},"MediaLibraryName":{"anyOf":[{"type":"string","const":"default"},{"$ref":"#/definitions/CloudMediaLibraryName"},{"type":"string","const":"stock_assets"}],"description":"Supported media storage name.","markdownDescription":"Supported media storage name."},"CloudMediaLibraryName":{"type":"string","enum":["cloudinary","uploadcare","aws_s3","backblaze_b2","cloudflare_r2","digitalocean_spaces","scaleway_object_storage","supabase_storage"],"description":"Cloud media storage name.","markdownDescription":"Cloud media storage name."},"DefaultMediaLibraryConfig":{"type":"object","additionalProperties":false,"properties":{"multiple":{"type":"boolean","description":"Whether to allow multiple file selection in the media storage. This option is available for compatibility with the Cloudinary and Uploadcare media storage providers, but you can simply use the `multiple` option for the File/Image field types instead.","markdownDescription":"Whether to allow multiple file selection in the media storage. This option is available for compatibility with the Cloudinary and Uploadcare media storage providers, but you can simply use the `multiple` option for the File/Image field types instead."},"max_file_size":{"type":"number","description":"Maximum file size in bytes that can be accepted for uploading.","markdownDescription":"Maximum file size in bytes that can be accepted for uploading."},"slugify_filename":{"type":"boolean","description":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`.","markdownDescription":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`."},"transformations":{"$ref":"#/definitions/ImageTransformations","description":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details.","markdownDescription":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details."}},"description":"Configuration for the default media storage.","markdownDescription":"Configuration for the default media storage."},"ImageTransformations":{"type":"object","additionalProperties":false,"properties":{"svg":{"$ref":"#/definitions/VectorImageTransformationOptions","description":"SVG image transformation options.","markdownDescription":"SVG image transformation options."},"raster_image":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"Raster image transformation options that apply to any supported raster image format.","markdownDescription":"Raster image transformation options that apply to any supported raster image format."},"avif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"AVIF image transformation options.","markdownDescription":"AVIF image transformation options."},"gif":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"GIF image transformation options.","markdownDescription":"GIF image transformation options."},"jpeg":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"JPEG image transformation options.","markdownDescription":"JPEG image transformation options."},"png":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"PNG image transformation options.","markdownDescription":"PNG image transformation options."},"webp":{"$ref":"#/definitions/RasterImageTransformationOptions","description":"WebP image transformation options.","markdownDescription":"WebP image transformation options."}},"description":"Image transformation option map.","markdownDescription":"Image transformation option map."},"VectorImageTransformationOptions":{"type":"object","properties":{"optimize":{"type":"boolean","description":"Whether to optimize the image.","markdownDescription":"Whether to optimize the image."}},"additionalProperties":false,"description":"Vector image transformation option map.","markdownDescription":"Vector image transformation option map."},"RasterImageTransformationOptions":{"type":"object","properties":{"format":{"type":"string","const":"webp","description":"New format. Default: `webp`.","markdownDescription":"New format. Default: `webp`."},"quality":{"type":"number","description":"Image quality between 0 and 100. Default: `85`.","markdownDescription":"Image quality between 0 and 100. Default: `85`."},"width":{"type":"number","description":"Max width. Default: original width.","markdownDescription":"Max width. Default: original width."},"height":{"type":"number","description":"Max height. Default: original height.","markdownDescription":"Max height. Default: original height."}},"additionalProperties":false,"description":"Raster image transformation options. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details.","markdownDescription":"Raster image transformation options. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details."},"UploadcareMediaLibrarySettings":{"type":"object","properties":{"autoFilename":{"type":"boolean","description":"Whether to append a file name to an output URL. Default: `false`.","markdownDescription":"Whether to append a file name to an output URL. Default: `false`."},"defaultOperations":{"type":"string","description":"Transformation operations to be included in an output URL. Default: empty string.","markdownDescription":"Transformation operations to be included in an output URL. Default: empty string."}},"additionalProperties":false,"description":"Settings for the [Uploadcare media storage](https://sveltiacms.app/en/docs/media/uploadcare).","markdownDescription":"Settings for the [Uploadcare media storage](https://sveltiacms.app/en/docs/media/uploadcare)."},"StockAssetProviderName":{"type":"string","enum":["pexels","picsum","pixabay","unsplash"],"description":"Name of supported stock photo/video provider.","markdownDescription":"Name of supported stock photo/video provider."},"MediaLibraries":{"type":"object","properties":{"all":{"$ref":"#/definitions/SharedMediaLibraryOptions","description":"Default options that apply to all internal and cloud media libraries, except for Cloudinary, which uses its own widget. These options can be overridden by library-specific options.","markdownDescription":"Default options that apply to all internal and cloud media libraries, except for Cloudinary, which uses its own widget. These options can be overridden by library-specific options."},"default":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/DefaultMediaLibrary"}],"description":"Options for the default media storage. Set to `false` to explicitly disable the default (internal) storage.","markdownDescription":"Options for the default media storage. Set to `false` to explicitly disable the default (internal) storage."},"cloudinary":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/CloudinaryMediaLibrary"}],"description":"Options for the Cloudinary media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Cloudinary media storage. Set to `false` to explicitly disable."},"uploadcare":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/UploadcareMediaLibrary"}],"description":"Options for the Uploadcare media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Uploadcare media storage. Set to `false` to explicitly disable."},"aws_s3":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the Amazon S3 media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Amazon S3 media storage. Set to `false` to explicitly disable."},"cloudflare_r2":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the Cloudflare R2 media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Cloudflare R2 media storage. Set to `false` to explicitly disable."},"digitalocean_spaces":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the DigitalOcean Spaces media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the DigitalOcean Spaces media storage. Set to `false` to explicitly disable."},"backblaze_b2":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the Backblaze B2 media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Backblaze B2 media storage. Set to `false` to explicitly disable."},"scaleway_object_storage":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the Scaleway Object Storage media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Scaleway Object Storage media storage. Set to `false` to explicitly disable."},"supabase_storage":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/S3MediaLibrary"}],"description":"Options for the Supabase Storage media storage. Set to `false` to explicitly disable.","markdownDescription":"Options for the Supabase Storage media storage. Set to `false` to explicitly disable."},"stock_assets":{"anyOf":[{"type":"boolean","const":false},{"$ref":"#/definitions/StockMediaLibrary"}],"description":"Options for the unified stock photo/video media library. Set to `false` to explicitly disable.","markdownDescription":"Options for the unified stock photo/video media library. Set to `false` to explicitly disable."}},"additionalProperties":false,"description":"Unified media storage option that supports multiple storage providers. See the [documentation](https://sveltiacms.app/en/docs/media#configuration) for details.","markdownDescription":"Unified media storage option that supports multiple storage providers. See the [documentation](https://sveltiacms.app/en/docs/media#configuration) for details."},"SharedMediaLibraryOptions":{"type":"object","properties":{"max_file_size":{"type":"number","description":"Maximum file size in bytes that can be accepted for uploading.","markdownDescription":"Maximum file size in bytes that can be accepted for uploading."},"slugify_filename":{"type":"boolean","description":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`.","markdownDescription":"Whether to rename an original asset file when saving it, according to the global `slug` option. Default: `false`, meaning that the original file name is kept by default, while Netlify/Decap CMS forces to slugify file names. If set to `true`, for example, `Hello World (1).webp` would be `hello-world-1.webp`."},"transformations":{"$ref":"#/definitions/ImageTransformations","description":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details.","markdownDescription":"File transformation option map. The key is an original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported raster image format. See the [documentation](https://sveltiacms.app/en/docs/media/internal#image-optimization) for details."}},"additionalProperties":false,"description":"Shared options that apply to all media libraries.","markdownDescription":"Shared options that apply to all media libraries."},"DefaultMediaLibrary":{"type":"object","properties":{"config":{"$ref":"#/definitions/DefaultMediaLibraryConfig","description":"Configuration for the default media storage.","markdownDescription":"Configuration for the default media storage."}},"additionalProperties":false,"description":"Options for the default media storage.","markdownDescription":"Options for the default media storage."},"CloudinaryMediaLibrary":{"type":"object","properties":{"output_filename_only":{"type":"boolean","description":"Whether to output a file name instead of a full URL. Default: `false`.","markdownDescription":"Whether to output a file name instead of a full URL. Default: `false`."},"use_transformations":{"type":"boolean","description":"Whether to include transformation segments in an output URL. Default: `true`.","markdownDescription":"Whether to include transformation segments in an output URL. Default: `true`."},"config":{"type":"object","description":"Options to be passed to Cloudinary, such as `multiple`. The `cloud_name` and `api_key` options are required for the global `media_library` option. See the [Cloudinary documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options) for a full list of available options. Some options, including `inline_container`, will be ignored in Sveltia CMS because we use an API-based int