@sveltia/cms 0.93.2 → 0.94.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 +25 -13
- package/dist/sveltia-cms.js +141 -141
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +159 -159
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/schema/sveltia-cms.json +81 -10
- package/types/public.d.ts +43 -8
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, quick replacement for Netlify CMS and Decap CMS. In some simple cases, migration is as easy as a single line of code change, although we are still working on improving compatibility.
|
|
4
4
|
|
|
5
|
-
The free, open source alternative
|
|
5
|
+
The free, open source alternative to Netlify/Decap CMS is now in public beta, turbocharged with great UX, performance, i18n support and so many more enhancements.
|
|
6
|
+
|
|
7
|
+
Welcome to the only Netlify CMS successor you can trust!
|
|
6
8
|
|
|
7
9
|
<br>
|
|
8
10
|
|
|
@@ -134,7 +136,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
134
136
|
|
|
135
137
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
136
138
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
137
|
-
- So far, 240+ issues, or
|
|
139
|
+
- So far, 240+ issues, or 505+ if including duplicates, have been effectively solved in Sveltia CMS (Yes, you read it right)
|
|
138
140
|
- Target:
|
|
139
141
|
- 250 issues, or 500 if including duplicates, by GA — Almost there!
|
|
140
142
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -166,8 +168,9 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
166
168
|
- Users can easily manage content on-the-go with mobile and tablet support.[^18][^215]
|
|
167
169
|
- For a smoother experience, we even go beyond responsive design with optimized navigation, [view transitions](https://developer.chrome.com/docs/web-platform/view-transitions), larger buttons, and other tweaks. However, there are still rough edges, and we are working to fully optimize the app for small screens and touch devices.
|
|
168
170
|
- If you’re already signed in on your desktop, open the Account menu in the top right corner of the CMS, click Sign In with Mobile, and scan the QR code for passwordless sign-in. Your settings will be automatically copied.
|
|
171
|
+
- Sveltia CMS loads all entries at startup. We don’t support backends that cannot retrieve multiple entries at once. This deliberate design choice improves performance and UX by enabling instant full-text searches, fast and powerful relation fields, and linking between assets and entries.
|
|
169
172
|
- Made with [Svelte](https://svelte.dev/), not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid common fatal React application crashes.[^113][^129] Best of all, Svelte offers great performance.
|
|
170
|
-
- Other crashes in Netlify/Decap CMS are also irrelevant to us, making Sveltia CMS much more stable.[^112][^203][^204][^260]
|
|
173
|
+
- Other crashes in Netlify/Decap CMS are also irrelevant to us, making Sveltia CMS much more stable.[^112][^203][^204][^260]
|
|
171
174
|
- We build [our own UI component library](https://github.com/sveltia/sveltia-ui), including custom dialogs, to ensure optimal usability without compromising accessibility.[^196][^205][^206][^207][^208][^209][^210]
|
|
172
175
|
- Users can personalize the application with various settings, including appearance and language. Developer Mode can also be enabled.
|
|
173
176
|
- 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]
|
|
@@ -199,7 +202,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
199
202
|
- Uploading files can be done with drag and drop.[^20]
|
|
200
203
|
- Users can upload multiple files at once to the Asset Library.
|
|
201
204
|
- Users can delete multiple entries and assets at once.
|
|
202
|
-
- Instant full-text search with results sorted by relevance helps you find entries faster.
|
|
205
|
+
- Instant full-text search with results sorted by relevance helps you find entries faster. In Netlify/Decap CMS, you often won’t get the results you expect.
|
|
203
206
|
- Some [keyboard shortcuts](#using-keyboard-shortcuts) are available for faster editing.
|
|
204
207
|
|
|
205
208
|
### Better accessibility
|
|
@@ -344,7 +347,8 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
344
347
|
- Setting the collection `path` doesn’t affect the entry slugs stored with the Relation widget.[^137]
|
|
345
348
|
- Entry slugs are [localizable](#localizing-entry-slugs).[^80]
|
|
346
349
|
- Entry listing
|
|
347
|
-
- [
|
|
350
|
+
- The [default sort field and direction](#specifying-default-entry-sort-field-and-direction) can be specified.[^172]
|
|
351
|
+
- The default filtering and grouping can also be specified in the same way as with [Static CMS](https://staticjscms.netlify.app/docs/decap-migration-guide#view-filters).[^269]
|
|
348
352
|
- Sorting entries by a DateTime field works as expected.[^110]
|
|
349
353
|
- Entry grouping and sorting can work together. For example, it’s possible to group by year and then sort by year if configured properly.
|
|
350
354
|
- The `sortable_fields` option accepts a special `slug` value to allow sorting by entry slugs.
|
|
@@ -404,6 +408,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
404
408
|
- DateTime field values in ISO 8601 format are stored in native date/time format instead of quoted strings when the data output is TOML.[^147]
|
|
405
409
|
- Provides JSON/YAML format options as part of the [data output options](#controlling-data-output), including indentation and quotes.[^155][^9]
|
|
406
410
|
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double` in the new YAML format options.
|
|
411
|
+
- Front matter injection is impossible through the `body` field.[^268]
|
|
407
412
|
|
|
408
413
|
### Better widgets
|
|
409
414
|
|
|
@@ -569,12 +574,13 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
569
574
|
- Enhancements to [`CMS.registerEditorComponent()`](https://decapcms.org/docs/custom-widgets/#registereditorcomponent):
|
|
570
575
|
- A component definition accepts the `icon` property. Developers can specify a Material Symbols icon name just like [custom collection icons](#using-a-custom-icon-for-a-collection).
|
|
571
576
|
- The `fromBlock` function can be omitted if the `pattern` regex contains [named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group) for the values.
|
|
577
|
+
- Inline components are supported.[^267]
|
|
572
578
|
|
|
573
579
|
### Better localization
|
|
574
580
|
|
|
575
581
|
- The application UI locale is automatically selected based on the preferred language set with the browser.[^132] Users can also change the locale in the application settings. Therefore, the `locale` configuration option is ignored and `CMS.registerLocale()` is not required.
|
|
576
582
|
- 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]
|
|
577
|
-
- Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117]
|
|
583
|
+
- Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117][^265]
|
|
578
584
|
|
|
579
585
|
## Compatibility
|
|
580
586
|
|
|
@@ -618,7 +624,7 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
|
|
|
618
624
|
- [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
|
|
619
625
|
- LineString and Polygon types for the [Map](https://decapcms.org/docs/widgets/#map) widget
|
|
620
626
|
- [Custom widgets](https://decapcms.org/docs/custom-widgets/)
|
|
621
|
-
- [Custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent): Support for preview, widgets with complex values (Code with `output_code_only: false`, Hidden, KeyValue, List, Object, Select/Relation with `multiple: true`),
|
|
627
|
+
- [Custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent): Support for preview, widgets with complex values (Code with `output_code_only: false`, Hidden, KeyValue, List, Object, Select/Relation with `multiple: true`), the `default` field option and [multiline components](https://github.com/sveltia/sveltia-cms/issues/410)
|
|
622
628
|
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
623
629
|
- [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
624
630
|
|
|
@@ -637,7 +643,7 @@ Sveltia CMS provides partial compatibility with [Static CMS](https://github.com/
|
|
|
637
643
|
|
|
638
644
|
- Configuration options
|
|
639
645
|
- Static CMS made [some breaking changes](https://staticjscms.netlify.app/docs/decap-migration-guide) to view filters/groups, List widget, etc. while Sveltia CMS follows Netlify/Decap CMS, so you should review your configuration carefully.
|
|
640
|
-
- The `
|
|
646
|
+
- The [`sortable_fields`](#specifying-default-sort-field-and-direction), `view_filters` and `view_groups` options with the new `default` option are supported in Sveltia CMS.
|
|
641
647
|
- Directory navigation in the Asset Library is partially supported in Sveltia CMS. If you define [collection-specific `media_folder`s](#using-a-custom-media-folder-for-a-collection), these folders will be displayed in the Asset Library and Select File/Image dialog. Display of subfolders within a configured folder will be implemented before GA. We don’t plan to support the `folder_support` and `display_in_navigation` options for `media_library`; subfolders will be displayed with no configuration. ([#301](https://github.com/sveltia/sveltia-cms/issues/301))
|
|
642
648
|
- The `logo_link` global option will not be supported. Use `display_url` or `site_url` instead.
|
|
643
649
|
- The `yaml` global option will not be supported, as Sveltia CMS doesn’t expose the underlying `yaml` library options for forward compatibility reasons. However, we do have some [data output options](#controlling-data-output), including YAML indentation and quotes.
|
|
@@ -1221,7 +1227,7 @@ media_libraries:
|
|
|
1221
1227
|
|
|
1222
1228
|
### Editing site deployment configuration files
|
|
1223
1229
|
|
|
1224
|
-
Sveltia CMS allows users to edit files without extensions. Examples include `_headers` and `_redirects`, which are used by some static site hosting providers, such as [Netlify](https://docs.netlify.com/routing/redirects/), [GitLab Pages](https://docs.gitlab.com/user/project/pages/redirects/) and [Cloudflare Pages](https://developers.cloudflare.com/pages/configuration/redirects/). Since the `body` field is saved without the field name when using the default `yaml-frontmatter` format, you can use the following configuration to edit these files in the Content Editor:
|
|
1230
|
+
Sveltia CMS allows users to edit files without extensions. Examples include `_headers` and `_redirects`, which are used by some static site hosting providers, such as [Netlify](https://docs.netlify.com/routing/redirects/), [GitLab Pages](https://docs.gitlab.com/user/project/pages/redirects/) and [Cloudflare Pages](https://developers.cloudflare.com/pages/configuration/redirects/). Since the `body` field is [saved without the field name](#understanding-exceptions-in-data-output) when using the default `yaml-frontmatter` format, you can use the following configuration to edit these files in the Content Editor:
|
|
1225
1231
|
|
|
1226
1232
|
```yaml
|
|
1227
1233
|
collections:
|
|
@@ -1861,7 +1867,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1861
1867
|
|
|
1862
1868
|
[^81]: Netlify/Decap CMS [#4645](https://github.com/decaporg/decap-cms/issues/4645)
|
|
1863
1869
|
|
|
1864
|
-
[^82]: Netlify/Decap CMS [#6500](https://github.com/decaporg/decap-cms/issues/6500)
|
|
1870
|
+
[^82]: Netlify/Decap CMS [#5593](https://github.com/decaporg/decap-cms/issues/5593), [#6500](https://github.com/decaporg/decap-cms/issues/6500)
|
|
1865
1871
|
|
|
1866
1872
|
[^83]: Netlify/Decap CMS [#6508](https://github.com/decaporg/decap-cms/issues/6508)
|
|
1867
1873
|
|
|
@@ -1931,7 +1937,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1931
1937
|
|
|
1932
1938
|
[^116]: Netlify/Decap CMS [#3431](https://github.com/decaporg/decap-cms/issues/3431)
|
|
1933
1939
|
|
|
1934
|
-
[^117]: Netlify/Decap CMS [#3562](https://github.com/decaporg/decap-cms/issues/3562), [#6215](https://github.com/decaporg/decap-cms/issues/6215), [#7479](https://github.com/decaporg/decap-cms/issues/7479)
|
|
1940
|
+
[^117]: Netlify/Decap CMS [#3562](https://github.com/decaporg/decap-cms/issues/3562), [#6215](https://github.com/decaporg/decap-cms/issues/6215), [#6605](https://github.com/decaporg/decap-cms/issues/6605), [#6355](https://github.com/decaporg/decap-cms/issues/6355), [#7479](https://github.com/decaporg/decap-cms/issues/7479)
|
|
1935
1941
|
|
|
1936
1942
|
[^118]: Netlify/Decap CMS [#7267](https://github.com/decaporg/decap-cms/issues/7267)
|
|
1937
1943
|
|
|
@@ -2005,7 +2011,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
2005
2011
|
|
|
2006
2012
|
[^153]: Netlify/Decap CMS [#7347](https://github.com/decaporg/decap-cms/issues/7347)
|
|
2007
2013
|
|
|
2008
|
-
[^154]: Netlify/Decap CMS [#1449](https://github.com/decaporg/decap-cms/issues/1449), [#1988](https://github.com/decaporg/decap-cms/issues/1988)
|
|
2014
|
+
[^154]: Netlify/Decap CMS [#1449](https://github.com/decaporg/decap-cms/issues/1449), [#1988](https://github.com/decaporg/decap-cms/issues/1988), [#5552](https://github.com/decaporg/decap-cms/issues/5552)
|
|
2009
2015
|
|
|
2010
2016
|
[^155]: Netlify/Decap CMS [#5870](https://github.com/decaporg/decap-cms/issues/5870)
|
|
2011
2017
|
|
|
@@ -2227,6 +2233,12 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
2227
2233
|
|
|
2228
2234
|
[^264]: Netlify/Decap CMS [#7557](https://github.com/decaporg/decap-cms/issues/7557)
|
|
2229
2235
|
|
|
2230
|
-
[^265]: Netlify/Decap CMS [#
|
|
2236
|
+
[^265]: Netlify/Decap CMS [#6215](https://github.com/decaporg/decap-cms/issues/6215)
|
|
2231
2237
|
|
|
2232
2238
|
[^266]: Netlify/Decap CMS [#3821](https://github.com/decaporg/decap-cms/issues/3821), [#4369](https://github.com/decaporg/decap-cms/issues/4369)
|
|
2239
|
+
|
|
2240
|
+
[^267]: Netlify/Decap CMS [#5065](https://github.com/decaporg/decap-cms/issues/5065) — The issue was closed, but it’s still not working as expected in Decap CMS.
|
|
2241
|
+
|
|
2242
|
+
[^268]: Netlify/Decap CMS [#4945](https://github.com/decaporg/decap-cms/issues/4945)
|
|
2243
|
+
|
|
2244
|
+
[^269]: Netlify/Decap CMS [#7568](https://github.com/decaporg/decap-cms/issues/7568)
|