@sveltia/cms 0.49.8 → 0.50.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 CHANGED
@@ -39,7 +39,8 @@ The free, open source alternative to Netlify/Decap CMS is now in public beta, tu
39
39
  - [Better localization](#better-localization)
40
40
  - [Compatibility](#compatibility)
41
41
  - [Features not to be implemented](#features-not-to-be-implemented)
42
- - [Current limitations](#current-limitations)
42
+ - [Features to be implemented before GA](#features-to-be-implemented-before-ga)
43
+ - [Features to be implemented after GA](#features-to-be-implemented-after-ga)
43
44
  - [Other notes](#other-notes)
44
45
  - [Getting started](#getting-started)
45
46
  - [New users](#new-users)
@@ -107,7 +108,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
107
108
 
108
109
  - Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
109
110
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
110
- - So far, 140+ of them, or 255+ including duplicates, have been effectively solved in Sveltia CMS
111
+ - So far, 145+ of them, or 255+ including duplicates, have been effectively solved in Sveltia CMS
111
112
  - Target: 250 or all relevant and fixable issues in a future release
112
113
  - Note: Issues include both feature requests and bug reports; we also track their [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)
113
114
  - [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=enhancement) if you have any specific issues you’d like to see solved!
@@ -115,7 +116,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
115
116
  - Implementing our own enhancement ideas for every part of the product
116
117
  - Making the code clean and maintainable
117
118
 
118
- ![140 Netlify/Decap CMS Issues Solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1-20241104.webp)<br>
119
+ ![145 Netlify/Decap CMS Issues Solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1-20241228.webp)<br>
119
120
 
120
121
  ## Differentiators
121
122
 
@@ -209,6 +210,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
209
210
  - The [i18n limitations](https://decapcms.org/docs/i18n/#limitations) in Netlify/Decap CMS do not apply to Sveltia CMS:
210
211
  - File collections support multiple files/folders i18n structures[^87]. To enable it, simply use the `{{locale}}` template tag in the `file` path option, e.g. `content/pages/about.{{locale}}.json` or `content/pages/{{locale}}/about.json`. For backward compatibility, the global `structure` option only applies to folder collections, and the default i18n structure for file collections remains single file.
211
212
  - The List and Object widgets support the `i18n: duplicate` field configuration so that changes made with these widgets are duplicated between locales[^7][^68]. The `i18n` configuration can normally be used for the subfields.
213
+ - The `required` field option accepts an array of locale names in addition to a boolean, making the field required for a subset of locales when i18n support is enabled. For example, if only English is required, you can write `required: [en]`. An empty array is equivalent to `required: false`.
212
214
  - [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].
213
215
  - The `{{locale}}` template tag can be used in the [`preview_path`](https://decapcms.org/docs/configuration-options/#preview_path) collection option to provide site preview links for each language[^63].
214
216
  - It’s possible to [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug), which is a good option for locales that write in non-Latin characters.
@@ -377,6 +379,9 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
377
379
  - Compute
378
380
  - The experimental `compute` widget allows to reference the value of other fields in the same collection, similar to the `summary` property for the List and Object widgets[^104]. Use the `value` property to define the value template, e.g. `posts-{{fields.slug}}` ([example](https://github.com/sveltia/sveltia-cms/issues/111)).
379
381
  - The `value` property also supports a value of `{{index}}`, which can hold the index of a list item ([example](https://github.com/sveltia/sveltia-cms/issues/172)).
382
+ - KeyValue
383
+ - The new `keyvalue` (dictionary) widget allows users to add arbitrary key-value pairs to a field[^123].
384
+ - The implementation is compatible with [Static CMS](https://staticjscms.netlify.app/docs/widget-keyvalue), a now-defunct community fork of Netlify CMS.
380
385
  - UUID
381
386
  - In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS also supports the proposed `uuid` widget with the following properties[^12]:
382
387
  - `prefix`: A string to be prepended to the value. Default: an empty string.
@@ -427,17 +432,17 @@ However, 100% feature parity is not planned, and some features are still missing
427
432
 
428
433
  ### Features not to be implemented
429
434
 
430
- - **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. We plan to develop a high-performance Git Gateway alternative in the future. We may also support the other platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
431
- - **The Netlify Identity widget will not be supported**, as it’s not useful without Git Gateway. We may be able to support it in the future if a Git Gateway alternative is created.
435
+ - **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained; we plan to develop a high-performance alternative in the future. We may also support the other platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
436
+ - **Netlify Identity Widget will not be supported**, as it’s not useful without Git Gateway. The [widget](https://github.com/netlify/netlify-identity-widget) has been unmaintained for years, and Netlify no longer officially supports it [according to a Netlify customer](https://github.com/sveltia/sveltia-cms/discussions/284). We plan to develop an alternative solution in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
432
437
  - 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.
433
438
  - The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
434
439
  - The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget instead.
435
440
  - Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
436
441
  - [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `window.CMS` object will not be implemented. This includes custom backends and custom media libraries, if any; we may support these features in the future, but our implementation would likely be incompatible with Netlify/Decap CMS.
437
442
 
438
- ### Current limitations
443
+ ### Features to be implemented before GA
439
444
 
440
- These limitations are expected to be resolved before or shortly after GA:
445
+ These limitations are expected to be resolved before the 1.0 release:
441
446
 
442
447
  | Feature | Status in Sveltia CMS |
443
448
  | --- | --- |
@@ -445,8 +450,6 @@ These limitations are expected to be resolved before or shortly after GA:
445
450
  | Configuration | Comprehensive config validation is not yet implemented. |
446
451
  | Localization | The application UI is only available in English and Japanese at this time. |
447
452
  | Media Libraries | [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) are not yet supported. |
448
- | Workflow | [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/) and [Open Authoring](https://decapcms.org/docs/open-authoring/) are not yet supported and will be implemented after the 1.0 release. |
449
- | Collections | [Nested collections](https://decapcms.org/docs/collection-nested/) (beta) are not yet supported and will be implemented after the 1.0 release. |
450
453
  | Widgets | [Custom widgets](https://decapcms.org/docs/custom-widgets/) are not yet supported. See the table below for other limitations. |
451
454
  | Customizations | [Custom previews](https://decapcms.org/docs/customization/) and [event subscriptions](https://decapcms.org/docs/registering-events/) are not yet supported. |
452
455
 
@@ -458,12 +461,20 @@ These limitations are expected to be resolved before or shortly after GA:
458
461
  | [Map](https://decapcms.org/docs/widgets/#map) | Not yet supported. |
459
462
  | [Markdown](https://decapcms.org/docs/widgets/#markdown) | The built-in `code-block` component and custom components are not yet supported. |
460
463
 
464
+ ### Features to be implemented after GA
465
+
466
+ Due to the complexity, the following features are planned for after the 1.0 release. We know Netlify/Decap CMS has a number of issues with these advanced features and we want to implement them the right way.
467
+
468
+ - [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/)
469
+ - [Open Authoring](https://decapcms.org/docs/open-authoring/)
470
+ - [Nested Collections](https://decapcms.org/docs/collection-nested/)
471
+
461
472
  ### Other notes
462
473
 
463
474
  - Make sure you’re using the latest stable version of a web browser. Firefox ESR and its derivatives, including Tor Browser and Mullvad Browser, are not supported, although they may still work. The [local repository workflow](#working-with-a-local-git-repository) requires Chrome, Edge or another Chromium-based browser.
464
475
  - Sveltia CMS requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), meaning it only works with HTTPS, `localhost` or `127.0.0.1` URLs. If you’re running a remote server yourself and it’s served over HTTP, get a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
465
476
  - The GitLab backend requires GitLab 16.3 or later.
466
- - We plan to provide partial compatibility with now-discontinued Static CMS, such as the [KeyValue widget](https://staticjscms.netlify.app/docs/widget-keyvalue).
477
+ - We plan to provide partial compatibility with now-discontinued Static CMS. The KeyValue widget is already implemented.
467
478
  - Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug).
468
479
 
469
480
  ## Getting started
@@ -521,7 +532,7 @@ Once you have migrated from the Git Gateway and Netlify Identity combo, you can
521
532
  -<script src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
522
533
  ```
523
534
 
524
- If you want to stay with Netlify Identity, unfortunately you can’t migrate to Sveltia CMS right now. We plan to develop a high-performance Git Gateway alternative with Netlify Identity support in the future.
535
+ If you want to stay with Netlify Identity, unfortunately you can’t migrate to Sveltia CMS right now. We plan to develop an alternative to Git Gateway and Netlify Identity Widget in the future.
525
536
 
526
537
  ### Installing with npm
527
538
 
@@ -928,7 +939,9 @@ img-src 'self' blob: data: https://*;
928
939
 
929
940
  While we don’t have dedicated developer/user support resources, [quick questions](https://github.com/sveltia/sveltia-cms/discussions/new?category=q-a) and [feedback](https://github.com/sveltia/sveltia-cms/discussions/new?category=general) are welcome on the [Discussions](https://github.com/sveltia/sveltia-cms/discussions) page of our GitHub repository. We also have a [Discord channel](https://discord.gg/5hwCGqup5b) for casual chat.
930
941
 
931
- Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out!
942
+ As described throughout this README, Sveltia CMS is being built as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are migrating from the other product. We are happy to help you migrate, but unfortunately we cannot help you set up Sveltia CMS from scratch through our free support channels.
943
+
944
+ Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out today!
932
945
 
933
946
  ## Contributions
934
947
 
@@ -951,7 +964,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
951
964
 
952
965
  - Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and nested collections
953
966
  - Tackling more Netlify/Decap CMS issues, including MDX support[^122], manual entry sorting[^125], roles[^23], mobile optimization[^18] and config editor[^10] — Some [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are already implemented in Sveltia CMS
954
- - Exploring compatibility with Static CMS, a now-discontinued community fork of Netlify CMS (Note: The [KeyValue widget](https://staticjscms.netlify.app/docs/widget-keyvalue) will be supported prior to the 1.0 release[^123])
967
+ - Exploring compatibility with Static CMS, a now-discontinued community fork of Netlify CMS (The KeyValue widget is already implemented)
955
968
  - More integration options: stock photos, cloud storage providers, translators, maps, analytics
956
969
  - Advanced digital asset management (DAM) features, including image editing and tagging[^114]
957
970
  - AI integrations for image generation and content writing