@sveltia/cms 0.27.2 → 0.28.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 +29 -3
- package/dist/sveltia-cms.js +162 -161
- package/dist/sveltia-cms.mjs +158 -157
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -27,7 +27,8 @@ Our goal is to make it a viable successor to Netlify CMS, expand the Git-based h
|
|
|
27
27
|
While we are fixing reported bugs as fast as we can, usually within 24 hours, the overall progress may be slower than you think. The thing is, it’s not just a personal project of [@kyoshino](https://github.com/kyoshino), but also involves different kinds of activities:
|
|
28
28
|
|
|
29
29
|
- Ensuring maximum compatibility with existing versions of Netlify/Decap CMS
|
|
30
|
-
- Tackling as many [issues reported to Netlify/Decap CMS](https://github.com/decaporg/decap-cms/issues) as possible (so far
|
|
30
|
+
- Tackling as many [issues reported to Netlify/Decap CMS](https://github.com/decaporg/decap-cms/issues) as possible (so far 80+ of them have been effectively solved in Sveltia CMS, with the goal of reaching 100 by GA)
|
|
31
|
+
- Responding to user feedback
|
|
31
32
|
- Implementing our own enhancement ideas
|
|
32
33
|
|
|
33
34
|
At this point, **we are on track to ship version 1.0 in Q3 2024**. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) for updates.
|
|
@@ -67,6 +68,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
67
68
|
- 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.
|
|
68
69
|
- 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].
|
|
69
70
|
- Eliminates some workflow disruptions in the Content Editor:
|
|
71
|
+
- A backup of an entry draft is automatically created without interruption by a confirmation dialog. It can then be reliably restored without unexpected overwriting[^85].
|
|
70
72
|
- Click once (the Save button) instead of twice (Publish > Publish now) to save an entry.
|
|
71
73
|
- The editor closes automatically when an entry is saved.
|
|
72
74
|
- You can upload multiple assets at once[^5].
|
|
@@ -77,6 +79,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
77
79
|
- Search for entries and assets: `Ctrl+F` (Windows/Linux) or `Command+F` (macOS)
|
|
78
80
|
- Create a new entry: `Ctrl+E` (Windows/Linux) or `Command+E` (macOS)
|
|
79
81
|
- Save an entry: `Ctrl+S` (Windows/Linux) or `Command+S` (macOS)
|
|
82
|
+
- Cancel entry editing: `Escape`
|
|
80
83
|
- 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].
|
|
81
84
|
|
|
82
85
|
### Better accessibility
|
|
@@ -115,6 +118,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
115
118
|
- Raises a validation error instead of failing silently if the `single_file` structure is used and a required field is not filled in any of the locales[^55].
|
|
116
119
|
- [Entry-relative media folders](https://decapcms.org/docs/collection-folder/#media-and-public-folder) can be used in conjunction with the `multiple_folders` i18n structure[^21].
|
|
117
120
|
- Boolean fields are updated in real time between locales like other widgets to avoid confusion[^35].
|
|
121
|
+
- Relation fields with i18n enabled won’t trigger a change in content draft status when you start editing an existing entry[^84].
|
|
118
122
|
- Solves problems with Chinese, Japanese and Korean (CJK) [IME](https://en.wikipedia.org/wiki/Input_method) text input in the rich text editor for the Markdown widget[^54].
|
|
119
123
|
- You can use the `{{locale}}` template tag in the [`preview_path`](https://decapcms.org/docs/configuration-options/#preview_path) collection option to provide site preview links for each language[^63].
|
|
120
124
|
- You can [localize entry slugs](#localizing-entry-slugs) while linking the localized files[^80], thanks to the support for Hugo’s `translationKey`[^81].
|
|
@@ -123,6 +127,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
123
127
|
|
|
124
128
|
- Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
|
|
125
129
|
- You can choose a [custom icon for each collection](#using-a-custom-icon-for-a-collection)[^3].
|
|
130
|
+
- You can [add dividers to the collection list](#adding-dividers-to-the-collection-list).
|
|
126
131
|
- Assets stored in a [per-collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
|
|
127
132
|
- Entry slug template tags support [filter transformations](https://decapcms.org/docs/summary-strings/) just like summary string template tags[^29].
|
|
128
133
|
- You can set the maximum number of characters for an entry slug with the new `slug_length` collection option[^25].
|
|
@@ -142,6 +147,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
142
147
|
|
|
143
148
|
### Better data output
|
|
144
149
|
|
|
150
|
+
- The keys in generated JSON/TOML/YAML content are always sorted according to the order of configured fields, making Git commits clean and consistent[^86].
|
|
145
151
|
- For data consistency, Boolean, List (see below) and other fields are always saved as a proper value, such as an empty string or an empty array, rather than nothing, even if it’s optional or empty.
|
|
146
152
|
- Leading and trailing spaces in text-type field values are automatically removed when you save an entry[^37].
|
|
147
153
|
- 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][^69].
|
|
@@ -189,6 +195,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
189
195
|
- Markdown, String and Text
|
|
190
196
|
- A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
|
|
191
197
|
- Relation and Select
|
|
198
|
+
- If a dropdown list has options with long wrapping labels, they won’t overlap with the next option[^83].
|
|
192
199
|
- 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].
|
|
193
200
|
- String and Text
|
|
194
201
|
- 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.
|
|
@@ -237,7 +244,6 @@ These limitations are expected to be resolved before GA:
|
|
|
237
244
|
| Configuration | The application UI locales are only available in English and Japanese. Comprehensive config validation is not yet implemented. |
|
|
238
245
|
| Media Libraries | Cloudinary and Uploadcare are not yet supported. |
|
|
239
246
|
| Workflow | Editorial Workflow and Open Authoring are not yet supported. |
|
|
240
|
-
| Content Editor | Auto-saving a draft entry is not yet implemented. |
|
|
241
247
|
| Collections | Nested collections are not yet supported. |
|
|
242
248
|
| Widgets | Custom widgets are not yet supported. See the table below for other limitations. |
|
|
243
249
|
| Customizations | Custom previews, custom formatters and event subscriptions are not yet supported. |
|
|
@@ -248,7 +254,7 @@ These limitations are expected to be resolved before GA:
|
|
|
248
254
|
| DateTime | The `date_format` and `time_format` options with Moment.js tokens are not yet supported. Note: Decap CMS 3.1 has replaced Moment.js with [Day.js](https://day.js.org/); we’ll follow the change soon. |
|
|
249
255
|
| File/Image | Field-specific media folders and media library options are not yet supported other than `media_library.config.max_file_size` for the default media library. |
|
|
250
256
|
| Map | Not yet supported. |
|
|
251
|
-
| Markdown | Editor components are not yet supported. |
|
|
257
|
+
| Markdown | Editor components, including built-in `image` and `code-block` as well as custom components, are not yet supported. |
|
|
252
258
|
|
|
253
259
|
If we have missed any other features, let us know by [filing an issue](https://github.com/sveltia/sveltia-cms/issues).
|
|
254
260
|
|
|
@@ -277,6 +283,7 @@ If we have missed any other features, let us know by [filing an issue](https://g
|
|
|
277
283
|
|
|
278
284
|
### After the 1.0 release
|
|
279
285
|
|
|
286
|
+
- Compatibility with Static CMS, a community fork of Netlify CMS
|
|
280
287
|
- Roles[^23]
|
|
281
288
|
- Config editor[^10]
|
|
282
289
|
- Mobile support[^18]
|
|
@@ -405,6 +412,21 @@ You can have an icon for each collection for easy identification in the collecti
|
|
|
405
412
|
folder: data/tags/
|
|
406
413
|
```
|
|
407
414
|
|
|
415
|
+
### Adding dividers to the collection list
|
|
416
|
+
|
|
417
|
+
Sveltia CMS allows developers to add dividers to the collection list to distinguish different types of collections. To do this, insert a fake collection with the `divider: true` option. In VS Code, you may get a validation error if `config.yml` is treated as a “Netlify YAML config” file. You can work around this by adding a random `name` and an empty `files`:
|
|
418
|
+
|
|
419
|
+
```yaml
|
|
420
|
+
collections:
|
|
421
|
+
- name: products
|
|
422
|
+
...
|
|
423
|
+
- divider: true
|
|
424
|
+
name: d1 # d2, d3, etc.
|
|
425
|
+
files: []
|
|
426
|
+
- name: pages
|
|
427
|
+
...
|
|
428
|
+
```
|
|
429
|
+
|
|
408
430
|
### Using a custom media folder for a collection
|
|
409
431
|
|
|
410
432
|
This is actually not new in Sveltia CMS but rather an _undocumented_ feature in Netlify/Decap CMS[^4]. You can specify media and public folders for each collection that override the [global media folder](https://decapcms.org/docs/configuration-options/#media-and-public-folders). Well, it’s [documented](https://decapcms.org/docs/collection-folder/#media-and-public-folder), but that’s probably not what you want.
|
|
@@ -759,4 +781,8 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
759
781
|
[^80]: Netlify/Decap CMS [#5493](https://github.com/decaporg/decap-cms/issues/5493), [#6600](https://github.com/decaporg/decap-cms/issues/6600)
|
|
760
782
|
[^81]: Netlify/Decap CMS [#4645](https://github.com/decaporg/decap-cms/issues/4645)
|
|
761
783
|
[^82]: Netlify/Decap CMS [#6500](https://github.com/decaporg/decap-cms/issues/6500)
|
|
784
|
+
[^83]: Netlify/Decap CMS [#6508](https://github.com/decaporg/decap-cms/issues/6508)
|
|
785
|
+
[^84]: Netlify/Decap CMS [#7142](https://github.com/decaporg/decap-cms/issues/7142)
|
|
786
|
+
[^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)
|
|
787
|
+
[^86]: Netlify/Decap CMS [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
762
788
|
[^100]: 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).
|