@sveltia/cms 0.21.1 → 0.21.2
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 -22
- package/dist/sveltia-cms.js +155 -155
- package/dist/sveltia-cms.mjs +158 -158
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -24,17 +24,17 @@ Our goal is to make it a viable successor to Netlify CMS, expand the Git-based h
|
|
|
24
24
|
|
|
25
25
|
**Sveltia CMS is still in beta**, so please be careful when trying it out.
|
|
26
26
|
|
|
27
|
-
While we are fixing reported bugs as fast as we can, 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:
|
|
27
|
+
While we are fixing reported bugs as fast as we can, usually within 48 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
30
|
- Tackling as many [issues reported to Netlify/Decap CMS](https://github.com/decaporg/decap-cms/issues) as possible (so far 75+ of them have been effectively solved in Sveltia CMS, with the goal of reaching 100 by GA)
|
|
31
31
|
- Implementing our own enhancement ideas
|
|
32
32
|
|
|
33
|
-
At this point **we hope to ship version 1.0 in Q3 2024**. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) for updates
|
|
33
|
+
At this point **we hope to ship version 1.0 in Q3 2024**. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) for updates.
|
|
34
34
|
|
|
35
35
|
## Features
|
|
36
36
|
|
|
37
|
-
We are working hard to create a **
|
|
37
|
+
We are working hard to create a **significantly better alternative to Netlify CMS** and Decap CMS by improving everything. Here’s what makes Sveltia CMS different. Look how serious we are!
|
|
38
38
|
|
|
39
39
|
### Compatible with Netlify/Decap CMS
|
|
40
40
|
|
|
@@ -57,9 +57,9 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
57
57
|
- Small footprint: The bundle size is less than 500 KB when minified and gzipped, which is much lighter than bloated Netlify CMS (1.5 MB) and Decap CMS (1.8 MB)[^57]. Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
58
58
|
- 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]. It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
|
|
59
59
|
- 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/).
|
|
60
|
-
- A list of repository files is
|
|
60
|
+
- Using caching and lazy loading techniques. A list of repository files is stored locally for faster startup and bandwidth savings.
|
|
61
61
|
- Thumbnails of assets, including PDF files, are generated and cached for faster rendering of the Asset Library and other parts of the CMS[^39].
|
|
62
|
-
-
|
|
62
|
+
- The upcoming [Svelte 5](https://svelte.dev/blog/runes) upgrade is anticipated to deliver a further boost in performance, including accelerated speed and reduced code size.
|
|
63
63
|
|
|
64
64
|
### Better productivity
|
|
65
65
|
|
|
@@ -104,7 +104,7 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
104
104
|
|
|
105
105
|
### Better i18n support
|
|
106
106
|
|
|
107
|
-
- Sveltia CMS
|
|
107
|
+
- Sveltia CMS has been built with a multilingual architecture from the very beginning. You can expect top-notch i18n support, as it’s required by clients of maintainer [@kyoshino](https://github.com/kyoshino), who himself was a long-time Japanese localizer for Mozilla.
|
|
108
108
|
- You can easily switch between locales while editing with just a click on a button instead of a dropdown list.
|
|
109
109
|
- Fields in non-default locales are validated as expected[^13].
|
|
110
110
|
- Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
|
|
@@ -132,6 +132,7 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
132
132
|
- You can hide the preview of a specific field with `preview: false`.
|
|
133
133
|
- Fields with validation errors are automatically expanded if they are part of nested, collapsed objects[^40].
|
|
134
134
|
- When you click on a field in the Preview pane, the corresponding field in the Editor pane is highlighted. It will be automatically expanded if collapsed[^41].
|
|
135
|
+
- A long validation error message is displayed in full, without being hidden behind the field label[^59].
|
|
135
136
|
|
|
136
137
|
### Better data output
|
|
137
138
|
|
|
@@ -150,6 +151,9 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
150
151
|
- An optional List field with no subfield or value is saved as an empty array, rather than nothing[^44].
|
|
151
152
|
- You can enter spaces in a simple text-based List field[^50].
|
|
152
153
|
- You can preview variable types without having to register a preview template[^42].
|
|
154
|
+
- Markdown
|
|
155
|
+
- The rich text editor is built with [Lexical](https://github.com/facebook/lexical) instead of [Slate](https://github.com/ianstormtaylor/slate), which solves several problems found in Netlify/Decap CMS, including fatal application crashes[^53].
|
|
156
|
+
- 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.
|
|
153
157
|
- Object
|
|
154
158
|
- Supports [variable types](https://decapcms.org/docs/variable-type-widgets/) just like the List widget. This allows you to have dependent fields in a collection[^30].
|
|
155
159
|
- An optional Object field can be manually added or removed. If unadded or removed, the required subfields won’t trigger validation errors[^16].
|
|
@@ -160,19 +164,16 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
160
164
|
- String
|
|
161
165
|
- Supports the `type` property that accepts `url` or `email` as a value, which will validate the value as a URL or email.
|
|
162
166
|
- Supports the `prefix` and `suffix` string properties, which automatically prepend and/or append the developer-defined value to the user-input value.
|
|
163
|
-
- Markdown
|
|
164
|
-
- The rich text editor is built with [Lexical](https://github.com/facebook/lexical) instead of [Slate](https://github.com/ianstormtaylor/slate), which solves several problems found in Netlify/Decap CMS, including fatal application crashes[^53].
|
|
165
|
-
- 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 `[raw, rich_text]` to the field configuration.
|
|
166
167
|
- Boolean, Number and String
|
|
167
168
|
- Supports the `before_input` and `after_input` string properties, which allow developers to display custom labels before and/or after the input UI[^28]. Markdown is supported in the value.
|
|
168
|
-
- List and Object
|
|
169
|
-
- The `summary` is displayed correctly when it refers to a Relation field[^36].
|
|
170
169
|
- File and Image
|
|
171
170
|
- Provides a reimagined all-in-one asset selection dialog for File and Image fields.
|
|
172
171
|
- [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].
|
|
173
172
|
- A new asset can be uploaded by dragging & dropping it into the dialog[^20].
|
|
174
173
|
- A URL can also be entered in the dialog.
|
|
175
174
|
- Integration with Pexels, Pixabay and Unsplash makes it easy to select and insert a free stock photo[^8]. More services will be added later.
|
|
175
|
+
- List and Object
|
|
176
|
+
- The `summary` is displayed correctly when it refers to a Relation field[^36].
|
|
176
177
|
- String, Text and Markdown
|
|
177
178
|
- A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
|
|
178
179
|
- New widgets
|
|
@@ -203,37 +204,47 @@ We are working hard to create a **much better alternative to Netlify CMS** and D
|
|
|
203
204
|
|
|
204
205
|
## Compatibility
|
|
205
206
|
|
|
206
|
-
We are trying to make Sveltia CMS as compatible as possible with Netlify/Decap CMS
|
|
207
|
+
We are trying to make Sveltia CMS as compatible as possible with Netlify/Decap CMS, so that more users can seamlessly switch to our modern, powerful alternative. However, some features will be omitted due to deprecations and other factors.
|
|
208
|
+
|
|
209
|
+
### Current limitations
|
|
210
|
+
|
|
211
|
+
The table below shows the current limitations of Sveltia CMS, that are expected to be resolved before GA:
|
|
207
212
|
|
|
208
213
|
| Feature | Status in Sveltia CMS |
|
|
209
214
|
| --- | --- |
|
|
210
|
-
| Backends | Only
|
|
211
|
-
| Configuration | UI Locales are
|
|
212
|
-
| Media Libraries |
|
|
215
|
+
| Backends | Only GitHub and GitLab are available. We’ll add the Test backend for our demo site and see if Azure can also be supported. |
|
|
216
|
+
| Configuration | UI Locales are only available in English and Japanese. Comprehensive config validation is not yet implemented. |
|
|
217
|
+
| Media Libraries | Cloudinary and Uploadcare are not yet supported. |
|
|
213
218
|
| Workflow | Editorial Workflow and Open Authoring are not yet supported. |
|
|
214
219
|
| Content Editor | Auto-saving a draft entry is not yet implemented. |
|
|
215
220
|
| Collections | Nested collections are not yet supported. |
|
|
216
|
-
| Widgets | Custom widgets are not yet supported.
|
|
221
|
+
| Widgets | Custom widgets are not yet supported. See the table below for other limitations. |
|
|
217
222
|
| Customizations | Custom previews, custom formatters and event subscriptions are not yet supported. |
|
|
218
223
|
|
|
219
|
-
### Widget limitations
|
|
220
|
-
|
|
221
224
|
| Widget | Status in Sveltia CMS |
|
|
222
225
|
| --- | --- |
|
|
223
226
|
| Code | Not yet supported. |
|
|
224
|
-
| Date | Sveltia CMS has dropped the support for the deprecated widget following Decap CMS 3.0. Use the DateTime widget instead. |
|
|
225
227
|
| 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. |
|
|
226
228
|
| 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. |
|
|
227
229
|
| Map | Not yet supported. |
|
|
228
|
-
| Markdown | Editor components are not yet supported.
|
|
230
|
+
| Markdown | Editor components are not yet supported. |
|
|
231
|
+
|
|
232
|
+
### Features not to be implemented
|
|
233
|
+
|
|
234
|
+
- The deprecated client-side implicit grant for the GitLab backend will not be supported, as it has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
235
|
+
- The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported due to performance limitations. We may implement a performant Git Gateway alternative in the future.
|
|
236
|
+
- The Netlify Identity Widget will not be supported as it’s not useful without Git Gateway.
|
|
237
|
+
- The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
|
|
238
|
+
- Sveltia CMS has dropped the support for the deprecated Date widget following Decap CMS 3.0. Use the DateTime widget instead.
|
|
239
|
+
- Remark plugins will not be supported as they are not compatible with our Lexical-based rich text editor.
|
|
229
240
|
|
|
230
241
|
## Roadmap
|
|
231
242
|
|
|
232
243
|
### Before the 1.0 release
|
|
233
244
|
|
|
245
|
+
- Enhanced compatibility with Netlify/Decap CMS (see above for the status)
|
|
246
|
+
- Automation test coverage (Vitest + Playwright)
|
|
234
247
|
- [Svelte 5](https://svelte.dev/blog/runes) migration
|
|
235
|
-
- Automation test coverage
|
|
236
|
-
- Further Netlify/Decap CMS compatibility, including Editorial Workflow
|
|
237
248
|
- Localization
|
|
238
249
|
- Documentation
|
|
239
250
|
- Marketing site
|
|
@@ -511,6 +522,8 @@ Want to build a website with Sveltia CMS? Maintainer [@kyoshino](https://github.
|
|
|
511
522
|
|
|
512
523
|
Since Sveltia CMS is still in beta, we expect various problems. Please [report any bugs to us](https://github.com/sveltia/sveltia-cms/issues/new) so we can make it better for everyone. Feel free to submit feature requests as well. Meanwhile, pull requests may not be accepted for the time being due to limited review resources and the upcoming Svelte 5 migration. As we get closer to the 1.0 release, we’ll be welcoming [localizers](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md).
|
|
513
524
|
|
|
525
|
+
Tips are always welcome! The project hasn’t set up a sponsorship program, but maintainer [@kyoshino](https://github.com/kyoshino) has a [PayPal account](https://paypal.me/kohei).
|
|
526
|
+
|
|
514
527
|
## Related links
|
|
515
528
|
|
|
516
529
|
- Introducing Sveltia CMS: a short technical presentation by [@kyoshino](https://github.com/kyoshino) during the _This Week in Svelte_ online meetup on March 31, 2023 — [recording](https://youtu.be/-YjLubiieYs?t=1660) & [slides](https://docs.google.com/presentation/d/1Wi4ty-1AwOp2-zy7LctmzCV4rrdYPfke9NGhO0DdRdM)
|
|
@@ -582,3 +595,4 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
582
595
|
[^56]: Netlify/Decap CMS [#6515](https://github.com/decaporg/decap-cms/issues/6515)
|
|
583
596
|
[^57]: Netlify/Decap CMS [#328](https://github.com/decaporg/decap-cms/issues/328), [#3853](https://github.com/decaporg/decap-cms/issues/3853)
|
|
584
597
|
[^58]: Netlify/Decap CMS [#5125](https://github.com/decaporg/decap-cms/issues/5125)
|
|
598
|
+
[^59]: Netlify/Decap CMS [#1654](https://github.com/decaporg/decap-cms/issues/1654)
|