@sveltia/cms 0.32.0 → 0.33.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 +163 -43
- package/dist/sveltia-cms.js +163 -163
- package/dist/sveltia-cms.mjs +167 -167
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -16,9 +16,14 @@ Sveltia CMS is a Git-based lightweight headless CMS under active development as
|
|
|
16
16
|
|
|
17
17
|
Sveltia CMS was born in November 2022, when the progress of Netlify CMS was stalled for more than six months. [@kyoshino](https://github.com/kyoshino)’s clients wanted to replace their Netlify CMS instances without much effort, mainly to get better internationalization (i18n) support.
|
|
18
18
|
|
|
19
|
-
To achieve radical improvements in UX, performance, i18n and other areas, it was decided to build an alternative from the ground up, while ensuring an easy migration path from the other. After proving the concept with a rapid [Svelte](https://svelte.dev/) prototype, development was accelerated to address their primary use cases. The new
|
|
19
|
+
To achieve radical improvements in UX, performance, i18n and other areas, it was decided to build an alternative from the ground up, while ensuring an easy migration path from the other. After proving the concept with a rapid [Svelte](https://svelte.dev/) prototype, development was accelerated to address their primary use cases. The new product has since been named Sveltia CMS and released as open source software to encourage wider adoption.
|
|
20
20
|
|
|
21
|
-
Our
|
|
21
|
+
### Our goals
|
|
22
|
+
|
|
23
|
+
- Making Sveltia CMS a viable successor to Netlify CMS
|
|
24
|
+
- Emerging as the leading open source offering in the Git-based headless CMS market
|
|
25
|
+
- Empowering small businesses and individuals who need a simple, free, yet powerful CMS solution
|
|
26
|
+
- Showcasing the vast potential of the Svelte framework
|
|
22
27
|
|
|
23
28
|
## Development status
|
|
24
29
|
|
|
@@ -28,7 +33,8 @@ While we are fixing reported bugs as fast as we can, usually within 24 hours, th
|
|
|
28
33
|
|
|
29
34
|
- Ensuring maximum [compatibility with existing versions of Netlify/Decap CMS](#compatibility)
|
|
30
35
|
- Tackling as many [issues reported to Netlify/Decap CMS](https://github.com/decaporg/decap-cms/issues) as possible
|
|
31
|
-
- So far, 100+ of them have been effectively solved in Sveltia CMS
|
|
36
|
+
- So far, 100+ of them (or 180+ including duplicates) have been effectively solved in Sveltia CMS
|
|
37
|
+
- Target: 150 issues by GA, 250 in a later release
|
|
32
38
|
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new) if you have any specific issues you’d like to see solved!
|
|
33
39
|
- Responding to user feedback
|
|
34
40
|
- Implementing our own UX enhancement ideas
|
|
@@ -45,34 +51,35 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
45
51
|
|
|
46
52
|
- Ready to be used as a drop-in replacement for Netlify/Decap CMS _in some casual use case scenarios_ with a single line of code update.
|
|
47
53
|
- Your existing [configuration file](https://decapcms.org/docs/configuration-options/) can be reused as is.
|
|
48
|
-
-
|
|
54
|
+
- However, some features are still missing or will not be added — look at the [compatibility info](#compatibility) below to see if you can migrate now or soon.
|
|
49
55
|
|
|
50
56
|
### Better UX
|
|
51
57
|
|
|
52
58
|
- Created and maintained by an [experienced UX engineer](https://github.com/kyoshino) who loves code, design and marketing. You can expect constant improvements to the user experience (UX) and developer experience (DX) across the platform.
|
|
53
59
|
- Offers a modern, intuitive user interface, including an immersive dark mode[^2], inspired in part by the Netlify CMS v3 prototype[^1].
|
|
54
60
|
- Comes with touch device support. While the UI is not yet optimized for small screens, large tablets like iPad Pro or Pixel Tablet should work well. Mobile support is planned after the 1.0 release.
|
|
55
|
-
- Made with Svelte, not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid fatal React
|
|
61
|
+
- Made with Svelte, not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid fatal React application crashes[^113]. Best of all, Svelte offers great performance!
|
|
56
62
|
- The screenshots above are worth a thousand words, but read on to learn about many other improvements in detail.
|
|
57
63
|
|
|
58
64
|
### Better performance
|
|
59
65
|
|
|
60
66
|
- 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 almost any framework.
|
|
61
|
-
- Small footprint: The bundle size is less than 500 KB when minified and gzipped, which is much lighter than
|
|
62
|
-
-
|
|
67
|
+
- Small footprint: The bundle size is less than 500 KB when minified and gzipped, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (a Netlify CMS fork, 2.6 MB), even though we haven’t implemented some features yet[^57][^64].
|
|
68
|
+
- The upcoming [Svelte 5](https://svelte.dev/blog/svelte-5-release-candidate) upgrade is anticipated to deliver further performance improvements, including accelerated speed and even smaller bundle size (50+ KB reduction).
|
|
69
|
+
- Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
63
70
|
- 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]. It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
|
|
64
71
|
- 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/).
|
|
65
72
|
- Using caching and lazy loading techniques. A list of repository files is stored locally for faster startup and bandwidth savings.
|
|
66
73
|
- Thumbnails of assets, including PDF files, are generated and cached for faster rendering of the Asset Library and other parts of the CMS[^39].
|
|
67
|
-
-
|
|
74
|
+
- No typing lag on input widgets, especially within nested lists and objects[^77].
|
|
68
75
|
|
|
69
76
|
### Better productivity
|
|
70
77
|
|
|
71
78
|
- You can [work with a local Git repository](#working-with-a-local-git-repository) without any extra configuration or proxy server[^26].
|
|
72
|
-
- Deleting an entry or asset file also deletes the empty enclosing folder, so you don’t have to delete it manually.
|
|
73
79
|
- In addition to a streamlined workflow, it offers great performance by loading files natively through the browser rather than using a slow, ad hoc REST API.
|
|
74
80
|
- 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].
|
|
75
|
-
-
|
|
81
|
+
- 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.
|
|
82
|
+
- Provides a smoother user experience in the Content Editor:
|
|
76
83
|
- 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].
|
|
77
84
|
- Click once (the Save button) instead of twice (Publish > Publish now) to save an entry.
|
|
78
85
|
- The editor closes automatically when an entry is saved.
|
|
@@ -101,7 +108,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
101
108
|
|
|
102
109
|
- Some servers and frameworks remove the trailing slash from the CMS URL (`/admin`) depending on the configuration. In such cases, the config file is loaded from a root-relative URL (`/admin/config.yml`) instead of a regular relative URL (`./config.yml` = `/config.yml`) that results in a 404 Not Found error[^107].
|
|
103
110
|
- Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
|
|
104
|
-
- The application renders within the dimensions of a [custom mount element](https://decapcms.org/docs/custom-mounting/), if
|
|
111
|
+
- The application renders within the dimensions of a [custom mount element](https://decapcms.org/docs/custom-mounting/), if exists[^109].
|
|
105
112
|
|
|
106
113
|
### Better backend support
|
|
107
114
|
|
|
@@ -131,7 +138,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
131
138
|
- Language labels appear in human-readable display names instead of ISO 639 language codes, which not everyone is familiar with. (For example, it might be difficult to recognize `DE` as German, `NL` as Dutch, or `ZH` as Chinese.)
|
|
132
139
|
- The List widget’s `label` and `label_singular` are not converted to lowercase, which is especially problematic in German, where all nouns are capitalized[^98].
|
|
133
140
|
- Content editing
|
|
134
|
-
- [Integrates DeepL](#using-deepl-to-translate-entry-fields) to allow translation of text fields from another locale with one click.
|
|
141
|
+
- [Integrates DeepL](#using-deepl-to-translate-entry-fields) to allow translation of text fields from another locale with one click. More translation services will be added in the future.
|
|
135
142
|
- You can [disable non-default locale content](#disabling-non-default-locale-content)[^15].
|
|
136
143
|
- Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
|
|
137
144
|
- Boolean fields are updated in real time between locales like other widgets to avoid confusion[^35].
|
|
@@ -142,21 +149,23 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
142
149
|
|
|
143
150
|
### Better collections
|
|
144
151
|
|
|
145
|
-
-
|
|
146
|
-
- You can [
|
|
147
|
-
-
|
|
148
|
-
- You can
|
|
149
|
-
- You can use
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
- A folder collection filter with a boolean value works as expected[^93].
|
|
153
|
-
- Sorting entries by a DateTime field works as expected[^110].
|
|
154
|
-
- You can use the `thumbnail` option for a collection to specify the field name for an entry thumbnail displayed on the entry list. A nested field can be specified using dot notation, e.g. `images.0.src`. If omitted, the `name` of the first image field is used.
|
|
155
|
-
- Improved entry slugs
|
|
152
|
+
- Configuration
|
|
153
|
+
- You can [choose a custom icon for each collection](#using-a-custom-icon-for-a-collection) with the new `icon` collection option[^3].
|
|
154
|
+
- You can [add dividers to the collection list](#adding-dividers-to-the-collection-list) with the new `divider` collection option.
|
|
155
|
+
- You can specify the field name for a thumbnail displayed on the entry list with the new `thumbnail` collection option. 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.
|
|
156
|
+
- You can use nested fields (dot notation) in the `path` option for a folder collection, e.g. `{{fields.state.name}}/{{slug}}`[^62].
|
|
157
|
+
- You can use Markdown in the `description` collection option[^79]. Bold, italic, strikethrough, code and links are allowed.
|
|
158
|
+
- Entry slugs
|
|
156
159
|
- You can [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug).
|
|
157
160
|
- Entry slug template tags support [filter transformations](https://decapcms.org/docs/summary-strings/) just like summary string template tags[^29].
|
|
158
161
|
- Single quotes in a slug will be replaced with `sanitize_replacement` (default: hyphen) rather than being removed[^52].
|
|
159
162
|
- You can set the maximum number of characters for an entry slug with the new `slug_length` collection option[^25].
|
|
163
|
+
- Entry listing
|
|
164
|
+
- A folder collection filter with a boolean value works as expected[^93].
|
|
165
|
+
- Sorting entries by a DateTime field works as expected[^110].
|
|
166
|
+
- Assets stored in a [per-collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
|
|
167
|
+
- 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].
|
|
168
|
+
- 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.
|
|
160
169
|
|
|
161
170
|
### Better content editing
|
|
162
171
|
|
|
@@ -199,7 +208,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
199
208
|
- You can enter spaces in a simple text-based List field[^50].
|
|
200
209
|
- You can preview variable types without having to register a preview template[^42].
|
|
201
210
|
- Markdown
|
|
202
|
-
- The rich text editor is built with [Lexical](https://github.com/facebook/lexical) instead of [Slate](https://github.com/ianstormtaylor/slate), which solves various problems found in Netlify/Decap CMS, including fatal application crashes[^53][^70][^71][^72][^73].
|
|
211
|
+
- The rich text editor is built with [Lexical](https://github.com/facebook/lexical) instead of [Slate](https://github.com/ianstormtaylor/slate), which solves various problems found in Netlify/Decap CMS, including fatal application crashes[^53][^70][^71][^72][^73][^111].
|
|
203
212
|
- You can set the default editor mode 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.
|
|
204
213
|
- Line breaks are rendered as line breaks in the preview pane according to GitHub Flavored Markdown.
|
|
205
214
|
- Object
|
|
@@ -216,8 +225,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
216
225
|
- It’s possible to select an option with value `0`[^56].
|
|
217
226
|
- `label` is displayed in the preview pane instead of `value`.
|
|
218
227
|
- String
|
|
219
|
-
- When a YouTube video URL is entered in a String field, it appears as an embedded video in the preview pane.
|
|
220
|
-
- Check your site’s [CSP](#setting-up-content-security-policy) if the preview doesn’t work.
|
|
228
|
+
- When a YouTube video URL is entered in a String field, it appears as an embedded video in the preview pane. Check your site’s [CSP](#setting-up-content-security-policy) if the preview doesn’t work.
|
|
221
229
|
- When a regular URL is entered in a String field, it appears as a link that can be opened in a new browser tab.
|
|
222
230
|
- Supports the `type` option that accepts `url` or `email` as a value, which will validate the value as a URL or email.
|
|
223
231
|
- Supports the `prefix` and `suffix` string options, which automatically prepend and/or append the developer-defined value to the user-input value.
|
|
@@ -228,7 +236,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
228
236
|
- [Collection-specific assets](#using-a-custom-media-folder-for-a-collection) are listed for easy selection, while all assets are displayed in a separate tab[^19].
|
|
229
237
|
- A new asset can be uploaded by dragging & dropping it into the dialog[^20].
|
|
230
238
|
- A URL can also be entered in the dialog.
|
|
231
|
-
- Integration with Pexels, Pixabay and Unsplash makes it easy to select and insert a free stock photo[^8]. More
|
|
239
|
+
- Integration with Pexels, Pixabay and Unsplash makes it easy to select and insert a free stock photo[^8]. More stock photo providers will be added in the future.
|
|
232
240
|
- Large images automatically fit in the preview pane instead of being displayed at their original size, which can easily exceed the width of the pane.
|
|
233
241
|
- List and Object
|
|
234
242
|
- The `summary` is displayed correctly when it refers to a Relation field[^36].
|
|
@@ -236,8 +244,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
236
244
|
- A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
|
|
237
245
|
- Relation and Select
|
|
238
246
|
- If a dropdown list has options with long wrapping labels, they won’t overlap with the next option[^83].
|
|
239
|
-
- When there are 5 or fewer options, the UI switches from a dropdown list to radio buttons (single-select) or checkboxes (multi-select) for faster data entry[^61].
|
|
240
|
-
- This number can be changed with the `dropdown_threshold` option for the `relation` and `select` widgets.
|
|
247
|
+
- When there are 5 or fewer options, the UI switches from a dropdown list to radio buttons (single-select) or checkboxes (multi-select) for faster data entry[^61]. This number can be changed with the `dropdown_threshold` option for the `relation` and `select` widgets.
|
|
241
248
|
- String and Text
|
|
242
249
|
- Supports the `minlength` and `maxlength` options, which allow developers to specify the minimum and maximum number of characters required for input without having to write a custom regular expression with the `pattern` option. A character counter is available when one of the options is given, and a user-friendly validation error is displayed if the condition is not met.
|
|
243
250
|
|
|
@@ -255,12 +262,11 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
255
262
|
|
|
256
263
|
- A completely new Asset Library, built separately from the image selection dialog, makes it easy to manage all of your files, including images, videos and documents[^96].
|
|
257
264
|
- Navigate between the global media folder and per-collection media folders[^6].
|
|
258
|
-
- Preview image, audio, video, text and PDF files.
|
|
259
|
-
|
|
260
|
-
-
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
- Replace existing assets.
|
|
265
|
+
- Preview image, audio, video, text and PDF files. Check your site’s [CSP](#setting-up-content-security-policy) if the preview doesn’t work.
|
|
266
|
+
- Copy the public URL[^74], file path, text data or image data of a selected asset to clipboard. The file path starts with `/` as expected[^48].
|
|
267
|
+
- Edit a plain text asset, including SVG images.
|
|
268
|
+
- Rename an existing asset.
|
|
269
|
+
- Replace an existing asset. If the asset is used in any entries, the File/Image fields will be automatically updated with a new file path.
|
|
264
270
|
- Download one or more selected assets at once.
|
|
265
271
|
- Delete one or more selected assets at once.
|
|
266
272
|
- Upload multiple assets at once, including files in nested folders, by browsing or dragging and dropping them into the library[^5].
|
|
@@ -272,6 +278,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
272
278
|
- Hidden files (dot files) don’t appear in the Asset Library[^47].
|
|
273
279
|
- You can add assets using the Quick Add button in the upper right corner of the application.
|
|
274
280
|
- Files are uploaded with their original names, without converting uppercase letters and spaces to lowercase letters and hyphens[^97].
|
|
281
|
+
- No fatal application crash when uploading assets[^112].
|
|
275
282
|
|
|
276
283
|
## Compatibility
|
|
277
284
|
|
|
@@ -309,7 +316,7 @@ Missing other features? Let us know by [filing an issue](https://github.com/svel
|
|
|
309
316
|
- The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
|
|
310
317
|
- Sveltia CMS has dropped the support for the deprecated Date widget following Decap CMS 3.0. Use the DateTime widget instead.
|
|
311
318
|
- Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
|
|
312
|
-
- Undocumented [methods available on the `window.CMS` object](https://github.com/sveltia/sveltia-cms/blob/b7f62741e02dc390c63c03291f95b2ca315d811b/src/main.js#L3-L33) will not be implemented. This includes custom backends, if any.
|
|
319
|
+
- Undocumented [methods available on the `window.CMS` object](https://github.com/sveltia/sveltia-cms/blob/b7f62741e02dc390c63c03291f95b2ca315d811b/src/main.js#L3-L33) will not be implemented. This includes custom backends and custom media libraries, if any.
|
|
313
320
|
|
|
314
321
|
## Roadmap
|
|
315
322
|
|
|
@@ -328,6 +335,7 @@ Missing other features? Let us know by [filing an issue](https://github.com/svel
|
|
|
328
335
|
### After the 1.0 release
|
|
329
336
|
|
|
330
337
|
- Compatibility with Static CMS, a community fork of Netlify CMS
|
|
338
|
+
- AI integrations
|
|
331
339
|
- Roles[^23]
|
|
332
340
|
- Config editor[^10]
|
|
333
341
|
- Mobile support[^18]
|
|
@@ -430,7 +438,7 @@ Also, at this point, you have to reload the CMS to see the latest content after
|
|
|
430
438
|
|
|
431
439
|
### Using a custom icon for a collection
|
|
432
440
|
|
|
433
|
-
You can
|
|
441
|
+
You can specify an icon for each collection for easy identification in the collection list. You don’t need to install a custom icon set because the Material Symbols font file is already loaded for the application UI. Just pick one of the 2,500+ icons:
|
|
434
442
|
|
|
435
443
|
1. Visit the [Material Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols&icon.platform=android) page on Google Fonts.
|
|
436
444
|
1. Search and select an icon, and copy the icon name displayed on the right panel.
|
|
@@ -512,8 +520,6 @@ If you have upgraded to DeepL API Pro, provide your new Authentication Key:
|
|
|
512
520
|
1. Paste your key to the DeepL API Authentication Key field.
|
|
513
521
|
1. Close the Settings dialog.
|
|
514
522
|
|
|
515
|
-
More translation service providers will be added in the future.
|
|
516
|
-
|
|
517
523
|
### Localizing entry slugs
|
|
518
524
|
|
|
519
525
|
In Sveltia CMS, it’s possible to localize entry slugs (filenames) if the i18n structure is `multiple_files` or `multiple_folders`. All you need is the `localize` filter for `slug` template tags:
|
|
@@ -763,113 +769,227 @@ Last but not least, don’t forget to star this project and spread the word so m
|
|
|
763
769
|
This software is provided “as is” without any express or implied warranty. We are not obligated to provide any support for the application. This product is not affiliated with or endorsed by Netlify, Decap CMS or any other integrated services. All product names, logos, and brands are the property of their respective owners.
|
|
764
770
|
|
|
765
771
|
[^1]: Netlify/Decap CMS [#2557](https://github.com/decaporg/decap-cms/issues/2557)
|
|
772
|
+
|
|
766
773
|
[^2]: Netlify/Decap CMS [#3267](https://github.com/decaporg/decap-cms/issues/3267)
|
|
774
|
+
|
|
767
775
|
[^3]: Netlify/Decap CMS [#1040](https://github.com/decaporg/decap-cms/issues/1040)
|
|
776
|
+
|
|
768
777
|
[^4]: Netlify/Decap CMS [#3671](https://github.com/decaporg/decap-cms/issues/3671)
|
|
778
|
+
|
|
769
779
|
[^5]: Netlify/Decap CMS [#1032](https://github.com/decaporg/decap-cms/issues/1032)
|
|
780
|
+
|
|
770
781
|
[^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
|
|
782
|
+
|
|
771
783
|
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386)
|
|
784
|
+
|
|
772
785
|
[^8]: Netlify/Decap CMS [#2579](https://github.com/decaporg/decap-cms/issues/2579)
|
|
786
|
+
|
|
773
787
|
[^9]: Netlify/Decap CMS [#3505](https://github.com/decaporg/decap-cms/issues/3505), [#4211](https://github.com/decaporg/decap-cms/issues/4211), [#5439](https://github.com/decaporg/decap-cms/issues/5439)
|
|
788
|
+
|
|
774
789
|
[^10]: Netlify/Decap CMS [#341](https://github.com/decaporg/decap-cms/issues/341), [#1167](https://github.com/decaporg/decap-cms/issues/1167)
|
|
790
|
+
|
|
775
791
|
[^11]: Netlify/Decap CMS [#1382](https://github.com/decaporg/decap-cms/issues/1382)
|
|
792
|
+
|
|
776
793
|
[^12]: Netlify/Decap CMS [#1975](https://github.com/decaporg/decap-cms/issues/1975), [#3712](https://github.com/decaporg/decap-cms/issues/3712)
|
|
794
|
+
|
|
777
795
|
[^13]: Netlify/Decap CMS [#5112](https://github.com/decaporg/decap-cms/issues/5112), [#5653](https://github.com/decaporg/decap-cms/issues/5653)
|
|
796
|
+
|
|
778
797
|
[^14]: Netlify/Decap CMS [#4635](https://github.com/decaporg/decap-cms/issues/4635), [#5920](https://github.com/decaporg/decap-cms/issues/5920), [#6410](https://github.com/decaporg/decap-cms/issues/6410)
|
|
798
|
+
|
|
779
799
|
[^15]: Netlify/Decap CMS [#6932](https://github.com/decaporg/decap-cms/issues/6932)
|
|
800
|
+
|
|
780
801
|
[^16]: Netlify/Decap CMS [#2103](https://github.com/decaporg/decap-cms/issues/2103)
|
|
802
|
+
|
|
781
803
|
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333)
|
|
804
|
+
|
|
782
805
|
[^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441)
|
|
806
|
+
|
|
783
807
|
[^19]: Netlify/Decap CMS [#5910](https://github.com/decaporg/decap-cms/issues/5910)
|
|
808
|
+
|
|
784
809
|
[^20]: Netlify/Decap CMS [#4563](https://github.com/decaporg/decap-cms/issues/4563)
|
|
810
|
+
|
|
785
811
|
[^21]: Netlify/Decap CMS [#4781](https://github.com/decaporg/decap-cms/issues/4781)
|
|
812
|
+
|
|
786
813
|
[^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)
|
|
814
|
+
|
|
787
815
|
[^23]: Netlify/Decap CMS [#2](https://github.com/decaporg/decap-cms/issues/2)
|
|
816
|
+
|
|
788
817
|
[^24]: Netlify/Decap CMS [#6831](https://github.com/decaporg/decap-cms/issues/6831)
|
|
818
|
+
|
|
789
819
|
[^25]: Netlify/Decap CMS [#526](https://github.com/decaporg/decap-cms/issues/526), [#6987](https://github.com/decaporg/decap-cms/issues/6987)
|
|
790
|
-
|
|
820
|
+
|
|
821
|
+
[^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)
|
|
822
|
+
|
|
791
823
|
[^27]: Netlify/Decap CMS [#3285](https://github.com/decaporg/decap-cms/issues/5617)
|
|
824
|
+
|
|
792
825
|
[^28]: Netlify/Decap CMS [#2677](https://github.com/decaporg/decap-cms/pull/2677), [#6836](https://github.com/decaporg/decap-cms/pull/6836)
|
|
826
|
+
|
|
793
827
|
[^29]: Netlify/Decap CMS [#4783](https://github.com/decaporg/decap-cms/issues/4783)
|
|
828
|
+
|
|
794
829
|
[^30]: Netlify/Decap CMS [#565](https://github.com/decaporg/decap-cms/issues/565)
|
|
830
|
+
|
|
795
831
|
[^31]: Netlify/Decap CMS [#1045](https://github.com/decaporg/decap-cms/issues/1045)
|
|
832
|
+
|
|
796
833
|
[^32]: Netlify/Decap CMS [#302](https://github.com/decaporg/decap-cms/issues/302), [#5549](https://github.com/decaporg/decap-cms/issues/5549)
|
|
834
|
+
|
|
797
835
|
[^33]: Netlify/Decap CMS [#6513](https://github.com/decaporg/decap-cms/issues/6513)
|
|
836
|
+
|
|
798
837
|
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138)
|
|
838
|
+
|
|
799
839
|
[^35]: Netlify/Decap CMS [#7086](https://github.com/decaporg/decap-cms/issues/7086)
|
|
840
|
+
|
|
800
841
|
[^36]: Netlify/Decap CMS [#6325](https://github.com/decaporg/decap-cms/issues/6325)
|
|
842
|
+
|
|
801
843
|
[^37]: Netlify/Decap CMS [#1481](https://github.com/decaporg/decap-cms/issues/1481)
|
|
844
|
+
|
|
802
845
|
[^38]: Netlify/Decap CMS [#1984](https://github.com/decaporg/decap-cms/issues/1984)
|
|
846
|
+
|
|
803
847
|
[^39]: Netlify/Decap CMS [#946](https://github.com/decaporg/decap-cms/issues/946)
|
|
848
|
+
|
|
804
849
|
[^40]: Netlify/Decap CMS [#5630](https://github.com/decaporg/decap-cms/issues/5630)
|
|
850
|
+
|
|
805
851
|
[^41]: Netlify/Decap CMS [#7011](https://github.com/decaporg/decap-cms/issues/7011)
|
|
852
|
+
|
|
806
853
|
[^42]: Netlify/Decap CMS [#2307](https://github.com/decaporg/decap-cms/issues/2307)
|
|
854
|
+
|
|
807
855
|
[^43]: Netlify/Decap CMS [#4387](https://github.com/decaporg/decap-cms/issues/4387), [#5381](https://github.com/decaporg/decap-cms/issues/5381)
|
|
856
|
+
|
|
808
857
|
[^44]: Netlify/Decap CMS [#2613](https://github.com/decaporg/decap-cms/issues/2613)
|
|
858
|
+
|
|
809
859
|
[^45]: Netlify/Decap CMS [#1424](https://github.com/decaporg/decap-cms/issues/1424)
|
|
860
|
+
|
|
810
861
|
[^46]: Netlify/Decap CMS [#4726](https://github.com/decaporg/decap-cms/issues/4726)
|
|
862
|
+
|
|
811
863
|
[^47]: Netlify/Decap CMS [#2370](https://github.com/decaporg/decap-cms/issues/2370), [#5596](https://github.com/decaporg/decap-cms/issues/5596)
|
|
864
|
+
|
|
812
865
|
[^48]: Netlify/Decap CMS [#5569](https://github.com/decaporg/decap-cms/issues/5569)
|
|
866
|
+
|
|
813
867
|
[^49]: Netlify/Decap CMS [#5752](https://github.com/decaporg/decap-cms/issues/5752)
|
|
868
|
+
|
|
814
869
|
[^50]: Netlify/Decap CMS [#4646](https://github.com/decaporg/decap-cms/issues/4646), [#7167](https://github.com/decaporg/decap-cms/issues/7167)
|
|
870
|
+
|
|
815
871
|
[^51]: Netlify/Decap CMS [#6731](https://github.com/decaporg/decap-cms/issues/6731)
|
|
872
|
+
|
|
816
873
|
[^52]: Netlify/Decap CMS [#7147](https://github.com/decaporg/decap-cms/issues/7147)
|
|
874
|
+
|
|
817
875
|
[^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)
|
|
876
|
+
|
|
818
877
|
[^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.
|
|
878
|
+
|
|
819
879
|
[^55]: Netlify/Decap CMS [#4480](https://github.com/decaporg/decap-cms/issues/4480), [#6353](https://github.com/decaporg/decap-cms/issues/6353)
|
|
880
|
+
|
|
820
881
|
[^56]: Netlify/Decap CMS [#6515](https://github.com/decaporg/decap-cms/issues/6515)
|
|
882
|
+
|
|
821
883
|
[^57]: Netlify/Decap CMS [#328](https://github.com/decaporg/decap-cms/issues/328)
|
|
884
|
+
|
|
822
885
|
[^58]: Netlify/Decap CMS [#5125](https://github.com/decaporg/decap-cms/issues/5125)
|
|
886
|
+
|
|
823
887
|
[^59]: Netlify/Decap CMS [#1654](https://github.com/decaporg/decap-cms/issues/1654)
|
|
888
|
+
|
|
824
889
|
[^60]: Netlify/Decap CMS [#386](https://github.com/decaporg/decap-cms/issues/386)
|
|
890
|
+
|
|
825
891
|
[^61]: Netlify/Decap CMS [#1489](https://github.com/decaporg/decap-cms/issues/1489), [#5838](https://github.com/decaporg/decap-cms/issues/5838)
|
|
892
|
+
|
|
826
893
|
[^62]: Netlify/Decap CMS [#7192](https://github.com/decaporg/decap-cms/issues/7192)
|
|
894
|
+
|
|
827
895
|
[^63]: Netlify/Decap CMS [#4877](https://github.com/decaporg/decap-cms/issues/4877)
|
|
896
|
+
|
|
828
897
|
[^64]: Netlify/Decap CMS [#3853](https://github.com/decaporg/decap-cms/issues/3853)
|
|
898
|
+
|
|
829
899
|
[^65]: Netlify/Decap CMS [#6034](https://github.com/decaporg/decap-cms/issues/6034)
|
|
900
|
+
|
|
830
901
|
[^66]: Netlify/Decap CMS [#3353](https://github.com/decaporg/decap-cms/issues/3353)
|
|
902
|
+
|
|
831
903
|
[^67]: Netlify/Decap CMS [#7077](https://github.com/decaporg/decap-cms/issues/7077)
|
|
904
|
+
|
|
832
905
|
[^68]: Netlify/Decap CMS [#6978](https://github.com/decaporg/decap-cms/issues/6978)
|
|
906
|
+
|
|
833
907
|
[^69]: Netlify/Decap CMS [#6994](https://github.com/decaporg/decap-cms/issues/6994)
|
|
908
|
+
|
|
834
909
|
[^70]: Netlify/Decap CMS [#6482](https://github.com/decaporg/decap-cms/issues/6482)
|
|
835
|
-
|
|
910
|
+
|
|
911
|
+
[^71]: Netlify/Decap CMS [#6999](https://github.com/decaporg/decap-cms/issues/6999), [#7000](https://github.com/decaporg/decap-cms/issues/7000), [#7001](https://github.com/decaporg/decap-cms/issues/7001), [#7152](https://github.com/decaporg/decap-cms/issues/7152), [#7220](https://github.com/decaporg/decap-cms/issues/7220)
|
|
912
|
+
|
|
836
913
|
[^72]: Netlify/Decap CMS [#7047](https://github.com/decaporg/decap-cms/issues/7047)
|
|
837
|
-
|
|
914
|
+
|
|
915
|
+
[^73]: Netlify/Decap CMS [#6993](https://github.com/decaporg/decap-cms/issues/6993), [#7123](https://github.com/decaporg/decap-cms/issues/7123), [#7127](https://github.com/decaporg/decap-cms/issues/7127), [#7128](https://github.com/decaporg/decap-cms/issues/7128)
|
|
916
|
+
|
|
838
917
|
[^74]: Netlify/Decap CMS [#4209](https://github.com/decaporg/decap-cms/issues/4209)
|
|
918
|
+
|
|
839
919
|
[^75]: Netlify/Decap CMS [#5472](https://github.com/decaporg/decap-cms/issues/5472)
|
|
920
|
+
|
|
840
921
|
[^76]: Netlify/Decap CMS [#4738](https://github.com/decaporg/decap-cms/issues/4738)
|
|
922
|
+
|
|
841
923
|
[^77]: Netlify/Decap CMS [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#6565](https://github.com/decaporg/decap-cms/issues/6565)
|
|
924
|
+
|
|
842
925
|
[^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)
|
|
926
|
+
|
|
843
927
|
[^79]: Netlify/Decap CMS [#5726](https://github.com/decaporg/decap-cms/issues/5726)
|
|
928
|
+
|
|
844
929
|
[^80]: Netlify/Decap CMS [#5493](https://github.com/decaporg/decap-cms/issues/5493), [#6600](https://github.com/decaporg/decap-cms/issues/6600)
|
|
930
|
+
|
|
845
931
|
[^81]: Netlify/Decap CMS [#4645](https://github.com/decaporg/decap-cms/issues/4645)
|
|
932
|
+
|
|
846
933
|
[^82]: Netlify/Decap CMS [#6500](https://github.com/decaporg/decap-cms/issues/6500)
|
|
934
|
+
|
|
847
935
|
[^83]: Netlify/Decap CMS [#6508](https://github.com/decaporg/decap-cms/issues/6508)
|
|
936
|
+
|
|
848
937
|
[^84]: Netlify/Decap CMS [#7142](https://github.com/decaporg/decap-cms/issues/7142)
|
|
938
|
+
|
|
849
939
|
[^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)
|
|
940
|
+
|
|
850
941
|
[^86]: Netlify/Decap CMS [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
942
|
+
|
|
851
943
|
[^87]: Netlify/Decap CMS [#5280](https://github.com/decaporg/decap-cms/issues/5280)
|
|
944
|
+
|
|
852
945
|
[^88]: Netlify/Decap CMS [#1267](https://github.com/decaporg/decap-cms/issues/1267)
|
|
946
|
+
|
|
853
947
|
[^89]: Netlify/Decap CMS [#4255](https://github.com/decaporg/decap-cms/issues/4255)
|
|
948
|
+
|
|
854
949
|
[^90]: Netlify/Decap CMS [#725](https://github.com/decaporg/decap-cms/issues/725)
|
|
950
|
+
|
|
855
951
|
[^91]: Netlify/Decap CMS [#4954](https://github.com/decaporg/decap-cms/issues/4954)
|
|
952
|
+
|
|
856
953
|
[^92]: Netlify/Decap CMS [#1466](https://github.com/decaporg/decap-cms/issues/1466)
|
|
954
|
+
|
|
857
955
|
[^93]: Netlify/Decap CMS [#1000](https://github.com/decaporg/decap-cms/issues/1000)
|
|
956
|
+
|
|
858
957
|
[^94]: Netlify/Decap CMS [#5487](https://github.com/decaporg/decap-cms/issues/5487)
|
|
958
|
+
|
|
859
959
|
[^95]: Netlify/Decap CMS [#4417](https://github.com/decaporg/decap-cms/issues/4417)
|
|
960
|
+
|
|
860
961
|
[^96]: Netlify/Decap CMS [#962](https://github.com/decaporg/decap-cms/issues/962)
|
|
962
|
+
|
|
861
963
|
[^97]: Netlify/Decap CMS [#4288](https://github.com/decaporg/decap-cms/issues/4288)
|
|
964
|
+
|
|
862
965
|
[^98]: Netlify/Decap CMS [#3856](https://github.com/decaporg/decap-cms/issues/3856)
|
|
966
|
+
|
|
863
967
|
[^99]: Netlify/Decap CMS [#1685](https://github.com/decaporg/decap-cms/issues/1685)
|
|
968
|
+
|
|
864
969
|
[^100]: Netlify/Decap CMS [#4147](https://github.com/decaporg/decap-cms/issues/4147)
|
|
970
|
+
|
|
865
971
|
[^101]: Netlify/Decap CMS [#5969](https://github.com/decaporg/decap-cms/issues/5969)
|
|
972
|
+
|
|
866
973
|
[^102]: Netlify/Decap CMS [#1270](https://github.com/decaporg/decap-cms/issues/1270)
|
|
974
|
+
|
|
867
975
|
[^103]: Netlify/Decap CMS [#6307](https://github.com/decaporg/decap-cms/issues/6307)
|
|
976
|
+
|
|
868
977
|
[^104]: Netlify/Decap CMS [#6819](https://github.com/decaporg/decap-cms/issues/6819)
|
|
978
|
+
|
|
869
979
|
[^105]: Netlify/Decap CMS [#5701](https://github.com/decaporg/decap-cms/issues/5701)
|
|
980
|
+
|
|
870
981
|
[^106]: Netlify/Decap CMS [#2822](https://github.com/decaporg/decap-cms/issues/2822)
|
|
982
|
+
|
|
871
983
|
[^107]: Netlify/Decap CMS [#332](https://github.com/decaporg/decap-cms/issues/332), [#683](https://github.com/decaporg/decap-cms/issues/683), [#999](https://github.com/decaporg/decap-cms/issues/999), [#1456](https://github.com/decaporg/decap-cms/issues/1456), [#4175](https://github.com/decaporg/decap-cms/issues/4175), [#5688](https://github.com/decaporg/decap-cms/issues/5688), [#6828](https://github.com/decaporg/decap-cms/issues/6828), [#6862](https://github.com/decaporg/decap-cms/issues/6862), [#7023](https://github.com/decaporg/decap-cms/issues/7023)
|
|
984
|
+
|
|
872
985
|
[^108]: Netlify/Decap CMS [#6829](https://github.com/decaporg/decap-cms/issues/6829)
|
|
986
|
+
|
|
873
987
|
[^109]: Netlify/Decap CMS [#7197](https://github.com/decaporg/decap-cms/issues/7197)
|
|
988
|
+
|
|
874
989
|
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637)
|
|
875
|
-
|
|
990
|
+
|
|
991
|
+
[^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218)
|
|
992
|
+
|
|
993
|
+
[^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)
|
|
994
|
+
|
|
995
|
+
[^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), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#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) — These `removeChild` crashes are common in React apps and seem to be caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|