@sveltia/cms 0.53.3 → 0.53.5
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 +26 -16
- package/dist/sveltia-cms.js +161 -161
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +157 -157
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -126,12 +126,12 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
126
126
|
|
|
127
127
|
## Differentiators
|
|
128
128
|
|
|
129
|
-
We
|
|
129
|
+
We hope Netlify/Decap CMS users will be pleased and surprised by the hundreds of small and large improvements we have made. Here’s what makes Sveltia CMS different. Look how serious we are!
|
|
130
130
|
|
|
131
131
|
### Better UX
|
|
132
132
|
|
|
133
133
|
- 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.
|
|
134
|
-
- The maintainer tries to be as responsive as possible. While there are no guarantees, the typical turnaround time for a bug fix is less than
|
|
134
|
+
- The maintainer tries to be as responsive as possible. While there are no guarantees, the typical turnaround time for a bug fix is less than 24 hours.
|
|
135
135
|
- Offers a modern, intuitive user interface, including an immersive dark mode[^2], inspired in part by the Netlify CMS v3 prototype[^1].
|
|
136
136
|
- We develop [our own UI library](https://github.com/sveltia/sveltia-ui) to ensure optimal usability without compromising accessibility.
|
|
137
137
|
- Comes with touch device support, such as larger buttons for easier tapping. While the UI is not yet optimized for small screens, it should work well with large tablets like iPad Pro or Pixel Tablet. Mobile support and other optimizations such as swipe navigation are planned shortly after the 1.0 release.
|
|
@@ -145,7 +145,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
145
145
|
- 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 any framework or static site generator (SSG) that can load static data files during the build process.
|
|
146
146
|
- Small footprint: The bundle size is less than 500 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet, but rather implemented many new features. That’s the power of Svelte + Vite.
|
|
147
147
|
- We have upgraded from Svelte 4 to [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) to further improve performance, including an even smaller bundle size. A full migration to the Runes reactivity API is in progress.
|
|
148
|
-
- Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
148
|
+
- Sveltia CMS is free of technical debt (except for Moment.js, which will soon be replaced by Day.js) and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
149
149
|
- 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] (the useless `search` configuration option is ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
|
|
150
150
|
- 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/).
|
|
151
151
|
- Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern File System Access API to read and write files natively through the web browser, rather than using a slow, ad hoc REST API through a proxy server.
|
|
@@ -171,7 +171,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
171
171
|
### Better accessibility
|
|
172
172
|
|
|
173
173
|
- Improved keyboard handling lets you efficiently navigate through UI elements using the Tab, Space, Enter and arrow keys[^17][^67].
|
|
174
|
-
- Comprehensive [WAI-ARIA](https://w3c.github.io/aria/) support enables users who rely on screen readers such as NVDA and VoiceOver. An announcement is read out when you
|
|
174
|
+
- Comprehensive [WAI-ARIA](https://w3c.github.io/aria/) support enables users who rely on screen readers such as NVDA and VoiceOver. An announcement is read out when you navigate to another page.
|
|
175
175
|
- The rich text editor is built with [Lexical](https://lexical.dev/), which is said to follow accessibility best practices. The [Dragon NaturallySpeaking support](https://lexical.dev/docs/packages/lexical-dragon) is enabled.
|
|
176
176
|
- Ensures sufficient contrast between the foreground text and background colours.
|
|
177
177
|
- Enabled and disabled buttons can be clearly distinguished[^105].
|
|
@@ -305,7 +305,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
305
305
|
- When you click on a field in the Preview pane, the corresponding field in the Edit pane is highlighted[^41]. It will be automatically expanded if collapsed.
|
|
306
306
|
- The Preview pane won’t cause a scrolling issue[^136].
|
|
307
307
|
- Provides better scroll synchronization between the panes when editing or previewing an entry[^92].
|
|
308
|
-
-
|
|
308
|
+
- Developers can hide the preview of a specific field using a new field option: `preview: false`[^126].
|
|
309
309
|
- [See below](#better-widgets) for widget-specific enhancements, including support for variable types[^42] and YouTube videos.
|
|
310
310
|
|
|
311
311
|
### Better data output
|
|
@@ -397,7 +397,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
397
397
|
- A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
|
|
398
398
|
- Relation and Select
|
|
399
399
|
- If a dropdown list has options with long wrapping labels, they won’t overlap with the next option[^83].
|
|
400
|
-
- 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.
|
|
400
|
+
- When there are 5 or fewer options, the UI automatically 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.
|
|
401
401
|
- String and Text
|
|
402
402
|
- 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.
|
|
403
403
|
|
|
@@ -479,7 +479,7 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
479
479
|
| Localization | The application UI is only available in English and Japanese at this time. |
|
|
480
480
|
| Media Libraries | [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) are not yet supported. |
|
|
481
481
|
| Widgets | [Custom widgets](https://decapcms.org/docs/custom-widgets/) are not yet supported. See the table below for other limitations. |
|
|
482
|
-
|
|
|
482
|
+
| Customization | [Custom previews](https://decapcms.org/docs/customization/) and [event subscriptions](https://decapcms.org/docs/registering-events/) are not yet supported. |
|
|
483
483
|
|
|
484
484
|
| Widget | Status in Sveltia CMS |
|
|
485
485
|
| --- | --- |
|
|
@@ -487,7 +487,7 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
487
487
|
| [DateTime](https://decapcms.org/docs/widgets/#datetime) | The `date_format` and `time_format` options with Moment.js tokens are not yet supported. Note that [Decap CMS 3.1.1](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.1.1) replaced [Moment.js](https://momentjs.com/) with [Day.js](https://day.js.org/), and [Decap CMS 3.3.0](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.3.0) made other changes to the widget behaviour; we’ll follow these changes where it makes sense. |
|
|
488
488
|
| [File](https://decapcms.org/docs/widgets/#file) / [Image](https://decapcms.org/docs/widgets/#image) | Field-specific media folders (beta) and media library options are not yet supported other than `media_library.config.max_file_size` for the default media library. |
|
|
489
489
|
| [Map](https://decapcms.org/docs/widgets/#map) | Coming soon. |
|
|
490
|
-
| [Markdown](https://decapcms.org/docs/widgets/#markdown) | Custom components are not yet supported. There is no language selection
|
|
490
|
+
| [Markdown](https://decapcms.org/docs/widgets/#markdown) | Custom components are not yet supported. There is no language selection yet in the built-in `code-block` component. |
|
|
491
491
|
|
|
492
492
|
### Features to be implemented after GA
|
|
493
493
|
|
|
@@ -501,13 +501,21 @@ Due to the complexity, the following features are planned for after the 1.0 rele
|
|
|
501
501
|
|
|
502
502
|
We plan to provide partial compatibility with [Static CMS](https://github.com/StaticJsCMS/static-cms), a now-defunct fork of Netlify CMS. This README will be updated with more details as our development progresses.
|
|
503
503
|
|
|
504
|
-
-
|
|
505
|
-
-
|
|
506
|
-
- The
|
|
507
|
-
-
|
|
508
|
-
- The `
|
|
509
|
-
- `
|
|
510
|
-
-
|
|
504
|
+
- Configuration options
|
|
505
|
+
- Static CMS made [some breaking changes](https://staticjscms.netlify.app/docs/decap-migration-guide) to sortable fields, view filters/groups, List widget, etc. while Sveltia CMS follows Netlify/Decap CMS, so you should review your configuration carefully.
|
|
506
|
+
- The `default` option for sortable fields, view filters and view groups will be implemented in Sveltia CMS soon. ([#304](https://github.com/sveltia/sveltia-cms/issues/304))
|
|
507
|
+
- 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 soon. 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))
|
|
508
|
+
- The `logo_link` global option will not be supported. Use `display_url` or `site_url` instead.
|
|
509
|
+
- The `yaml` global option will not be supported, as Sveltia CMS doesn’t expose the `yaml` library options directly for forward compatibility reasons. However, we do have some [data output options](#controlling-data-output), including YAML indentation and quotes.
|
|
510
|
+
- I18n support
|
|
511
|
+
- The `enforce_required_non_default` i18n option will not be supported. Sveitia CMS enforces required fields in all locales by default. However, the `save_all_locales` i18n option allows users to [disable non-default locales](#disabling-non-default-locale-content) if needed. Developers can also specify a subset of locales with the `required` field option, e.g. `required: [en]`.
|
|
512
|
+
- Widgets
|
|
513
|
+
- The KeyValue widget is implemented in Sveltia CMS with the same options.
|
|
514
|
+
- The UUID widget is also implemented, but with different options.
|
|
515
|
+
- The `prefix` and `suffix` options for the Boolean, Number and String widgets are implemented as `before_input` and `after_input` in Sveltia CMS. Our `prefix` and `suffix` options for the String widget are literally a prefix and suffix to the value.
|
|
516
|
+
- The `multiple` option for the File and Image widgets will be implemented in Sveltia CMS soon. ([#10](https://github.com/sveltia/sveltia-cms/issues/10))
|
|
517
|
+
- Customization
|
|
518
|
+
- `CMS.registerIcon()` will not be supported, as Sveltia CMS includes the Material Symbols font for [custom collection icons](#using-a-custom-icon-for-a-collection) that doesn’t require manual registration.
|
|
511
519
|
|
|
512
520
|
### Other notes
|
|
513
521
|
|
|
@@ -704,6 +712,8 @@ In Sveltia CMS, those collection media folders are displayed prominently for eas
|
|
|
704
712
|
- Save an entry: `Ctrl+S` (Windows/Linux) or `Command+S` (macOS)
|
|
705
713
|
- Cancel entry editing: `Escape`
|
|
706
714
|
|
|
715
|
+
Standard keyboard shortcuts are also available in the Markdown editor, including `Ctrl+B`/`Command+B` for bold text, `Ctrl+I`/`Command+I` for italics, and `Tab` to indent a list item.
|
|
716
|
+
|
|
707
717
|
### Using DeepL to translate entry fields
|
|
708
718
|
|
|
709
719
|
Sveltia CMS comes with a handy DeepL integration so that you can translate any text field from another locale without leaving the Content Editor. To enable the high quality, AI-powered, quick translation feature:
|
|
@@ -1016,7 +1026,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
1016
1026
|
|
|
1017
1027
|
### After the 1.0 release
|
|
1018
1028
|
|
|
1019
|
-
- Implementing the remaining Netlify/Decap CMS features
|
|
1029
|
+
- Implementing the [remaining Netlify/Decap CMS features](#features-to-be-implemented-after-ga)
|
|
1020
1030
|
- Tackling more Netlify/Decap CMS issues, including MDX support[^122], manual entry sorting[^125], mobile optimization[^18], config editor[^10] and other [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
|
|
1021
1031
|
- Exploring features that require server-side implementation, including user management (Netlify Identity alternative), roles[^23], commits without a GitHub or GitLab account (Git Gateway alternative), post locking (like [WordPress](https://codex.wordpress.org/Post_Locking))[^166] and scheduled posts[^167]
|
|
1022
1032
|
- Considering further [compatibility with Static CMS](#compatibility-with-static-cms)
|