@sveltia/cms 0.31.2 → 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 -42
- 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
|
|
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,20 +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
|
-
- Sort by a DateTime field works as expected[^110].
|
|
154
|
-
- 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
|
|
155
159
|
- You can [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug).
|
|
156
160
|
- Entry slug template tags support [filter transformations](https://decapcms.org/docs/summary-strings/) just like summary string template tags[^29].
|
|
157
161
|
- Single quotes in a slug will be replaced with `sanitize_replacement` (default: hyphen) rather than being removed[^52].
|
|
158
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.
|
|
159
169
|
|
|
160
170
|
### Better content editing
|
|
161
171
|
|
|
@@ -198,7 +208,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
198
208
|
- You can enter spaces in a simple text-based List field[^50].
|
|
199
209
|
- You can preview variable types without having to register a preview template[^42].
|
|
200
210
|
- Markdown
|
|
201
|
-
- 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].
|
|
202
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.
|
|
203
213
|
- Line breaks are rendered as line breaks in the preview pane according to GitHub Flavored Markdown.
|
|
204
214
|
- Object
|
|
@@ -215,8 +225,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
215
225
|
- It’s possible to select an option with value `0`[^56].
|
|
216
226
|
- `label` is displayed in the preview pane instead of `value`.
|
|
217
227
|
- String
|
|
218
|
-
- When a YouTube video URL is entered in a String field, it appears as an embedded video in the preview pane.
|
|
219
|
-
- 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.
|
|
220
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.
|
|
221
230
|
- Supports the `type` option that accepts `url` or `email` as a value, which will validate the value as a URL or email.
|
|
222
231
|
- Supports the `prefix` and `suffix` string options, which automatically prepend and/or append the developer-defined value to the user-input value.
|
|
@@ -227,7 +236,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
227
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].
|
|
228
237
|
- A new asset can be uploaded by dragging & dropping it into the dialog[^20].
|
|
229
238
|
- A URL can also be entered in the dialog.
|
|
230
|
-
- 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.
|
|
231
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.
|
|
232
241
|
- List and Object
|
|
233
242
|
- The `summary` is displayed correctly when it refers to a Relation field[^36].
|
|
@@ -235,8 +244,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
235
244
|
- A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
|
|
236
245
|
- Relation and Select
|
|
237
246
|
- If a dropdown list has options with long wrapping labels, they won’t overlap with the next option[^83].
|
|
238
|
-
- 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].
|
|
239
|
-
- 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.
|
|
240
248
|
- String and Text
|
|
241
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.
|
|
242
250
|
|
|
@@ -254,12 +262,11 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
254
262
|
|
|
255
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].
|
|
256
264
|
- Navigate between the global media folder and per-collection media folders[^6].
|
|
257
|
-
- Preview image, audio, video, text and PDF files.
|
|
258
|
-
|
|
259
|
-
-
|
|
260
|
-
|
|
261
|
-
-
|
|
262
|
-
- 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.
|
|
263
270
|
- Download one or more selected assets at once.
|
|
264
271
|
- Delete one or more selected assets at once.
|
|
265
272
|
- Upload multiple assets at once, including files in nested folders, by browsing or dragging and dropping them into the library[^5].
|
|
@@ -271,6 +278,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
271
278
|
- Hidden files (dot files) don’t appear in the Asset Library[^47].
|
|
272
279
|
- You can add assets using the Quick Add button in the upper right corner of the application.
|
|
273
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].
|
|
274
282
|
|
|
275
283
|
## Compatibility
|
|
276
284
|
|
|
@@ -308,7 +316,7 @@ Missing other features? Let us know by [filing an issue](https://github.com/svel
|
|
|
308
316
|
- The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
|
|
309
317
|
- Sveltia CMS has dropped the support for the deprecated Date widget following Decap CMS 3.0. Use the DateTime widget instead.
|
|
310
318
|
- Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
|
|
311
|
-
- 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.
|
|
312
320
|
|
|
313
321
|
## Roadmap
|
|
314
322
|
|
|
@@ -327,6 +335,7 @@ Missing other features? Let us know by [filing an issue](https://github.com/svel
|
|
|
327
335
|
### After the 1.0 release
|
|
328
336
|
|
|
329
337
|
- Compatibility with Static CMS, a community fork of Netlify CMS
|
|
338
|
+
- AI integrations
|
|
330
339
|
- Roles[^23]
|
|
331
340
|
- Config editor[^10]
|
|
332
341
|
- Mobile support[^18]
|
|
@@ -429,7 +438,7 @@ Also, at this point, you have to reload the CMS to see the latest content after
|
|
|
429
438
|
|
|
430
439
|
### Using a custom icon for a collection
|
|
431
440
|
|
|
432
|
-
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:
|
|
433
442
|
|
|
434
443
|
1. Visit the [Material Symbols](https://fonts.google.com/icons?icon.set=Material+Symbols&icon.platform=android) page on Google Fonts.
|
|
435
444
|
1. Search and select an icon, and copy the icon name displayed on the right panel.
|
|
@@ -511,8 +520,6 @@ If you have upgraded to DeepL API Pro, provide your new Authentication Key:
|
|
|
511
520
|
1. Paste your key to the DeepL API Authentication Key field.
|
|
512
521
|
1. Close the Settings dialog.
|
|
513
522
|
|
|
514
|
-
More translation service providers will be added in the future.
|
|
515
|
-
|
|
516
523
|
### Localizing entry slugs
|
|
517
524
|
|
|
518
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:
|
|
@@ -762,113 +769,227 @@ Last but not least, don’t forget to star this project and spread the word so m
|
|
|
762
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.
|
|
763
770
|
|
|
764
771
|
[^1]: Netlify/Decap CMS [#2557](https://github.com/decaporg/decap-cms/issues/2557)
|
|
772
|
+
|
|
765
773
|
[^2]: Netlify/Decap CMS [#3267](https://github.com/decaporg/decap-cms/issues/3267)
|
|
774
|
+
|
|
766
775
|
[^3]: Netlify/Decap CMS [#1040](https://github.com/decaporg/decap-cms/issues/1040)
|
|
776
|
+
|
|
767
777
|
[^4]: Netlify/Decap CMS [#3671](https://github.com/decaporg/decap-cms/issues/3671)
|
|
778
|
+
|
|
768
779
|
[^5]: Netlify/Decap CMS [#1032](https://github.com/decaporg/decap-cms/issues/1032)
|
|
780
|
+
|
|
769
781
|
[^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
|
|
782
|
+
|
|
770
783
|
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386)
|
|
784
|
+
|
|
771
785
|
[^8]: Netlify/Decap CMS [#2579](https://github.com/decaporg/decap-cms/issues/2579)
|
|
786
|
+
|
|
772
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
|
+
|
|
773
789
|
[^10]: Netlify/Decap CMS [#341](https://github.com/decaporg/decap-cms/issues/341), [#1167](https://github.com/decaporg/decap-cms/issues/1167)
|
|
790
|
+
|
|
774
791
|
[^11]: Netlify/Decap CMS [#1382](https://github.com/decaporg/decap-cms/issues/1382)
|
|
792
|
+
|
|
775
793
|
[^12]: Netlify/Decap CMS [#1975](https://github.com/decaporg/decap-cms/issues/1975), [#3712](https://github.com/decaporg/decap-cms/issues/3712)
|
|
794
|
+
|
|
776
795
|
[^13]: Netlify/Decap CMS [#5112](https://github.com/decaporg/decap-cms/issues/5112), [#5653](https://github.com/decaporg/decap-cms/issues/5653)
|
|
796
|
+
|
|
777
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
|
+
|
|
778
799
|
[^15]: Netlify/Decap CMS [#6932](https://github.com/decaporg/decap-cms/issues/6932)
|
|
800
|
+
|
|
779
801
|
[^16]: Netlify/Decap CMS [#2103](https://github.com/decaporg/decap-cms/issues/2103)
|
|
802
|
+
|
|
780
803
|
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333)
|
|
804
|
+
|
|
781
805
|
[^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441)
|
|
806
|
+
|
|
782
807
|
[^19]: Netlify/Decap CMS [#5910](https://github.com/decaporg/decap-cms/issues/5910)
|
|
808
|
+
|
|
783
809
|
[^20]: Netlify/Decap CMS [#4563](https://github.com/decaporg/decap-cms/issues/4563)
|
|
810
|
+
|
|
784
811
|
[^21]: Netlify/Decap CMS [#4781](https://github.com/decaporg/decap-cms/issues/4781)
|
|
812
|
+
|
|
785
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
|
+
|
|
786
815
|
[^23]: Netlify/Decap CMS [#2](https://github.com/decaporg/decap-cms/issues/2)
|
|
816
|
+
|
|
787
817
|
[^24]: Netlify/Decap CMS [#6831](https://github.com/decaporg/decap-cms/issues/6831)
|
|
818
|
+
|
|
788
819
|
[^25]: Netlify/Decap CMS [#526](https://github.com/decaporg/decap-cms/issues/526), [#6987](https://github.com/decaporg/decap-cms/issues/6987)
|
|
789
|
-
|
|
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
|
+
|
|
790
823
|
[^27]: Netlify/Decap CMS [#3285](https://github.com/decaporg/decap-cms/issues/5617)
|
|
824
|
+
|
|
791
825
|
[^28]: Netlify/Decap CMS [#2677](https://github.com/decaporg/decap-cms/pull/2677), [#6836](https://github.com/decaporg/decap-cms/pull/6836)
|
|
826
|
+
|
|
792
827
|
[^29]: Netlify/Decap CMS [#4783](https://github.com/decaporg/decap-cms/issues/4783)
|
|
828
|
+
|
|
793
829
|
[^30]: Netlify/Decap CMS [#565](https://github.com/decaporg/decap-cms/issues/565)
|
|
830
|
+
|
|
794
831
|
[^31]: Netlify/Decap CMS [#1045](https://github.com/decaporg/decap-cms/issues/1045)
|
|
832
|
+
|
|
795
833
|
[^32]: Netlify/Decap CMS [#302](https://github.com/decaporg/decap-cms/issues/302), [#5549](https://github.com/decaporg/decap-cms/issues/5549)
|
|
834
|
+
|
|
796
835
|
[^33]: Netlify/Decap CMS [#6513](https://github.com/decaporg/decap-cms/issues/6513)
|
|
836
|
+
|
|
797
837
|
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138)
|
|
838
|
+
|
|
798
839
|
[^35]: Netlify/Decap CMS [#7086](https://github.com/decaporg/decap-cms/issues/7086)
|
|
840
|
+
|
|
799
841
|
[^36]: Netlify/Decap CMS [#6325](https://github.com/decaporg/decap-cms/issues/6325)
|
|
842
|
+
|
|
800
843
|
[^37]: Netlify/Decap CMS [#1481](https://github.com/decaporg/decap-cms/issues/1481)
|
|
844
|
+
|
|
801
845
|
[^38]: Netlify/Decap CMS [#1984](https://github.com/decaporg/decap-cms/issues/1984)
|
|
846
|
+
|
|
802
847
|
[^39]: Netlify/Decap CMS [#946](https://github.com/decaporg/decap-cms/issues/946)
|
|
848
|
+
|
|
803
849
|
[^40]: Netlify/Decap CMS [#5630](https://github.com/decaporg/decap-cms/issues/5630)
|
|
850
|
+
|
|
804
851
|
[^41]: Netlify/Decap CMS [#7011](https://github.com/decaporg/decap-cms/issues/7011)
|
|
852
|
+
|
|
805
853
|
[^42]: Netlify/Decap CMS [#2307](https://github.com/decaporg/decap-cms/issues/2307)
|
|
854
|
+
|
|
806
855
|
[^43]: Netlify/Decap CMS [#4387](https://github.com/decaporg/decap-cms/issues/4387), [#5381](https://github.com/decaporg/decap-cms/issues/5381)
|
|
856
|
+
|
|
807
857
|
[^44]: Netlify/Decap CMS [#2613](https://github.com/decaporg/decap-cms/issues/2613)
|
|
858
|
+
|
|
808
859
|
[^45]: Netlify/Decap CMS [#1424](https://github.com/decaporg/decap-cms/issues/1424)
|
|
860
|
+
|
|
809
861
|
[^46]: Netlify/Decap CMS [#4726](https://github.com/decaporg/decap-cms/issues/4726)
|
|
862
|
+
|
|
810
863
|
[^47]: Netlify/Decap CMS [#2370](https://github.com/decaporg/decap-cms/issues/2370), [#5596](https://github.com/decaporg/decap-cms/issues/5596)
|
|
864
|
+
|
|
811
865
|
[^48]: Netlify/Decap CMS [#5569](https://github.com/decaporg/decap-cms/issues/5569)
|
|
866
|
+
|
|
812
867
|
[^49]: Netlify/Decap CMS [#5752](https://github.com/decaporg/decap-cms/issues/5752)
|
|
868
|
+
|
|
813
869
|
[^50]: Netlify/Decap CMS [#4646](https://github.com/decaporg/decap-cms/issues/4646), [#7167](https://github.com/decaporg/decap-cms/issues/7167)
|
|
870
|
+
|
|
814
871
|
[^51]: Netlify/Decap CMS [#6731](https://github.com/decaporg/decap-cms/issues/6731)
|
|
872
|
+
|
|
815
873
|
[^52]: Netlify/Decap CMS [#7147](https://github.com/decaporg/decap-cms/issues/7147)
|
|
874
|
+
|
|
816
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
|
+
|
|
817
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
|
+
|
|
818
879
|
[^55]: Netlify/Decap CMS [#4480](https://github.com/decaporg/decap-cms/issues/4480), [#6353](https://github.com/decaporg/decap-cms/issues/6353)
|
|
880
|
+
|
|
819
881
|
[^56]: Netlify/Decap CMS [#6515](https://github.com/decaporg/decap-cms/issues/6515)
|
|
882
|
+
|
|
820
883
|
[^57]: Netlify/Decap CMS [#328](https://github.com/decaporg/decap-cms/issues/328)
|
|
884
|
+
|
|
821
885
|
[^58]: Netlify/Decap CMS [#5125](https://github.com/decaporg/decap-cms/issues/5125)
|
|
886
|
+
|
|
822
887
|
[^59]: Netlify/Decap CMS [#1654](https://github.com/decaporg/decap-cms/issues/1654)
|
|
888
|
+
|
|
823
889
|
[^60]: Netlify/Decap CMS [#386](https://github.com/decaporg/decap-cms/issues/386)
|
|
890
|
+
|
|
824
891
|
[^61]: Netlify/Decap CMS [#1489](https://github.com/decaporg/decap-cms/issues/1489), [#5838](https://github.com/decaporg/decap-cms/issues/5838)
|
|
892
|
+
|
|
825
893
|
[^62]: Netlify/Decap CMS [#7192](https://github.com/decaporg/decap-cms/issues/7192)
|
|
894
|
+
|
|
826
895
|
[^63]: Netlify/Decap CMS [#4877](https://github.com/decaporg/decap-cms/issues/4877)
|
|
896
|
+
|
|
827
897
|
[^64]: Netlify/Decap CMS [#3853](https://github.com/decaporg/decap-cms/issues/3853)
|
|
898
|
+
|
|
828
899
|
[^65]: Netlify/Decap CMS [#6034](https://github.com/decaporg/decap-cms/issues/6034)
|
|
900
|
+
|
|
829
901
|
[^66]: Netlify/Decap CMS [#3353](https://github.com/decaporg/decap-cms/issues/3353)
|
|
902
|
+
|
|
830
903
|
[^67]: Netlify/Decap CMS [#7077](https://github.com/decaporg/decap-cms/issues/7077)
|
|
904
|
+
|
|
831
905
|
[^68]: Netlify/Decap CMS [#6978](https://github.com/decaporg/decap-cms/issues/6978)
|
|
906
|
+
|
|
832
907
|
[^69]: Netlify/Decap CMS [#6994](https://github.com/decaporg/decap-cms/issues/6994)
|
|
908
|
+
|
|
833
909
|
[^70]: Netlify/Decap CMS [#6482](https://github.com/decaporg/decap-cms/issues/6482)
|
|
834
|
-
|
|
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
|
+
|
|
835
913
|
[^72]: Netlify/Decap CMS [#7047](https://github.com/decaporg/decap-cms/issues/7047)
|
|
836
|
-
|
|
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
|
+
|
|
837
917
|
[^74]: Netlify/Decap CMS [#4209](https://github.com/decaporg/decap-cms/issues/4209)
|
|
918
|
+
|
|
838
919
|
[^75]: Netlify/Decap CMS [#5472](https://github.com/decaporg/decap-cms/issues/5472)
|
|
920
|
+
|
|
839
921
|
[^76]: Netlify/Decap CMS [#4738](https://github.com/decaporg/decap-cms/issues/4738)
|
|
922
|
+
|
|
840
923
|
[^77]: Netlify/Decap CMS [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#6565](https://github.com/decaporg/decap-cms/issues/6565)
|
|
924
|
+
|
|
841
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
|
+
|
|
842
927
|
[^79]: Netlify/Decap CMS [#5726](https://github.com/decaporg/decap-cms/issues/5726)
|
|
928
|
+
|
|
843
929
|
[^80]: Netlify/Decap CMS [#5493](https://github.com/decaporg/decap-cms/issues/5493), [#6600](https://github.com/decaporg/decap-cms/issues/6600)
|
|
930
|
+
|
|
844
931
|
[^81]: Netlify/Decap CMS [#4645](https://github.com/decaporg/decap-cms/issues/4645)
|
|
932
|
+
|
|
845
933
|
[^82]: Netlify/Decap CMS [#6500](https://github.com/decaporg/decap-cms/issues/6500)
|
|
934
|
+
|
|
846
935
|
[^83]: Netlify/Decap CMS [#6508](https://github.com/decaporg/decap-cms/issues/6508)
|
|
936
|
+
|
|
847
937
|
[^84]: Netlify/Decap CMS [#7142](https://github.com/decaporg/decap-cms/issues/7142)
|
|
938
|
+
|
|
848
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
|
+
|
|
849
941
|
[^86]: Netlify/Decap CMS [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
942
|
+
|
|
850
943
|
[^87]: Netlify/Decap CMS [#5280](https://github.com/decaporg/decap-cms/issues/5280)
|
|
944
|
+
|
|
851
945
|
[^88]: Netlify/Decap CMS [#1267](https://github.com/decaporg/decap-cms/issues/1267)
|
|
946
|
+
|
|
852
947
|
[^89]: Netlify/Decap CMS [#4255](https://github.com/decaporg/decap-cms/issues/4255)
|
|
948
|
+
|
|
853
949
|
[^90]: Netlify/Decap CMS [#725](https://github.com/decaporg/decap-cms/issues/725)
|
|
950
|
+
|
|
854
951
|
[^91]: Netlify/Decap CMS [#4954](https://github.com/decaporg/decap-cms/issues/4954)
|
|
952
|
+
|
|
855
953
|
[^92]: Netlify/Decap CMS [#1466](https://github.com/decaporg/decap-cms/issues/1466)
|
|
954
|
+
|
|
856
955
|
[^93]: Netlify/Decap CMS [#1000](https://github.com/decaporg/decap-cms/issues/1000)
|
|
956
|
+
|
|
857
957
|
[^94]: Netlify/Decap CMS [#5487](https://github.com/decaporg/decap-cms/issues/5487)
|
|
958
|
+
|
|
858
959
|
[^95]: Netlify/Decap CMS [#4417](https://github.com/decaporg/decap-cms/issues/4417)
|
|
960
|
+
|
|
859
961
|
[^96]: Netlify/Decap CMS [#962](https://github.com/decaporg/decap-cms/issues/962)
|
|
962
|
+
|
|
860
963
|
[^97]: Netlify/Decap CMS [#4288](https://github.com/decaporg/decap-cms/issues/4288)
|
|
964
|
+
|
|
861
965
|
[^98]: Netlify/Decap CMS [#3856](https://github.com/decaporg/decap-cms/issues/3856)
|
|
966
|
+
|
|
862
967
|
[^99]: Netlify/Decap CMS [#1685](https://github.com/decaporg/decap-cms/issues/1685)
|
|
968
|
+
|
|
863
969
|
[^100]: Netlify/Decap CMS [#4147](https://github.com/decaporg/decap-cms/issues/4147)
|
|
970
|
+
|
|
864
971
|
[^101]: Netlify/Decap CMS [#5969](https://github.com/decaporg/decap-cms/issues/5969)
|
|
972
|
+
|
|
865
973
|
[^102]: Netlify/Decap CMS [#1270](https://github.com/decaporg/decap-cms/issues/1270)
|
|
974
|
+
|
|
866
975
|
[^103]: Netlify/Decap CMS [#6307](https://github.com/decaporg/decap-cms/issues/6307)
|
|
976
|
+
|
|
867
977
|
[^104]: Netlify/Decap CMS [#6819](https://github.com/decaporg/decap-cms/issues/6819)
|
|
978
|
+
|
|
868
979
|
[^105]: Netlify/Decap CMS [#5701](https://github.com/decaporg/decap-cms/issues/5701)
|
|
980
|
+
|
|
869
981
|
[^106]: Netlify/Decap CMS [#2822](https://github.com/decaporg/decap-cms/issues/2822)
|
|
982
|
+
|
|
870
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
|
+
|
|
871
985
|
[^108]: Netlify/Decap CMS [#6829](https://github.com/decaporg/decap-cms/issues/6829)
|
|
986
|
+
|
|
872
987
|
[^109]: Netlify/Decap CMS [#7197](https://github.com/decaporg/decap-cms/issues/7197)
|
|
988
|
+
|
|
873
989
|
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637)
|
|
874
|
-
|
|
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).
|