@sveltia/cms 0.95.1 → 0.97.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/README.md +47 -32
- package/dist/sveltia-cms.js +240 -222
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +238 -220
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +2 -2
- package/schema/sveltia-cms.json +8 -4
- package/types/public.d.ts +9 -3
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Welcome to the only Netlify CMS successor you can trust!
|
|
|
12
12
|
|
|
13
13
|
<br>
|
|
14
14
|
|
|
15
|
-
<br>
|
|
16
16
|
|
|
17
17
|
<br>
|
|
18
18
|
|
|
@@ -115,7 +115,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
|
|
|
115
115
|
|
|
116
116
|
- [Static CMS](https://github.com/StaticJsCMS/static-cms): a community fork, initial commit made in September 2022 — discontinued in September 2024 after making meaningful improvements
|
|
117
117
|
- **Sveltia CMS**: not a fork but a **complete rewrite** or “total reboot”, started in November 2022, first appeared on GitHub in March 2023
|
|
118
|
-
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as the official successor with a Netlify agency partner taking ownership — mostly stagnant,
|
|
118
|
+
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as the official successor with a Netlify agency partner taking ownership — mostly stagnant, no significant updates
|
|
119
119
|
|
|
120
120
|
Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt, and numerous bugs of Netlify CMS, which was launched in 2015. Our product is better by design: We have rebuilt the app from the ground up using a [modern framework](https://svelte.dev/) while closely monitoring and analyzing the predecessor’s issue tracker. We don’t use any of their code. This allows us to make [hundreds of improvements](#differentiators) without getting stuck in an old system.
|
|
121
121
|
|
|
@@ -138,7 +138,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
138
138
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
139
139
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
140
140
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
141
|
-
- So far, 245+ issues, or
|
|
141
|
+
- So far, **245+ issues, or 515+ if including duplicates, have been effectively solved in Sveltia CMS** (Yes, you read it right)
|
|
142
142
|
- Target:
|
|
143
143
|
- 250 issues, or 500 if including duplicates, by GA — Almost there!
|
|
144
144
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -173,7 +173,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
173
173
|
- Sveltia CMS loads all entries at startup. We don’t support backends that cannot retrieve multiple entries at once. This deliberate design choice improves performance and UX by enabling instant full-text searches, fast and powerful relation fields, and linking between assets and entries.
|
|
174
174
|
- Made with [Svelte](https://svelte.dev/), not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid common fatal React application crashes.[^113][^129] Best of all, Svelte offers great performance.
|
|
175
175
|
- Other crashes in Netlify/Decap CMS are also irrelevant to us, making Sveltia CMS much more stable.[^112][^203][^204][^260]
|
|
176
|
-
- We build [our own UI component library](https://github.com/sveltia/sveltia-ui), including custom dialogs, to ensure optimal usability without compromising accessibility.[^196][^205][^206][^207][^208][^209][^210]
|
|
176
|
+
- We build [our own UI component library](https://github.com/sveltia/sveltia-ui), including custom dialogs, to ensure optimal usability without compromising accessibility.[^277][^196][^205][^206][^207][^208][^209][^210]
|
|
177
177
|
- Users can personalize the application with various settings, including appearance and language. Developer Mode can also be enabled, which enables certain features and displays the CMS version number.[^270]
|
|
178
178
|
- Never miss out on the latest features and bug fixes by being notified when an update to the CMS is available.[^31] Then update to the latest version with a single click.[^66]
|
|
179
179
|
<!-- - The in-app Help menu provides all links to useful resources, including release notes, feedback and support. -->
|
|
@@ -289,7 +289,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
289
289
|
- Users can easily switch between locales while editing by clicking a button instead of a dropdown list when there are less than 5 locales.
|
|
290
290
|
- Language labels appear in human-readable display names instead of ISO 639 language codes because it’s not easy for everyone to recognize `DE` as German, `NL` as Dutch, `ZH` as Chinese, and so on.
|
|
291
291
|
- Content editing
|
|
292
|
-
- [Integrates
|
|
292
|
+
- [Integrates translation services](#translating-entry-fields-with-one-click) to allow translation of text fields from another locale with one click.
|
|
293
293
|
- The Content Editor supports [RTL scripts](https://en.wikipedia.org/wiki/Right-to-left_script) such as Arabic, Hebrew and Persian.[^146]
|
|
294
294
|
- It’s possible to [disable non-default locale content](#disabling-non-default-locale-content).[^15]
|
|
295
295
|
- Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
|
|
@@ -308,12 +308,12 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
308
308
|
- Provides some new options, including:
|
|
309
309
|
- `icon`: [Choose a custom icon for each collection](#using-a-custom-icon-for-a-collection).[^3]
|
|
310
310
|
- The option can also be used for individual files within a file collection. The specified icon will then appear in the file list.
|
|
311
|
-
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list, like `thumbnail: featuredImage`.
|
|
311
|
+
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list, like `thumbnail: featuredImage`.
|
|
312
312
|
- A nested field can be specified using dot notation, e.g. `heroImage.src`.
|
|
313
313
|
- A wildcard in the field name is also supported, e.g. `images.*.src`.
|
|
314
314
|
- Multiple field names can be specified as an array for fallback purpose, e.g. `[thumbnail, cover]`.
|
|
315
315
|
- Occasionally, you may not have suitable images for thumbnails. For example, your images may have subtle differences or varied aspect ratios. In that case, you can disable the thumbnail with `thumbnail: []`.
|
|
316
|
-
- If this option is omitted, any non-nested, non-empty Image or File field will be used.[^173]
|
|
316
|
+
- If this option is omitted, any non-nested, non-empty Image or File field will be used.[^173] Sveltia CMS doesn’t have [hardcoded inference fields](https://github.com/decaporg/decap-cms/blob/899dba82d1f396260e0f84c6977c1d2aee809b59/packages/decap-cms-core/src/constants/fieldInference.tsx#L64-L72).[^130]
|
|
317
317
|
- `limit`: Specify the maximum number of entries that can be created in a folder collection.[^185]
|
|
318
318
|
- `divider`: [Add dividers to the collection list](#adding-dividers-to-the-collection-list).
|
|
319
319
|
- Enhancements to the entry `filter` option for folder collections:
|
|
@@ -323,7 +323,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
323
323
|
- `pattern` can be used instead of `value` to provide a regular expression, just like the `view_filters` collection option.[^153]
|
|
324
324
|
- Enhancements to [summary string transformations](https://decapcms.org/docs/summary-strings/):
|
|
325
325
|
- Transformations can be used in more places than just the collection `summary`:
|
|
326
|
-
- The `slug` and `preview_path` collection options[^29]
|
|
326
|
+
- The `slug`, `path` and `preview_path` collection options[^29][^276]
|
|
327
327
|
- The `summary` field option for the List and Object widgets
|
|
328
328
|
- The `default` transformation accepts a template tag like `{{fields.slug | default('{{fields.title}}')}}`, making it possible to fall back to a different field value. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/345))
|
|
329
329
|
- 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))
|
|
@@ -404,7 +404,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
404
404
|
- In other words, in Sveltia CMS, `required: false` makes data input optional, but doesn’t make data output optional.
|
|
405
405
|
- To omit empty optional fields from data output, use `omit_empty_optional_fields: true` in the [data output options](#controlling-data-output). This is useful if you have data type validations that expect `undefined`.[^156]
|
|
406
406
|
- JSON/TOML/YAML data is saved with a new line at the end of the file to prevent unnecessary changes being made to the file.[^11]
|
|
407
|
-
- Leading/trailing whitespaces in text-type field values are automatically removed when you save an entry.[^37]
|
|
407
|
+
- Leading/trailing whitespaces in text-type field values are automatically removed when you save an entry.[^37] No option is required to trim the values.[^275]
|
|
408
408
|
- YAML string folding (maximum line width) is disabled, mainly for framework compatibility.[^119]
|
|
409
409
|
- A standard time is formatted as `HH:mm:ss` instead of `HH:mm` for framework compatibility.
|
|
410
410
|
- 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]
|
|
@@ -451,7 +451,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
451
451
|
- Users can preview variable types without having to register a preview template.[^42]
|
|
452
452
|
- 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.
|
|
453
453
|
- A collapsed List field will not display a programmatic summary like `List [ Map { "key": "value" } ]` if the `summary` option is not set.[^183]
|
|
454
|
-
- The `allow_remove`
|
|
454
|
+
- The `allow_remove` and `allow_reorder` options can be used to prevent users from removing items and reordering them, respectively.[^272]
|
|
455
455
|
- Map
|
|
456
456
|
- A search bar enables users to quickly locate a specific place on the map.[^252]
|
|
457
457
|
- With the [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API), users can get their current location with one click.
|
|
@@ -470,6 +470,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
470
470
|
- Code in a code block in the editor can be copied as expected.[^165]
|
|
471
471
|
- Language-annotated code block doesn’t trigger unsaved changes.[^189]
|
|
472
472
|
- Soft line breaks are [rendered as hard line breaks](#rendering-soft-line-breaks-as-hard-line-breaks-in-markdown) in the Preview Pane.
|
|
473
|
+
- Uploaded images will not disappear while editing an entry.[^278]
|
|
473
474
|
- Number
|
|
474
475
|
- 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.
|
|
475
476
|
- Object
|
|
@@ -574,8 +575,8 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
574
575
|
- The application renders within the dimensions of a [custom mount element](https://decapcms.org/docs/custom-mounting/), if exists.[^109]
|
|
575
576
|
- A custom logo defined with the `logo_url` property is displayed on the global application header and the browser tab (favicon).[^134] A smaller logo is also correctly positioned on the authentication page.[^135]
|
|
576
577
|
- [`CMS.registerCustomFormat()`](https://decapcms.org/docs/custom-formatters/) supports async parser/formatter functions.[^149]
|
|
577
|
-
- Enhancements to [
|
|
578
|
-
-
|
|
578
|
+
- Enhancements to [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent):
|
|
579
|
+
- `CMS.registerEditorComponent()` accepts a component definition with the `icon` property. Developers can specify a Material Symbols icon name just like [custom collection icons](#using-a-custom-icon-for-a-collection).
|
|
579
580
|
- The `fromBlock` function can be omitted if the `pattern` regex contains [named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group) for the values.
|
|
580
581
|
- Inline components are supported.[^267]
|
|
581
582
|
|
|
@@ -594,8 +595,8 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
594
595
|
### Features not to be implemented
|
|
595
596
|
|
|
596
597
|
- **Azure and Bitbucket backends**: For performance reasons. We’ll support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
|
|
597
|
-
- **Git Gateway backend**: Also 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 GraphQL-based high-performance alternative in the future.
|
|
598
|
-
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and the Netlify Identity service itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). 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/).
|
|
598
|
+
- **Git Gateway backend**: Also 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 GraphQL-based high-performance alternative [in the future](#roadmap).
|
|
599
|
+
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and the Netlify Identity service itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). We plan to develop an alternative solution with role support [in the future](#roadmap), most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
599
600
|
- The deprecated client-side implicit grant for the GitLab backend: It has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
600
601
|
- The deprecated Netlify Large Media service: Consider other storage providers.
|
|
601
602
|
- Deprecated camel case configuration options: Use snake case instead, according to the current Decap CMS document.
|
|
@@ -607,7 +608,7 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
607
608
|
- Note: Some other camel case options, including Color widget options, are not deprecated.
|
|
608
609
|
- The deprecated Date widget: It was removed from Decap CMS 3.0 and Sveltia CMS 0.10. Use the DateTime widget with the [`time_format: false` option](#changing-the-input-type-of-a-datetime-field) instead.
|
|
609
610
|
- Some date/time format tokens: [Decap CMS 3.1.1](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.1.1) replaced Moment.js with Day.js, and Sveltia CMS will follow suit soon. Since [Day.js tokens](https://day.js.org/docs/en/display/format) are not 100% compatible with [Moment.js tokens](https://momentjs.com/docs/#/displaying/format/), this could be a breaking change in certain cases.
|
|
610
|
-
- The theme and keymap inline settings for the Code widget, along with support for some languages
|
|
611
|
+
- The theme and keymap inline settings for the Code widget, along with support for some languages. Instead of [CodeMirror](https://codemirror.net/), we use Lexical’s code block functionality, which is powered by [Prism](https://prismjs.com/) and will soon be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575).
|
|
611
612
|
- Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
|
|
612
613
|
- An absolute URL in the [`public_folder`](https://decapcms.org/docs/configuration-options/#public-folder) option: Such configuration is not recommended, as stated in the Netlify/Decap CMS document.
|
|
613
614
|
- Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
|
|
@@ -861,7 +862,7 @@ If you have migrated from Netlify/Decap CMS and are happy with the local reposit
|
|
|
861
862
|
|
|
862
863
|
Note that, as with Netlify/Decap CMS, the local repository support in Sveltia CMS doesn’t perform any Git operations. You have to manually fetch, pull, commit and push all changes using a Git client. Additionally, you’ll need to reload the CMS after modifying the configuration file or retrieving remote updates.
|
|
863
864
|
|
|
864
|
-
In the future, it will probably be possible to commit changes locally. The proxy server actually has an experimental, undocumented Git mode that allows it.[^131] ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/31)) We also plan to use the newly available [File System Observer API](https://developer.chrome.com/blog/file-system-observer) to eliminate manual reloads.
|
|
865
|
+
In the future, it will probably be possible to commit changes locally. The proxy server actually has an experimental, undocumented Git mode that allows it.[^131] ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/31)) We also plan to use the newly available [File System Observer API](https://developer.chrome.com/blog/file-system-observer) to detect changes and eliminate the need for manual reloads.
|
|
865
866
|
|
|
866
867
|
### Enabling local development in Brave
|
|
867
868
|
|
|
@@ -987,7 +988,7 @@ Note that the special index file is placed right under the `folder`, regardless
|
|
|
987
988
|
|
|
988
989
|
### Using singletons
|
|
989
990
|
|
|
990
|
-
The singleton collection is an unnamed, non-nested variant of a [file collection](https://decapcms.org/docs/collection-file/) that can be used to manage a set of pre-defined data files. Singleton files appear in the content library’s sidebar under the Files group, and users can open the Content Editor directly without navigating to a file list.
|
|
991
|
+
The singleton collection is an unnamed, non-nested variant of a [file collection](https://decapcms.org/docs/collection-file/) that can be used to manage a set of pre-defined data files. Singleton files appear in the content library’s sidebar under the Files group, and users can open the Content Editor directly without navigating to a file list. (If there are no other collections, the singleton collection appears as a regular file collection on desktop.)
|
|
991
992
|
|
|
992
993
|
To create this special file collection, add the new `singletons` option, along with an array of file definitions, to the root level of your site configuration.
|
|
993
994
|
|
|
@@ -1042,15 +1043,21 @@ Standard keyboard shortcuts are also available in the Markdown editor, including
|
|
|
1042
1043
|
|
|
1043
1044
|
### Translating entry fields with one click
|
|
1044
1045
|
|
|
1045
|
-
Sveltia CMS comes with a handy
|
|
1046
|
+
Sveltia CMS comes with a handy translation API integration so that you can translate any text field from another locale without leaving the Content Editor. Currently, Google’s Cloud Translation and OpenAI’s GPT-3.5 Turbo are supported. To enable the quick translation feature:
|
|
1046
1047
|
|
|
1047
1048
|
1. Update your configuration file to enable the [i18n support](https://decapcms.org/docs/i18n/) with multiple locales.
|
|
1048
|
-
1.
|
|
1049
|
-
|
|
1050
|
-
1.
|
|
1049
|
+
1. Create a new API key for the translation service of your choice:
|
|
1050
|
+
- Google
|
|
1051
|
+
1. Sign in or sign up for [Google Cloud](https://cloud.google.com/) and create a new project.
|
|
1052
|
+
1. Enable the [Cloud Translation API](https://console.cloud.google.com/apis/library/translate.googleapis.com). It’s free up to 500,000 characters per month.
|
|
1053
|
+
1. Create a [new API key](https://console.cloud.google.com/apis/api/translate.googleapis.com/credentials) and copy it.
|
|
1054
|
+
- OpenAI
|
|
1055
|
+
1. Sign in or sign up for [Open AI](https://platform.openai.com/docs/overview) and create a new project.
|
|
1056
|
+
1. Add a credit balance (minimum $5) to your account.
|
|
1057
|
+
1. Create a [new API key](https://platform.openai.com/api-keys) and copy it.
|
|
1051
1058
|
1. Open an entry in Sveltia CMS.
|
|
1052
1059
|
1. Click on the Translation button on the pane header or each field, right next to the 3-dot menu.
|
|
1053
|
-
1.
|
|
1060
|
+
1. Select a translation service from the dropdown menu and paste your API key when prompted.
|
|
1054
1061
|
1. The field(s) will be automatically translated.
|
|
1055
1062
|
|
|
1056
1063
|
Note that the Translation button on the pane header only translates empty fields, while in-field Translation buttons override any filled text.
|
|
@@ -1653,19 +1660,19 @@ Due early 2026
|
|
|
1653
1660
|
- Tackling even more Netlify/Decap CMS issues:
|
|
1654
1661
|
- [Manual entry sorting](https://github.com/sveltia/sveltia-cms/issues/214)[^125]
|
|
1655
1662
|
- [Directory navigation in the Asset Library](https://github.com/sveltia/sveltia-cms/issues/420)[^240]
|
|
1656
|
-
- End-user documentation
|
|
1657
1663
|
|
|
1658
1664
|
### v3.0
|
|
1659
1665
|
|
|
1660
1666
|
- **Sveltia CMS Additions**: Edge functions for Cloudflare Workers and possibly other platforms that provide features that cannot be implemented client-side:
|
|
1661
1667
|
- User management (Netlify Identity alternative) with roles[^23]
|
|
1662
1668
|
- Sign-in without a Git service account (Git Gateway alternative)
|
|
1669
|
+
- End-user documentation
|
|
1663
1670
|
- Contributor documentation
|
|
1664
1671
|
|
|
1665
1672
|
### TBD
|
|
1666
1673
|
|
|
1667
1674
|
- Tackling most of the remaining Netlify/Decap CMS issues (some may be included in v2.0 or v3.0):
|
|
1668
|
-
- [
|
|
1675
|
+
- Their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), including:
|
|
1669
1676
|
- MDX support[^122]
|
|
1670
1677
|
- [Saving drafts without editorial workflow](https://github.com/sveltia/sveltia-cms/discussions/440)[^261]
|
|
1671
1678
|
- [Tables in Markdown](https://github.com/sveltia/sveltia-cms/issues/455)[^256]
|
|
@@ -1679,13 +1686,13 @@ Due early 2026
|
|
|
1679
1686
|
- We’ll also implement [reverse reference lists](https://github.com/sveltia/sveltia-cms/discussions/416)
|
|
1680
1687
|
- and many more (100+ issues and discussions)
|
|
1681
1688
|
- Enhancements to Sveltia CMS Additions (some may be included in v3.0):
|
|
1682
|
-
- Post locking (like [WordPress](https://codex.wordpress.org/Post_Locking))
|
|
1689
|
+
- Post locking[^166] (like [WordPress](https://codex.wordpress.org/Post_Locking))
|
|
1683
1690
|
- Scheduled posts[^167]
|
|
1684
|
-
- Credential management for service API keys, deploy hook URL, etc.
|
|
1691
|
+
- [Credential management](https://github.com/sveltia/sveltia-cms/issues/444) for service API keys, deploy hook URL, etc.
|
|
1685
1692
|
- Proxy for services that don’t support [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS):
|
|
1686
1693
|
- [DeepL Translate](https://github.com/sveltia/sveltia-cms/issues/437)
|
|
1687
1694
|
- [Git LFS support for GitHub](https://github.com/sveltia/sveltia-cms/discussions/353)[^244]
|
|
1688
|
-
- [Local repository workflow](#working-with-a-local-git-repository) improvements: Git mode[^131] and
|
|
1695
|
+
- [Local repository workflow](#working-with-a-local-git-repository) improvements: Git mode[^131] and change detection
|
|
1689
1696
|
- [Preact+HTM support](https://github.com/sveltia/sveltia-cms/discussions/153) for custom widgets, editor components and preview templates
|
|
1690
1697
|
- View, compare and restore revisions (like [WordPress](https://wordpress.com/support/page-post-revisions/))
|
|
1691
1698
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools, etc.
|
|
@@ -1761,7 +1768,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1761
1768
|
|
|
1762
1769
|
[^22]: Netlify/Decap CMS [#3615](https://github.com/decaporg/decap-cms/issues/3615), [#4069](https://github.com/decaporg/decap-cms/issues/4069), [#5097](https://github.com/decaporg/decap-cms/issues/5097), [#6642](https://github.com/decaporg/decap-cms/issues/6642)
|
|
1763
1770
|
|
|
1764
|
-
[^23]: Netlify/Decap CMS [#2](https://github.com/decaporg/decap-cms/issues/2)
|
|
1771
|
+
[^23]: Netlify/Decap CMS [#2](https://github.com/decaporg/decap-cms/issues/2), [#2319](https://github.com/decaporg/decap-cms/issues/2319), [#6216](https://github.com/decaporg/decap-cms/discussions/6216), [#6933](https://github.com/decaporg/decap-cms/discussions/6933)
|
|
1765
1772
|
|
|
1766
1773
|
[^24]: Netlify/Decap CMS [#6831](https://github.com/decaporg/decap-cms/issues/6831)
|
|
1767
1774
|
|
|
@@ -1887,7 +1894,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1887
1894
|
|
|
1888
1895
|
[^85]: Netlify/Decap CMS [#5055](https://github.com/decaporg/decap-cms/issues/5055), [#5470](https://github.com/decaporg/decap-cms/issues/5470), [#6956](https://github.com/decaporg/decap-cms/discussions/6956), [#6989](https://github.com/decaporg/decap-cms/issues/6989)
|
|
1889
1896
|
|
|
1890
|
-
[^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), [#
|
|
1897
|
+
[^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), [#6760](https://github.com/decaporg/decap-cms/discussions/6760), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
1891
1898
|
|
|
1892
1899
|
[^87]: Netlify/Decap CMS [#5280](https://github.com/decaporg/decap-cms/issues/5280)
|
|
1893
1900
|
|
|
@@ -1939,9 +1946,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1939
1946
|
|
|
1940
1947
|
[^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218), [#7392](https://github.com/decaporg/decap-cms/issues/7392)
|
|
1941
1948
|
|
|
1942
|
-
[^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453)
|
|
1949
|
+
[^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453), [#7572](https://github.com/decaporg/decap-cms/issues/7572)
|
|
1943
1950
|
|
|
1944
|
-
[^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|
|
1951
|
+
[^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|
|
1945
1952
|
|
|
1946
1953
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
1947
1954
|
|
|
@@ -2149,7 +2156,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
2149
2156
|
|
|
2150
2157
|
[^216]: Netlify/Decap CMS [#1345](https://github.com/decaporg/decap-cms/issues/1345)
|
|
2151
2158
|
|
|
2152
|
-
[^217]: Netlify/Decap CMS [#5467](https://github.com/decaporg/decap-cms/issues/5467)
|
|
2159
|
+
[^217]: Netlify/Decap CMS [#5467](https://github.com/decaporg/decap-cms/issues/5467), [#6505](https://github.com/decaporg/decap-cms/discussions/6505)
|
|
2153
2160
|
|
|
2154
2161
|
[^218]: Netlify/Decap CMS [#978](https://github.com/decaporg/decap-cms/issues/978)
|
|
2155
2162
|
|
|
@@ -2264,3 +2271,11 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
2264
2271
|
[^273]: Netlify/Decap CMS [#919](https://github.com/decaporg/decap-cms/issues/919), [#936](https://github.com/decaporg/decap-cms/issues/936), [#1286](https://github.com/decaporg/decap-cms/issues/1286), [#1288](https://github.com/decaporg/decap-cms/issues/1288), [#1400](https://github.com/decaporg/decap-cms/issues/1400)
|
|
2265
2272
|
|
|
2266
2273
|
[^274]: Netlify/Decap CMS [#549](https://github.com/decaporg/decap-cms/issues/549)
|
|
2274
|
+
|
|
2275
|
+
[^275]: Netlify/Decap CMS [#4762](https://github.com/decaporg/decap-cms/pull/4762)
|
|
2276
|
+
|
|
2277
|
+
[^276]: Netlify/Decap CMS [#6806](https://github.com/decaporg/decap-cms/discussions/6806)
|
|
2278
|
+
|
|
2279
|
+
[^277]: Netlify/Decap CMS [#86](https://github.com/decaporg/decap-cms/issues/86)
|
|
2280
|
+
|
|
2281
|
+
[^278]: Netlify/Decap CMS [#7575](https://github.com/decaporg/decap-cms/issues/7575), [#7576](https://github.com/decaporg/decap-cms/issues/7576)
|