@sveltia/cms 0.52.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +1 -1
- package/README.md +86 -51
- package/dist/sveltia-cms.js +176 -176
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +173 -173
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +7 -7
package/LICENSE.txt
CHANGED
package/README.md
CHANGED
|
@@ -41,6 +41,7 @@ The free, open source alternative to Netlify/Decap CMS is now in public beta, tu
|
|
|
41
41
|
- [Features not to be implemented](#features-not-to-be-implemented)
|
|
42
42
|
- [Features to be implemented before GA](#features-to-be-implemented-before-ga)
|
|
43
43
|
- [Features to be implemented after GA](#features-to-be-implemented-after-ga)
|
|
44
|
+
- [Compatibility with Static CMS](#compatibility-with-static-cms)
|
|
44
45
|
- [Other notes](#other-notes)
|
|
45
46
|
- [Getting started](#getting-started)
|
|
46
47
|
- [New users](#new-users)
|
|
@@ -109,15 +110,17 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
109
110
|
|
|
110
111
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
|
|
111
112
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
112
|
-
- So far,
|
|
113
|
-
- Target: 250 or all relevant and
|
|
113
|
+
- So far, 150+ of them, or 300+ including duplicates, have been effectively solved in Sveltia CMS
|
|
114
|
+
- Target: 250 or all relevant, fixable and worthwhile issues in the future; 500 including duplicates
|
|
114
115
|
- Note: Issues include both feature requests and bug reports; we also track their [stale issues](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) and [discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
116
|
+
- Most of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are on our table — Some are already implemented in Sveltia CMS
|
|
115
117
|
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=enhancement) if you have any specific issues you’d like to see solved!
|
|
116
|
-
-
|
|
118
|
+
- Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
|
|
117
119
|
- Implementing our own enhancement ideas for every part of the product
|
|
120
|
+
- Responding to requests from the maintainer’s clients
|
|
118
121
|
- Making the code clean and maintainable
|
|
119
122
|
|
|
120
|
-
<br>
|
|
121
124
|
|
|
122
125
|
## Differentiators
|
|
123
126
|
|
|
@@ -138,11 +141,12 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
138
141
|
### Better performance
|
|
139
142
|
|
|
140
143
|
- Built completely from scratch with Svelte instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast. The compiled code is vanilla JavaScript — you can use it with any framework or static site generator (SSG) that can load static data files during the build process.
|
|
141
|
-
- Small footprint: The bundle size is less than 500 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet. That’s the power of Svelte + Vite.
|
|
144
|
+
- Small footprint: The bundle size is less than 500 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet, but rather implemented many new features. That’s the power of Svelte + Vite.
|
|
142
145
|
- We have upgraded from Svelte 4 to [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) to further improve performance, including an even smaller bundle size. A full migration to the Runes reactivity API is in progress.
|
|
143
146
|
- Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
144
147
|
- Uses the GraphQL API for GitHub and GitLab to quickly fetch content at once, so that entries and assets can be listed and searched instantly[^32][^65] (the useless `search` configuration option is ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
|
|
145
148
|
- Saving entries and assets to GitHub is also much faster thanks to the [GraphQL mutation](https://github.blog/changelog/2021-09-13-a-simpler-api-for-authoring-commits/).
|
|
149
|
+
- Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern File System Access API to read and write files natively through the web browser, rather than using a slow, ad hoc REST API through a proxy server.
|
|
146
150
|
- Sorting, filtering and grouping of entries is done instantly without reloading the entire content.
|
|
147
151
|
- Uses caching and lazy loading techniques. A list of repository files is stored locally for faster startup and bandwidth savings.
|
|
148
152
|
- Thumbnails of assets, including videos and PDF files, are generated and cached for faster rendering of the Asset Library and other parts of the CMS[^39].
|
|
@@ -150,9 +154,8 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
150
154
|
|
|
151
155
|
### Better productivity
|
|
152
156
|
|
|
153
|
-
- Developers can [work with a local Git repository](#working-with-a-local-git-repository) without any
|
|
154
|
-
-
|
|
155
|
-
- It also avoids a number of issues, including the 30 MB file size limit[^51], an unknown error with `publish_mode`[^75], and an unused `logo_url`[^49].
|
|
157
|
+
- Developers can [work with a local Git repository](#working-with-a-local-git-repository) without any additional configuration or proxy server, resulting in a streamlined workflow and improved performance[^26].
|
|
158
|
+
- It also avoids a number of issues, including potential dependency corruption[^158], a 30 MB file size limit[^51], an unknown error with `publish_mode`[^75], and an unused `logo_url`[^49].
|
|
156
159
|
- When you delete an entry or an asset file, the empty folder that contains it is also deleted, so you don’t have to delete it manually.
|
|
157
160
|
- Provides a smoother user experience in the Content Editor:
|
|
158
161
|
- A local backup of an entry draft is automatically created without interruption by a confirmation dialog, which annoys users and can cause a page navigation problem if dismissed[^106]. The backup can then be reliably restored without unexpected overwriting[^85].
|
|
@@ -178,6 +181,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
178
181
|
### Better security
|
|
179
182
|
|
|
180
183
|
- Avoids vulnerabilities in dependencies through constant updates, [`pnpm audit`](https://pnpm.io/cli/audit), and frequent releases, unlike Netlify/Decap CMS where a number of high severity vulnerabilities are unpatched[^33].
|
|
184
|
+
- Our [local repository workflow](#working-with-a-local-git-repository) doesn’t require a proxy server, reducing an attack surface[^158].
|
|
181
185
|
- We have enabled [npm package provenance](https://github.blog/security/supply-chain-security/introducing-npm-package-provenance/).
|
|
182
186
|
- We have documented how to [set up a Content Security Policy](#setting-up-content-security-policy) for the CMS to prevent any unexpected errors or otherwise insecure configuration[^108].
|
|
183
187
|
- The `unsafe-eval` and `unsafe-inline` keywords are not needed in the `script-src` CSP directive[^34].
|
|
@@ -240,16 +244,21 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
240
244
|
- Provides some new options, including:
|
|
241
245
|
- `icon`: [Choose a custom icon for each collection](#using-a-custom-icon-for-a-collection)[^3].
|
|
242
246
|
- `divider`: [Add dividers to the collection list](#adding-dividers-to-the-collection-list).
|
|
243
|
-
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list[^130]. A nested field can be specified using dot notation, e.g. `images.0.src`. If undefined, the `name` of the first image field is used.
|
|
247
|
+
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list, like `thumbnail: featuredImage`[^130]. A nested field can be specified using dot notation, e.g. `images.0.src`. If undefined, the `name` of the first image field is used.
|
|
244
248
|
- Enhancements to the entry `filter` option for folder collections:
|
|
245
249
|
- Boolean `value` works as expected[^93].
|
|
246
250
|
- `value` accepts `null` to match an undefined field value.
|
|
247
251
|
- `value` accepts an array to provide multiple possible values[^151].
|
|
248
252
|
- `pattern` can be used instead of `value` to provide a regular expression, just like the `view_filters` collection option[^153].
|
|
253
|
+
- Enhancements to [summary string transformations](https://decapcms.org/docs/summary-strings/):
|
|
254
|
+
- Transformations can be used in more places than just the collection `summary`:
|
|
255
|
+
- The `slug` collection option[^29]
|
|
256
|
+
- The `summary` field option for the List and Object widgets
|
|
257
|
+
- Multiple transformations can be chained like `{{title | upper | truncate(20)}}`.
|
|
258
|
+
- The `date` transformation supports the time zone argument. The only available value is `utc`, which converts a date to UTC. This is useful if the specified DateTime field is local, but you want to force UTC in the entry slug, e.g. `{{date | date('YYYYMMDD-HHmm', 'utc')}}`. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/278#issuecomment-2565313420))
|
|
249
259
|
- Nested fields (dot notation) can be used in the `path` option for a folder collection, e.g. `{{fields.state.name}}/{{slug}}`[^62].
|
|
250
260
|
- Markdown is supported in the `description` collection option[^79]. Bold, italic, strikethrough, code and links are allowed.
|
|
251
261
|
- The collection `folder` can be an empty string (or `.` or `/`) if you want to store entries in the root folder. This supports a typical VitePress setup.
|
|
252
|
-
- Multiple [summary string transformations](https://decapcms.org/docs/summary-strings/) can be chained like `{{title | upper | truncate(20)}}`.
|
|
253
262
|
- Entry slugs
|
|
254
263
|
- It’s possible to [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug).
|
|
255
264
|
- Slug generation is fail-safe: If a slug cannot be determined from entry content, part of a random UUID is used instead of throwing an error or filling in with arbitrary string field values[^133].
|
|
@@ -260,19 +269,21 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
260
269
|
- Setting the collection `path` doesn’t affect the entry slugs stored with the Relation widget[^137].
|
|
261
270
|
- Entry slugs are [localizable](#localizing-entry-slugs)[^80].
|
|
262
271
|
- Entry listing
|
|
263
|
-
- The collection list displays the number of items in each collection.
|
|
264
272
|
- Sorting entries by a DateTime field works as expected[^110].
|
|
265
273
|
- Entry grouping and sorting can work together. For example, it’s possible to group by year and then sort by year if configured properly.
|
|
266
274
|
- Hugo’s special `_index.md` files, including localized ones like `_index.en.md`, are ignored in folder collections unless the `path` option is configured to end with `_index` and the `extension` is `md`[^120]. You can still manage these files as part of a file collection if necessary.
|
|
267
|
-
- A console error won’t be thrown when a collection doesn’t have the `title` field[^152]. In that case, an entry summary will be generated from a header in the Markdown `body` field, if exists, or from the entry slug, so the summary will never be an empty. This supports a typical VitePress setup.
|
|
275
|
+
- A console error won’t be thrown when a collection doesn’t have the `title` field[^152]. In that case, an entry summary will be generated from a header in the Markdown `body` field, if exists, or from the entry slug, so the summary will never be an empty[^161]. This supports a typical VitePress setup.
|
|
268
276
|
- If there was an error while parsing an entry file, such as duplicate front matter keys, it won’t show up as a blank entry, and a clear error message will be displayed in the browser console[^121].
|
|
277
|
+
- A single file can be used for more than one item in a file collection[^127].
|
|
278
|
+
- User interface
|
|
279
|
+
- The collection list displays the number of items in each collection.
|
|
280
|
+
- Users can select multiple entries and delete them at once.
|
|
269
281
|
- In an entry summary, basic Markdown syntax used in the title, including bold, italic and code, are parsed as Markdown. HTML character references (entities) are also parsed properly[^69].
|
|
270
|
-
- If you update an entry field that appears in the collection’s `summary`, such as `title`, the entry list displays an updated summary after you save the entry.
|
|
282
|
+
- If you update an entry field that appears in the collection’s `summary`, such as `title`, the entry list displays an updated summary after you save the entry[^159].
|
|
271
283
|
- If entries don’t have an Image field for thumbnails, the entry list will only be displayed in list view, because it doesn’t make sense to show grid view[^143].
|
|
272
284
|
- Assets stored in a [collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
|
|
273
285
|
- The New Entry button won’t appear when a developer accidentally sets the `create: true` option on a file collection because it’s useless[^89].
|
|
274
286
|
- The Delete Entry button won’t appear when a developer accidentally sets the `delete: true` option on a file collection because the preconfigured files should not be deleted.
|
|
275
|
-
- A single file can be used for more than one item in a file collection[^127].
|
|
276
287
|
|
|
277
288
|
### Better content editing
|
|
278
289
|
|
|
@@ -301,7 +312,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
301
312
|
- YAML string folding (maximum line width) is disabled, mainly for framework compatibility[^119].
|
|
302
313
|
- DateTime field values in ISO 8601 format are stored in native date/time format instead of quoted strings when the data output is TOML[^147].
|
|
303
314
|
- Provides JSON/YAML format options as part of the [data output options](#controlling-data-output), including indentation and quotes[^9][^155].
|
|
304
|
-
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double`
|
|
315
|
+
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double` in the new YAML format options.
|
|
305
316
|
|
|
306
317
|
### Better widgets
|
|
307
318
|
|
|
@@ -327,15 +338,18 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
327
338
|
- Users can expand or collapse the entire list, while the Expand All and Collapse All buttons allow you to expand or collapse all items in the list at once.
|
|
328
339
|
- A required List field with no subfield or value is marked as invalid[^43].
|
|
329
340
|
- An optional List field with no subfield or value is saved as an empty array, rather than nothing[^44].
|
|
341
|
+
- An optional List field won’t populate an item by default when the subfield has the `default` value[^162].
|
|
330
342
|
- Users can enter spaces in a simple text-based List field[^50].
|
|
331
343
|
- Users can preview variable types without having to register a preview template[^42].
|
|
344
|
+
- It’s possible to omit `fields` in a variable type object[^163]. In that case only the `typeKey` (default: `type`) is saved in the output.
|
|
332
345
|
- Markdown
|
|
333
346
|
- The rich text editor is built with the well-maintained [Lexical](https://lexical.dev/) framework, which solves various issues with a [Slate](https://github.com/ianstormtaylor/slate)-based editor in Netlify/Decap CMS, including fatal application crashes[^71][^72][^73][^111], lost formatting when pasting[^124], backslash injections[^53], dropdown visibility[^70], and text input difficulties with IME[^54].
|
|
334
347
|
- The built-in `image` editor component can be inserted with a single click.
|
|
335
348
|
- The default editor mode can be set by changing the order of the `modes` option[^58]. If you want to use the plain text editor by default, add `modes: [raw, rich_text]` to the field configuration.
|
|
349
|
+
- A combination of bold and italic doesn’t create a confusing 3-asterisk markup[^160]. In our editor, bold is 2 asterisks and italic is an underscore.
|
|
336
350
|
- Line breaks are rendered as line breaks in the preview pane according to GitHub Flavored Markdown (GFM).
|
|
337
351
|
- Number
|
|
338
|
-
- If the `value_type` option is `int` (default) or `float`, the `required` option is `false`, and the value is not entered, the field will be saved as `null`
|
|
352
|
+
- If the `value_type` option is `int` (default) or `float`, the `required` option is `false`, and the value is not entered, the field will be saved as `null` instead of an empty string[^157]. If `value_type` is anything else, the data type will remain a string.
|
|
339
353
|
- Object
|
|
340
354
|
- Sveltia CMS offers two ways to have conditional fields in a collection[^30]:
|
|
341
355
|
- The Object widget supports [variable types](https://decapcms.org/docs/variable-type-widgets/) (the `types` option) just like the List widget.
|
|
@@ -387,7 +401,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
387
401
|
- The new `keyvalue` widget allows users to add arbitrary key-value string pairs to a field[^123].
|
|
388
402
|
- The implementation is compatible with [Static CMS](https://staticjscms.netlify.app/docs/widget-keyvalue), but we provide a more intuitive UI. You can press Enter to move focus or add a new row while editing, and the preview is displayed in a clean table.
|
|
389
403
|
- UUID
|
|
390
|
-
- In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS
|
|
404
|
+
- In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS supports the proposed `uuid` widget with the following properties[^12]:
|
|
391
405
|
- `prefix`: A string to be prepended to the value. Default: an empty string.
|
|
392
406
|
- `use_b32_encoding`: Whether to encode the value with Base32. Default: `false`.
|
|
393
407
|
- `read_only`: Whether to make the field read-only. Default: `true`.
|
|
@@ -436,11 +450,11 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
436
450
|
|
|
437
451
|
### Features not to be implemented
|
|
438
452
|
|
|
439
|
-
- **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained
|
|
440
|
-
- **Netlify Identity Widget will not be supported**, as it’s not useful without Git Gateway. The [widget](https://github.com/netlify/netlify-identity-widget) has been unmaintained for years, and Netlify no longer officially supports it [according to a Netlify customer](https://github.com/sveltia/sveltia-cms/discussions/284). We plan to develop an alternative solution in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
453
|
+
- **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a high-performance alternative in the future. We may also support the other platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
|
|
454
|
+
- **Netlify Identity Widget will not be supported**, as it’s not useful without Git Gateway. The [widget](https://github.com/netlify/netlify-identity-widget) has been unmaintained for years, and Netlify no longer officially supports it [according to a Netlify customer](https://github.com/sveltia/sveltia-cms/discussions/284). We plan to develop an alternative solution with role support in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
441
455
|
- The deprecated client-side implicit grant for the GitLab backend will not be supported, as it has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
442
456
|
- The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
|
|
443
|
-
- The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget instead.
|
|
457
|
+
- The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget with the `time_format: false` option instead.
|
|
444
458
|
- Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
|
|
445
459
|
- [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `window.CMS` object will not be implemented. This includes custom backends and custom media libraries, if any; we may support these features in the future, but our implementation would likely be incompatible with Netlify/Decap CMS.
|
|
446
460
|
|
|
@@ -467,19 +481,27 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
467
481
|
|
|
468
482
|
### Features to be implemented after GA
|
|
469
483
|
|
|
470
|
-
Due to the complexity, the following features are planned for after the 1.0 release.
|
|
484
|
+
Due to the complexity, the following features are planned for after the 1.0 release. Netlify/Decap CMS has a number of open issues with these advanced features and we want to implement them the right way.
|
|
471
485
|
|
|
472
486
|
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
473
487
|
- [Open Authoring](https://decapcms.org/docs/open-authoring/)
|
|
474
488
|
- [Nested Collections](https://decapcms.org/docs/collection-nested/)
|
|
475
489
|
|
|
490
|
+
### Compatibility with Static CMS
|
|
491
|
+
|
|
492
|
+
We plan to provide partial compatibility with [Static CMS](https://github.com/StaticJsCMS/static-cms), a now-defunct fork of Netlify CMS. This README will be updated with more details as our development progresses.
|
|
493
|
+
|
|
494
|
+
- The KeyValue widget is implemented in Sveltia CMS with the same options.
|
|
495
|
+
- The UUID widget is also implemented, but with different options.
|
|
496
|
+
- The `prefix` and `suffix` options for the Boolean, Number and String widgets are implemented as `before_input` and `after_input` in Sveltia CMS. Our `prefix` and `suffix` options for the String widget are literally a prefix and suffix to the value.
|
|
497
|
+
- `CMS.registerIcon()` won’t be supported, as Sveltia CMS includes Material Symbols for [custom collection icons](#using-a-custom-icon-for-a-collection).
|
|
498
|
+
|
|
476
499
|
### Other notes
|
|
477
500
|
|
|
478
501
|
- Make sure you’re using the latest stable version of a web browser. Firefox ESR and its derivatives, including Tor Browser and Mullvad Browser, are not supported, although they may still work. The [local repository workflow](#working-with-a-local-git-repository) requires Chrome, Edge or another Chromium-based browser.
|
|
479
502
|
- Sveltia CMS requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), meaning it only works with HTTPS, `localhost` or `127.0.0.1` URLs. If you’re running a remote server yourself and it’s served over HTTP, get a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
|
|
480
503
|
- The GitLab backend requires GitLab 16.3 or later.
|
|
481
|
-
-
|
|
482
|
-
- Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug).
|
|
504
|
+
- Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug). Bear in mind that undocumented behaviour can easily be overlooked!
|
|
483
505
|
|
|
484
506
|
## Getting started
|
|
485
507
|
|
|
@@ -572,7 +594,7 @@ If you get an “Authentication Aborted” error when trying to sign in to GitHu
|
|
|
572
594
|
|
|
573
595
|
Sveltia CMS has simplified the local repository workflow by removing the need for additional configuration (the `local_backend` property) and a proxy server (`netlify-cms-proxy-server` or `decap-server`), thanks to the [File System Access API](https://developer.chrome.com/articles/file-system-access/) available in [some modern browsers](https://developer.mozilla.org/en-US/docs/web/api/window/showopenfilepicker#browser_compatibility).
|
|
574
596
|
|
|
575
|
-
|
|
597
|
+
Here are the workflow steps and tips:
|
|
576
598
|
|
|
577
599
|
1. Make sure you have configured the [GitHub](https://decapcms.org/docs/github-backend/) or [GitLab](https://decapcms.org/docs/gitlab-backend/) backend.
|
|
578
600
|
- Please note that the Git Gateway backend mentioned in the Netlify/Decap CMS [local Git repository document](https://decapcms.org/docs/working-with-a-local-git-repository/) is not supported in Sveltia CMS, so `name: git-gateway` won’t work. You’ll need either `name: github` or `name: gitlab` along with the `repo` definition. If you haven’t determined your repository name yet, just use a tentative name.
|
|
@@ -686,7 +708,7 @@ If you have upgraded to DeepL API Pro, provide your new Authentication Key:
|
|
|
686
708
|
|
|
687
709
|
1. Click the Account button in the upper right corner, then click Settings.
|
|
688
710
|
1. Select the Language tab.
|
|
689
|
-
1.
|
|
711
|
+
1. Replace your free API key with the new paid API key in the DeepL API Authentication Key field.
|
|
690
712
|
1. Close the Settings dialog.
|
|
691
713
|
|
|
692
714
|
### Localizing entry slugs
|
|
@@ -808,7 +830,7 @@ Sveltia CMS supports some [data output](#better-data-output) options, including
|
|
|
808
830
|
|
|
809
831
|
```yaml
|
|
810
832
|
output:
|
|
811
|
-
omit_empty_optional_fields: false
|
|
833
|
+
omit_empty_optional_fields: false
|
|
812
834
|
json:
|
|
813
835
|
indent_style: space # or tab
|
|
814
836
|
indent_size: 2
|
|
@@ -958,13 +980,13 @@ img-src 'self' blob: data: https://*;
|
|
|
958
980
|
|
|
959
981
|
While we don’t have dedicated developer/user support resources, [quick questions](https://github.com/sveltia/sveltia-cms/discussions/new?category=q-a) and [feedback](https://github.com/sveltia/sveltia-cms/discussions/new?category=general) are welcome on the [Discussions](https://github.com/sveltia/sveltia-cms/discussions) page of our GitHub repository. We also have a [Discord channel](https://discord.gg/5hwCGqup5b) for casual chat.
|
|
960
982
|
|
|
961
|
-
As described throughout this README, Sveltia CMS is being built as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are migrating from the other product. We are happy to help you migrate, but
|
|
983
|
+
As described throughout this README, Sveltia CMS is being built as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are migrating from the other product. We are happy to help you migrate, but we cannot help you set up Sveltia CMS from scratch through our free support channels.
|
|
962
984
|
|
|
963
|
-
Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out
|
|
985
|
+
Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out!
|
|
964
986
|
|
|
965
987
|
## Contributions
|
|
966
988
|
|
|
967
|
-
See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/main/CONTRIBUTING.md).
|
|
989
|
+
See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/main/CONTRIBUTING.md). Bug reports are highly encouraged!
|
|
968
990
|
|
|
969
991
|
## Roadmap
|
|
970
992
|
|
|
@@ -981,9 +1003,9 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
981
1003
|
|
|
982
1004
|
### After the 1.0 release
|
|
983
1005
|
|
|
984
|
-
- Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and
|
|
1006
|
+
- Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and Nested Collections
|
|
985
1007
|
- Tackling more Netlify/Decap CMS issues, including MDX support[^122], manual entry sorting[^125], roles[^23], mobile optimization[^18] and config editor[^10] — Some [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are already implemented in Sveltia CMS
|
|
986
|
-
- Exploring further compatibility with Static CMS
|
|
1008
|
+
- Exploring further [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
987
1009
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools
|
|
988
1010
|
- AI integrations for image generation and content writing
|
|
989
1011
|
- Advanced digital asset management (DAM) features, including image editing and tagging[^114]
|
|
@@ -991,6 +1013,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
991
1013
|
- Contributor documentation
|
|
992
1014
|
- Marketplace for custom widgets, etc.
|
|
993
1015
|
- Git Gateway alternative
|
|
1016
|
+
- VS Code extension for `config.yml` schema validation
|
|
994
1017
|
- and so much more!
|
|
995
1018
|
|
|
996
1019
|
## Related links
|
|
@@ -1010,7 +1033,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1010
1033
|
|
|
1011
1034
|
[^1]: Netlify/Decap CMS [#2557](https://github.com/decaporg/decap-cms/issues/2557)
|
|
1012
1035
|
|
|
1013
|
-
[^2]: Netlify/Decap CMS [#3267](https://github.com/decaporg/decap-cms/issues/3267)
|
|
1036
|
+
[^2]: Netlify/Decap CMS [#2039](https://github.com/decaporg/decap-cms/issues/2039), [#3267](https://github.com/decaporg/decap-cms/issues/3267)
|
|
1014
1037
|
|
|
1015
1038
|
[^3]: Netlify/Decap CMS [#1040](https://github.com/decaporg/decap-cms/issues/1040)
|
|
1016
1039
|
|
|
@@ -1020,7 +1043,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1020
1043
|
|
|
1021
1044
|
[^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
|
|
1022
1045
|
|
|
1023
|
-
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386)
|
|
1046
|
+
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386), [#4888](https://github.com/decaporg/decap-cms/issues/4888)
|
|
1024
1047
|
|
|
1025
1048
|
[^8]: Netlify/Decap CMS [#2579](https://github.com/decaporg/decap-cms/issues/2579)
|
|
1026
1049
|
|
|
@@ -1038,9 +1061,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1038
1061
|
|
|
1039
1062
|
[^15]: Netlify/Decap CMS [#6932](https://github.com/decaporg/decap-cms/issues/6932)
|
|
1040
1063
|
|
|
1041
|
-
[^16]: Netlify/Decap CMS [#2103](https://github.com/decaporg/decap-cms/issues/2103), [#7302](https://github.com/decaporg/decap-cms/discussions/7302)
|
|
1064
|
+
[^16]: Netlify/Decap CMS [#2103](https://github.com/decaporg/decap-cms/issues/2103), [#2790](https://github.com/decaporg/decap-cms/issues/2790), [#7302](https://github.com/decaporg/decap-cms/discussions/7302)
|
|
1042
1065
|
|
|
1043
|
-
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333)
|
|
1066
|
+
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333), [#4216](https://github.com/decaporg/decap-cms/issues/4216)
|
|
1044
1067
|
|
|
1045
1068
|
[^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441)
|
|
1046
1069
|
|
|
@@ -1060,7 +1083,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1060
1083
|
|
|
1061
1084
|
[^26]: Netlify/Decap CMS [#3285](https://github.com/decaporg/decap-cms/issues/3285), [#7030](https://github.com/decaporg/decap-cms/issues/7030), [#7067](https://github.com/decaporg/decap-cms/issues/7067), [#7217](https://github.com/decaporg/decap-cms/issues/7217)
|
|
1062
1085
|
|
|
1063
|
-
[^27]: Netlify/Decap CMS [#5617](https://github.com/decaporg/decap-cms/issues/5617)
|
|
1086
|
+
[^27]: Netlify/Decap CMS [#4564](https://github.com/decaporg/decap-cms/issues/4564), [#5617](https://github.com/decaporg/decap-cms/issues/5617), [#5815](https://github.com/decaporg/decap-cms/issues/5815)
|
|
1064
1087
|
|
|
1065
1088
|
[^28]: Netlify/Decap CMS [#2677](https://github.com/decaporg/decap-cms/pull/2677), [#6836](https://github.com/decaporg/decap-cms/pull/6836)
|
|
1066
1089
|
|
|
@@ -1072,9 +1095,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1072
1095
|
|
|
1073
1096
|
[^32]: Netlify/Decap CMS [#302](https://github.com/decaporg/decap-cms/issues/302), [#5549](https://github.com/decaporg/decap-cms/issues/5549)
|
|
1074
1097
|
|
|
1075
|
-
[^33]: Netlify/Decap CMS [#542](https://github.com/decaporg/decap-cms/issues/542), [#6513](https://github.com/decaporg/decap-cms/issues/6513), [#7295](https://github.com/decaporg/decap-cms/issues/7295)
|
|
1098
|
+
[^33]: Netlify/Decap CMS [#542](https://github.com/decaporg/decap-cms/issues/542), [#4532](https://github.com/decaporg/decap-cms/issues/4532), [#6513](https://github.com/decaporg/decap-cms/issues/6513), [#7295](https://github.com/decaporg/decap-cms/issues/7295)
|
|
1076
1099
|
|
|
1077
|
-
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138), [#5932](https://github.com/decaporg/decap-cms/discussions/5932)
|
|
1100
|
+
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138), [#2343](https://github.com/decaporg/decap-cms/issues/2343), [#4367](https://github.com/decaporg/decap-cms/issues/4367), [#5932](https://github.com/decaporg/decap-cms/discussions/5932)
|
|
1078
1101
|
|
|
1079
1102
|
[^35]: Netlify/Decap CMS [#7086](https://github.com/decaporg/decap-cms/issues/7086)
|
|
1080
1103
|
|
|
@@ -1084,7 +1107,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1084
1107
|
|
|
1085
1108
|
[^38]: Netlify/Decap CMS [#1984](https://github.com/decaporg/decap-cms/issues/1984)
|
|
1086
1109
|
|
|
1087
|
-
[^39]: Netlify/Decap CMS [#946](https://github.com/decaporg/decap-cms/issues/946)
|
|
1110
|
+
[^39]: Netlify/Decap CMS [#946](https://github.com/decaporg/decap-cms/issues/946), [#1970](https://github.com/decaporg/decap-cms/issues/1970)
|
|
1088
1111
|
|
|
1089
1112
|
[^40]: Netlify/Decap CMS [#5630](https://github.com/decaporg/decap-cms/issues/5630)
|
|
1090
1113
|
|
|
@@ -1114,19 +1137,19 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1114
1137
|
|
|
1115
1138
|
[^53]: Netlify/Decap CMS [#512](https://github.com/decaporg/decap-cms/issues/512), [#5673](https://github.com/decaporg/decap-cms/issues/5673), [#6707](https://github.com/decaporg/decap-cms/issues/6707)
|
|
1116
1139
|
|
|
1117
|
-
[^54]: Netlify/Decap CMS [#1347](https://github.com/decaporg/decap-cms/issues/1347), [#4629](https://github.com/decaporg/decap-cms/issues/4629), [#6287](https://github.com/decaporg/decap-cms/issues/6287), [#6826](https://github.com/decaporg/decap-cms/issues/6826) — Decap 3.0 updated the Slate editor in an attempt to fix the problems, but the IME issues remain unresolved when using a mobile/tablet browser.
|
|
1140
|
+
[^54]: Netlify/Decap CMS [#1347](https://github.com/decaporg/decap-cms/issues/1347), [#1559](https://github.com/decaporg/decap-cms/issues/1559), [#4629](https://github.com/decaporg/decap-cms/issues/4629), [#4837](https://github.com/decaporg/decap-cms/issues/4837), [#6287](https://github.com/decaporg/decap-cms/issues/6287), [#6826](https://github.com/decaporg/decap-cms/issues/6826) — Decap CMS 3.0 updated the Slate editor in an attempt to fix the problems, but the IME issues remain unresolved when using a mobile/tablet browser.
|
|
1118
1141
|
|
|
1119
|
-
[^55]: Netlify/Decap CMS [#4480](https://github.com/decaporg/decap-cms/issues/4480), [#6353](https://github.com/decaporg/decap-cms/issues/6353)
|
|
1142
|
+
[^55]: Netlify/Decap CMS [#4480](https://github.com/decaporg/decap-cms/issues/4480), [#5122](https://github.com/decaporg/decap-cms/issues/5122), [#6353](https://github.com/decaporg/decap-cms/issues/6353)
|
|
1120
1143
|
|
|
1121
1144
|
[^56]: Netlify/Decap CMS [#6515](https://github.com/decaporg/decap-cms/issues/6515)
|
|
1122
1145
|
|
|
1123
|
-
[^57]: Netlify/Decap CMS [#328](https://github.com/decaporg/decap-cms/issues/328)
|
|
1146
|
+
[^57]: Netlify/Decap CMS [#328](https://github.com/decaporg/decap-cms/issues/328), [#1290](https://github.com/decaporg/decap-cms/issues/1290)
|
|
1124
1147
|
|
|
1125
1148
|
[^58]: Netlify/Decap CMS [#5125](https://github.com/decaporg/decap-cms/issues/5125)
|
|
1126
1149
|
|
|
1127
1150
|
[^59]: Netlify/Decap CMS [#1654](https://github.com/decaporg/decap-cms/issues/1654)
|
|
1128
1151
|
|
|
1129
|
-
[^60]: Netlify/Decap CMS [#386](https://github.com/decaporg/decap-cms/issues/386)
|
|
1152
|
+
[^60]: Netlify/Decap CMS [#283](https://github.com/decaporg/decap-cms/issues/283), [#386](https://github.com/decaporg/decap-cms/issues/386)
|
|
1130
1153
|
|
|
1131
1154
|
[^61]: Netlify/Decap CMS [#1489](https://github.com/decaporg/decap-cms/issues/1489), [#5838](https://github.com/decaporg/decap-cms/issues/5838)
|
|
1132
1155
|
|
|
@@ -1160,9 +1183,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1160
1183
|
|
|
1161
1184
|
[^76]: Netlify/Decap CMS [#4738](https://github.com/decaporg/decap-cms/issues/4738)
|
|
1162
1185
|
|
|
1163
|
-
[^77]: Netlify/Decap CMS [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#
|
|
1186
|
+
[^77]: Netlify/Decap CMS [#2009](https://github.com/decaporg/decap-cms/issues/2009), [#2293](https://github.com/decaporg/decap-cms/issues/2293), [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#3952](https://github.com/decaporg/decap-cms/issues/3952), [#6563](https://github.com/decaporg/decap-cms/issues/6563)
|
|
1164
1187
|
|
|
1165
|
-
[^78]: Netlify/Decap CMS [#2294](https://github.com/decaporg/decap-cms/issues/2294), [#3046](https://github.com/decaporg/decap-cms/issues/3046), [#4363](https://github.com/decaporg/decap-cms/issues/4363)
|
|
1188
|
+
[^78]: Netlify/Decap CMS [#2294](https://github.com/decaporg/decap-cms/issues/2294), [#3046](https://github.com/decaporg/decap-cms/issues/3046), [#4363](https://github.com/decaporg/decap-cms/issues/4363), [#4520](https://github.com/decaporg/decap-cms/issues/4520), [#5806](https://github.com/decaporg/decap-cms/issues/5806)
|
|
1166
1189
|
|
|
1167
1190
|
[^79]: Netlify/Decap CMS [#5726](https://github.com/decaporg/decap-cms/issues/5726)
|
|
1168
1191
|
|
|
@@ -1178,7 +1201,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1178
1201
|
|
|
1179
1202
|
[^85]: Netlify/Decap CMS [#5055](https://github.com/decaporg/decap-cms/issues/5055), [#5470](https://github.com/decaporg/decap-cms/issues/5470), [#6989](https://github.com/decaporg/decap-cms/issues/6989)
|
|
1180
1203
|
|
|
1181
|
-
[^86]: Netlify/Decap CMS [#5253](https://github.com/decaporg/decap-cms/issues/5253), [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
1204
|
+
[^86]: Netlify/Decap CMS [#1609](https://github.com/decaporg/decap-cms/issues/1609), [#3557](https://github.com/decaporg/decap-cms/issues/3557), [#5253](https://github.com/decaporg/decap-cms/issues/5253), [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
1182
1205
|
|
|
1183
1206
|
[^87]: Netlify/Decap CMS [#5280](https://github.com/decaporg/decap-cms/issues/5280)
|
|
1184
1207
|
|
|
@@ -1214,7 +1237,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1214
1237
|
|
|
1215
1238
|
[^103]: Netlify/Decap CMS [#6307](https://github.com/decaporg/decap-cms/issues/6307)
|
|
1216
1239
|
|
|
1217
|
-
[^104]: Netlify/Decap CMS [#6819](https://github.com/decaporg/decap-cms/issues/6819)
|
|
1240
|
+
[^104]: Netlify/Decap CMS [#450](https://github.com/decaporg/decap-cms/issues/450), [#2122](https://github.com/decaporg/decap-cms/issues/2122), [#6819](https://github.com/decaporg/decap-cms/issues/6819)
|
|
1218
1241
|
|
|
1219
1242
|
[^105]: Netlify/Decap CMS [#5701](https://github.com/decaporg/decap-cms/issues/5701)
|
|
1220
1243
|
|
|
@@ -1226,7 +1249,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1226
1249
|
|
|
1227
1250
|
[^109]: Netlify/Decap CMS [#7197](https://github.com/decaporg/decap-cms/issues/7197)
|
|
1228
1251
|
|
|
1229
|
-
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637)
|
|
1252
|
+
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637), [#5198](https://github.com/decaporg/decap-cms/issues/5198)
|
|
1230
1253
|
|
|
1231
1254
|
[^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218)
|
|
1232
1255
|
|
|
@@ -1256,11 +1279,11 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1256
1279
|
|
|
1257
1280
|
[^124]: Netlify/Decap CMS [#991](https://github.com/decaporg/decap-cms/issues/991), [#4488](https://github.com/decaporg/decap-cms/issues/4488), [#7233](https://github.com/decaporg/decap-cms/issues/7233)
|
|
1258
1281
|
|
|
1259
|
-
[^125]: Netlify/Decap CMS [#475](https://github.com/decaporg/decap-cms/issues/475)
|
|
1282
|
+
[^125]: Netlify/Decap CMS [#475](https://github.com/decaporg/decap-cms/issues/475), [#5469](https://github.com/decaporg/decap-cms/issues/5469)
|
|
1260
1283
|
|
|
1261
1284
|
[^126]: Netlify/Decap CMS [#7279](https://github.com/decaporg/decap-cms/discussions/7279)
|
|
1262
1285
|
|
|
1263
|
-
[^127]: Netlify/Decap CMS [#4518](https://github.com/decaporg/decap-cms/issues/4518)
|
|
1286
|
+
[^127]: Netlify/Decap CMS [#2289](https://github.com/decaporg/decap-cms/issues/2289), [#4518](https://github.com/decaporg/decap-cms/issues/4518)
|
|
1264
1287
|
|
|
1265
1288
|
[^128]: Netlify/Decap CMS [#7092](https://github.com/decaporg/decap-cms/issues/7092)
|
|
1266
1289
|
|
|
@@ -1302,7 +1325,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1302
1325
|
|
|
1303
1326
|
[^147]: Netlify/Decap CMS [#3583](https://github.com/decaporg/decap-cms/issues/3583)
|
|
1304
1327
|
|
|
1305
|
-
[^148]: Netlify/Decap CMS [#531](https://github.com/decaporg/decap-cms/issues/531), [#1282](https://github.com/decaporg/decap-cms/issues/1282), [#1877](https://github.com/decaporg/decap-cms/issues/1877)
|
|
1328
|
+
[^148]: Netlify/Decap CMS [#531](https://github.com/decaporg/decap-cms/issues/531), [#621](https://github.com/decaporg/decap-cms/issues/621), [#1282](https://github.com/decaporg/decap-cms/issues/1282), [#1877](https://github.com/decaporg/decap-cms/issues/1877), [#2514](https://github.com/decaporg/decap-cms/issues/2514), [#2737](https://github.com/decaporg/decap-cms/issues/2737)
|
|
1306
1329
|
|
|
1307
1330
|
[^149]: Netlify/Decap CMS [#13](https://github.com/decaporg/decap-cms/issues/13) — The issue appears to have been closed without a fix being available.
|
|
1308
1331
|
|
|
@@ -1321,3 +1344,15 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1321
1344
|
[^156]: Netlify/Decap CMS [#995](https://github.com/decaporg/decap-cms/issues/995), [#2017](https://github.com/decaporg/decap-cms/issues/2017), [#7120](https://github.com/decaporg/decap-cms/issues/7120), [#7186](https://github.com/decaporg/decap-cms/issues/7186)
|
|
1322
1345
|
|
|
1323
1346
|
[^157]: Netlify/Decap CMS [#2007](https://github.com/decaporg/decap-cms/issues/2007), [#2848](https://github.com/decaporg/decap-cms/issues/2848)
|
|
1347
|
+
|
|
1348
|
+
[^158]: Netlify/Decap CMS [#6107](https://github.com/decaporg/decap-cms/issues/6107)
|
|
1349
|
+
|
|
1350
|
+
[^159]: Netlify/Decap CMS [#3796](https://github.com/decaporg/decap-cms/issues/3796)
|
|
1351
|
+
|
|
1352
|
+
[^160]: Netlify/Decap CMS [#3291](https://github.com/decaporg/decap-cms/issues/3291)
|
|
1353
|
+
|
|
1354
|
+
[^161]: Netlify/Decap CMS [#1274](https://github.com/decaporg/decap-cms/issues/1274)
|
|
1355
|
+
|
|
1356
|
+
[^162]: Netlify/Decap CMS [#2380](https://github.com/decaporg/decap-cms/issues/2380)
|
|
1357
|
+
|
|
1358
|
+
[^163]: Netlify/Decap CMS [#7322](https://github.com/decaporg/decap-cms/issues/7322)
|