@sveltia/cms 0.53.4 → 0.53.6
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 +36 -24
- package/dist/sveltia-cms.js +159 -159
- 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
|
@@ -4,8 +4,6 @@ Sveltia CMS is a Git-based lightweight headless CMS under active development as
|
|
|
4
4
|
|
|
5
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
6
|
|
|
7
|
-
Welcome to the only Netlify CMS successor you can bank on!
|
|
8
|
-
|
|
9
7
|
<br>
|
|
10
8
|
|
|
11
9
|
<br>
|
|
@@ -102,7 +100,7 @@ While Sveltia CMS is specifically designed to replace legacy Netlify CMS instanc
|
|
|
102
100
|
### Our goals
|
|
103
101
|
|
|
104
102
|
- Making Sveltia CMS a viable, definitive successor to Netlify CMS
|
|
105
|
-
- Empowering small businesses and individuals who need a simple, free, yet powerful CMS solution
|
|
103
|
+
- Empowering small businesses and individuals who need a simple, free, yet powerful, high-quality CMS solution
|
|
106
104
|
- Emerging as the leading open source offering in the Git-based CMS market
|
|
107
105
|
- Extending its capabilities as digital asset management (DAM) software
|
|
108
106
|
- Showcasing the power of Svelte and UX engineering
|
|
@@ -114,10 +112,11 @@ Sveltia CMS is currently in **beta** and version 1.0 is expected to ship in **ea
|
|
|
114
112
|
While we fix reported bugs as quickly as possible, usually within 24 hours, our 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 that require considerable effort:
|
|
115
113
|
|
|
116
114
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
|
|
115
|
+
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
117
116
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
118
|
-
- So far,
|
|
117
|
+
- So far, 160+ of them, or 305+ including duplicates, have been effectively solved in Sveltia CMS
|
|
119
118
|
- Target: 300 or all relevant, fixable and worthwhile issues in the future; 500 including duplicates
|
|
120
|
-
- Note: Issues include feature requests, bug reports, [stale issues](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) and [discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
119
|
+
- Note: Issues include feature requests, bug reports, [“closed as stale” issues](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) and [discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
121
120
|
- Many of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are on our table or already implemented in Sveltia CMS
|
|
122
121
|
- Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
|
|
123
122
|
- Implementing our own enhancement ideas for every part of the product
|
|
@@ -128,12 +127,12 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
128
127
|
|
|
129
128
|
## Differentiators
|
|
130
129
|
|
|
131
|
-
We
|
|
130
|
+
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!
|
|
132
131
|
|
|
133
132
|
### Better UX
|
|
134
133
|
|
|
135
134
|
- 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.
|
|
136
|
-
- 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
|
|
135
|
+
- 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.
|
|
137
136
|
- Offers a modern, intuitive user interface, including an immersive dark mode[^2], inspired in part by the Netlify CMS v3 prototype[^1].
|
|
138
137
|
- We develop [our own UI library](https://github.com/sveltia/sveltia-ui) to ensure optimal usability without compromising accessibility.
|
|
139
138
|
- 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,9 +144,9 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
145
144
|
### Better performance
|
|
146
145
|
|
|
147
146
|
- 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.
|
|
148
|
-
- 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.
|
|
149
|
-
- 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
|
|
150
|
-
- Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
147
|
+
- Small footprint: The bundle size is less than 500 KB when minified and [brotlied](https://en.wikipedia.org/wiki/Brotli), which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.7 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet, but rather added many new features. That’s the power of Svelte + Vite.
|
|
148
|
+
- 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 underway.
|
|
149
|
+
- 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).
|
|
151
150
|
- 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].
|
|
152
151
|
- 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/).
|
|
153
152
|
- 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.
|
|
@@ -173,7 +172,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
173
172
|
### Better accessibility
|
|
174
173
|
|
|
175
174
|
- Improved keyboard handling lets you efficiently navigate through UI elements using the Tab, Space, Enter and arrow keys[^17][^67].
|
|
176
|
-
- 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
|
|
175
|
+
- 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.
|
|
177
176
|
- 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.
|
|
178
177
|
- Ensures sufficient contrast between the foreground text and background colours.
|
|
179
178
|
- Enabled and disabled buttons can be clearly distinguished[^105].
|
|
@@ -241,6 +240,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
241
240
|
- 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].
|
|
242
241
|
- Fields in non-default locales are validated as expected[^13].
|
|
243
242
|
- No internal error is thrown when changing the locale[^103].
|
|
243
|
+
- Duplicating an entry duplicates all locale content, not just the default locale[^170].
|
|
244
244
|
|
|
245
245
|
### Better collections
|
|
246
246
|
|
|
@@ -352,7 +352,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
352
352
|
- Users can preview variable types without having to register a preview template[^42].
|
|
353
353
|
- It’s possible to omit `fields` in a variable type object[^163]. In that case only the `typeKey` (default: `type`) is saved in the output.
|
|
354
354
|
- Markdown
|
|
355
|
-
- The rich text editor is built with the well-maintained [Lexical](https://lexical.dev/) framework, which solves various issues with a [Slate](https://github.com/ianstormtaylor/slate)-based editor in Netlify/Decap CMS, including fatal application crashes[^71][^72][^73][^111], lost formatting when pasting[^124], backslash injections[^53], dropdown visibility[^70], and text input difficulties with IME[^54].
|
|
355
|
+
- The rich text editor is built with the well-maintained [Lexical](https://lexical.dev/) framework, which solves various issues with a [Slate](https://github.com/ianstormtaylor/slate)-based editor in Netlify/Decap CMS, including fatal application crashes[^71][^72][^73][^111], lost formatting when pasting[^124], an extra line break when pasting[^169], backslash injections[^53], dropdown visibility[^70], and text input difficulties with IME[^54].
|
|
356
356
|
- The default editor mode can be set 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.
|
|
357
357
|
- A combination of bold and italic doesn’t create a confusing 3-asterisk markup[^160]. In our editor, bold is 2 asterisks and italic is an underscore.
|
|
358
358
|
- The built-in `image` component can be inserted with a single click.
|
|
@@ -472,7 +472,7 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
472
472
|
|
|
473
473
|
### Features to be implemented before GA
|
|
474
474
|
|
|
475
|
-
These limitations are expected to be resolved before the 1.0 release:
|
|
475
|
+
These limitations are expected to be resolved before the 1.0 release scheduled for early 2025:
|
|
476
476
|
|
|
477
477
|
| Feature | Status in Sveltia CMS |
|
|
478
478
|
| --- | --- |
|
|
@@ -481,7 +481,7 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
481
481
|
| Localization | The application UI is only available in English and Japanese at this time. |
|
|
482
482
|
| Media Libraries | [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) are not yet supported. |
|
|
483
483
|
| Widgets | [Custom widgets](https://decapcms.org/docs/custom-widgets/) are not yet supported. See the table below for other limitations. |
|
|
484
|
-
|
|
|
484
|
+
| Customization | [Custom previews](https://decapcms.org/docs/customization/) and [event subscriptions](https://decapcms.org/docs/registering-events/) are not yet supported. |
|
|
485
485
|
|
|
486
486
|
| Widget | Status in Sveltia CMS |
|
|
487
487
|
| --- | --- |
|
|
@@ -489,7 +489,7 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
489
489
|
| [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. |
|
|
490
490
|
| [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. |
|
|
491
491
|
| [Map](https://decapcms.org/docs/widgets/#map) | Coming soon. |
|
|
492
|
-
| [Markdown](https://decapcms.org/docs/widgets/#markdown) | Custom components are not yet supported. There is no language
|
|
492
|
+
| [Markdown](https://decapcms.org/docs/widgets/#markdown) | Custom components are not yet supported. There is no language selector yet in the built-in `code-block` component. |
|
|
493
493
|
|
|
494
494
|
### Features to be implemented after GA
|
|
495
495
|
|
|
@@ -503,14 +503,21 @@ Due to the complexity, the following features are planned for after the 1.0 rele
|
|
|
503
503
|
|
|
504
504
|
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.
|
|
505
505
|
|
|
506
|
-
-
|
|
507
|
-
-
|
|
508
|
-
- The
|
|
509
|
-
-
|
|
510
|
-
- The `
|
|
511
|
-
-
|
|
512
|
-
-
|
|
513
|
-
- 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]`.
|
|
506
|
+
- Configuration options
|
|
507
|
+
- 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.
|
|
508
|
+
- The `default` option for sortable fields will be implemented in Sveltia CMS soon. ([#304](https://github.com/sveltia/sveltia-cms/issues/304))
|
|
509
|
+
- 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))
|
|
510
|
+
- The `logo_link` global option will not be supported. Use `display_url` or `site_url` instead.
|
|
511
|
+
- 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.
|
|
512
|
+
- I18n support
|
|
513
|
+
- 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]`.
|
|
514
|
+
- Widgets
|
|
515
|
+
- The KeyValue widget is implemented in Sveltia CMS with the same options.
|
|
516
|
+
- The UUID widget is also implemented, but with different options.
|
|
517
|
+
- 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.
|
|
518
|
+
- 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))
|
|
519
|
+
- Customization
|
|
520
|
+
- `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.
|
|
514
521
|
|
|
515
522
|
### Other notes
|
|
516
523
|
|
|
@@ -1011,6 +1018,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
1011
1018
|
### Before the 1.0 release
|
|
1012
1019
|
|
|
1013
1020
|
- Enhanced [compatibility with Netlify/Decap CMS](#compatibility)
|
|
1021
|
+
- Tackling some more Netlify/Decap CMS issues
|
|
1014
1022
|
- [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md)
|
|
1015
1023
|
- Accessibility audit
|
|
1016
1024
|
- Developer documentation (implementation guide)
|
|
@@ -1022,7 +1030,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
1022
1030
|
### After the 1.0 release
|
|
1023
1031
|
|
|
1024
1032
|
- Implementing the [remaining Netlify/Decap CMS features](#features-to-be-implemented-after-ga)
|
|
1025
|
-
- 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)
|
|
1033
|
+
- Tackling even 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)
|
|
1026
1034
|
- 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]
|
|
1027
1035
|
- Considering further [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
1028
1036
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools
|
|
@@ -1384,3 +1392,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1384
1392
|
[^167]: Netlify/Decap CMS [#263](https://github.com/decaporg/decap-cms/issues/263)
|
|
1385
1393
|
|
|
1386
1394
|
[^168]: Netlify/Decap CMS [#1948](https://github.com/decaporg/decap-cms/issues/1948)
|
|
1395
|
+
|
|
1396
|
+
[^169]: Netlify/Decap CMS [#7364](https://github.com/decaporg/decap-cms/issues/7364)
|
|
1397
|
+
|
|
1398
|
+
[^170]: Netlify/Decap CMS [#7371](https://github.com/decaporg/decap-cms/issues/7371)
|