@sveltia/cms 0.22.0 → 0.23.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
@@ -24,7 +24,7 @@ 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, 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:
27
+ While we are fixing reported bugs as fast as we can, usually within 24 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)
@@ -40,7 +40,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
40
40
 
41
41
  - Ready to replace Netlify/Decap CMS _in some casual use case scenarios_ by updating a single line of code.
42
42
  - Your existing [configuration file](https://decapcms.org/docs/configuration-options/) can be reused as is.
43
- - Various features are still missing though — look at the [compatibility chart](#compatibility) below to see if you can migrate.
43
+ - Various features are still missing though — look at the [compatibility info](#compatibility) below to see if you can migrate.
44
44
 
45
45
  ### Better UX
46
46
 
@@ -59,7 +59,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
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
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
- - 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.
62
+ - The upcoming [Svelte 5](https://svelte.dev/blog/svelte-5-release-candidate) 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
 
@@ -119,12 +119,12 @@ We are working hard to create a **significantly better alternative to Netlify CM
119
119
 
120
120
  ### Better collections
121
121
 
122
+ - Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
122
123
  - You can choose a [custom icon for each collection](#using-a-custom-icon-for-a-collection)[^3].
123
124
  - Assets stored in a [per-collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
124
125
  - Entry slug template tags support [filter transformations](https://decapcms.org/docs/summary-strings/) just like summary string template tags[^29].
125
126
  - You can set the maximum number of characters for an entry slug with the new `slug_length` collection option[^25].
126
127
  - Single quotes in a slug will be replaced with `sanitize_replacement` (default: hyphen) rather than being removed[^52].
127
- - Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
128
128
 
129
129
  ### Better content editing
130
130
 
@@ -177,6 +177,8 @@ We are working hard to create a **significantly better alternative to Netlify CM
177
177
  - The `summary` is displayed correctly when it refers to a Relation field[^36].
178
178
  - Markdown, String and Text
179
179
  - A required field containing only spaces or line breaks will result in a validation error, as if no characters were entered.
180
+ - Relation and Select
181
+ - When there are 5 or fewer options, the UI switches from a dropdown list to checkboxes or radio buttons for faster data entry[^61].
180
182
 
181
183
  #### New widgets
182
184
 
@@ -218,7 +220,7 @@ The table below shows the current limitations of Sveltia CMS, that are expected
218
220
  | Feature | Status in Sveltia CMS |
219
221
  | --- | --- |
220
222
  | 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. |
221
- | Configuration | UI Locales are only available in English and Japanese. Comprehensive config validation is not yet implemented. |
223
+ | Configuration | The application UI locales are only available in English and Japanese. Comprehensive config validation is not yet implemented. |
222
224
  | Media Libraries | Cloudinary and Uploadcare are not yet supported. |
223
225
  | Workflow | Editorial Workflow and Open Authoring are not yet supported. |
224
226
  | Content Editor | Auto-saving a draft entry is not yet implemented. |
@@ -238,7 +240,7 @@ The table below shows the current limitations of Sveltia CMS, that are expected
238
240
 
239
241
  - 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.
240
242
  - 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.
241
- - The Netlify Identity Widget will not be supported, as it’s not useful without Git Gateway.
243
+ - 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/when a Git Gateway alternative is created.
242
244
  - The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
243
245
  - Sveltia CMS has dropped the support for the deprecated Date widget following Decap CMS 3.0. Use the DateTime widget instead.
244
246
  - Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
@@ -249,7 +251,7 @@ The table below shows the current limitations of Sveltia CMS, that are expected
249
251
 
250
252
  - Enhanced compatibility with Netlify/Decap CMS (see above for the status)
251
253
  - Automation test coverage (Vitest + Playwright)
252
- - [Svelte 5](https://svelte.dev/blog/runes) migration
254
+ - [Svelte 5](https://svelte.dev/blog/svelte-5-release-candidate) migration
253
255
  - Localization
254
256
  - Documentation
255
257
  - Marketing site
@@ -281,7 +283,7 @@ Alternatively, you can probably use one of the [Netlify/Decap CMS templates](htt
281
283
 
282
284
  ### Migration
283
285
 
284
- Have a look at the [compatibility chart](#compatibility) above first. If you’re already using Netlify/Decap CMS with the GitHub or GitLab backend and don’t have any custom widget, custom preview or plugin, migrating to Sveltia CMS is super easy. Edit `/admin/index.html` to replace the CMS `script` tag, and push the change to your repository.
286
+ Have a look at the [compatibility info](#compatibility) above first. If you’re already using Netlify/Decap CMS with the GitHub or GitLab backend and don’t have any custom widget, custom preview or plugin, migrating to Sveltia CMS is super easy. Edit `/admin/index.html` to replace the CMS `script` tag, and push the change to your repository.
285
287
 
286
288
  From Netlify CMS:
287
289
 
@@ -323,7 +325,7 @@ Alternatively, you can [manually initialize](https://decapcms.org/docs/manual-in
323
325
 
324
326
  ### Migrating from Git Gateway backend
325
327
 
326
- Sveltia CMS does not support the Git Gateway backend (and Netlify Identity) due to performance limitations. If you don’t care about user management, you can easily migrate to the [GitHub backend](https://decapcms.org/docs/github-backend/) or [GitLab backend](https://decapcms.org/docs/gitlab-backend/). Make sure **you install an OAuth client** on GitHub or GitLab in addition to updating your configuration file. As noted in the document, Netlify still facilitates the auth flow.
328
+ Sveltia CMS does not support the Git Gateway backend due to performance limitations. If you don’t care about user management with Netlify Identity, you can use the [GitHub backend](https://decapcms.org/docs/github-backend/) or [GitLab backend](https://decapcms.org/docs/gitlab-backend/) instead. Make sure **you install an OAuth client** on GitHub or GitLab in addition to updating your configuration file. As noted in the document, Netlify is still able to facilitate the auth flow.
327
329
 
328
330
  ### Moving your site from Netlify to another hosting service
329
331
 
@@ -331,7 +333,7 @@ You can host your Sveltia CMS-managed site anywhere, such as [Cloudflare Pages](
331
333
 
332
334
  ### Working around authentication error
333
335
 
334
- If you get an “Authentication Aborted” error when trying to sign in to GitHub or GitLab using the authorization code flow, you may need to check your site’s [`Cross-Origin-Opener-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy). The COOP header is not widely used, but it breaks the OAuth flow with a popup window. If that’s your case, changing `same-origin` to `same-origin-allow-popups` solves the problem. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/131))
336
+ If you get an “Authentication Aborted” error when trying to sign in to GitHub or GitLab using the authorization code flow, you may need to check your site’s [`Cross-Origin-Opener-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy). The COOP header is not widely used, but it’s known to break the OAuth flow with a popup window. If that’s your case, changing `same-origin` to `same-origin-allow-popups` solves the problem. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/131))
335
337
 
336
338
  ### Working with a local Git repository
337
339
 
@@ -482,52 +484,76 @@ script-src 'self' https://unpkg.com;
482
484
  connect-src 'self' blob: data: https://unpkg.com;
483
485
  ```
484
486
 
485
- And combine the following policies depending on your Git backend and enabled integrations.
486
-
487
- - GitHub: (If you’re running GitHub Enterprise Server, you’ll also need to add the origin to these directives.)
488
- ```csp
489
- img-src https://*.githubusercontent.com;
490
- connect-src https://api.github.com https://www.githubstatus.com;
491
- ```
487
+ Then, add the following origins depending on your Git backend and enabled integrations.
488
+
489
+ - GitHub: (If you’re running a GitHub Enterprise Server, you’ll also need to add the origin to these directives.)
490
+ - `img-src`
491
+ ```
492
+ https://*.githubusercontent.com
493
+ ```
494
+ - `connect-src`
495
+ ```
496
+ https://api.github.com https://www.githubstatus.com
497
+ ```
492
498
  - GitLab: (If you’re running a self-hosted instance, you’ll also need to add the origin to these directives.)
493
- ```csp
494
- img-src https://gitlab.com https://secure.gravatar.com;
495
- connect-src https://gitlab.com https://status-api.hostedstatus.com;
496
- ```
499
+ - `img-src`
500
+ ```
501
+ https://gitlab.com https://secure.gravatar.com
502
+ ```
503
+ - `connect-src`
504
+ ```
505
+ https://gitlab.com https://status-api.hostedstatus.com
506
+ ```
497
507
  - Pexels:
498
- ```csp
499
- img-src https://images.pexels.com;
500
- connect-src https://images.pexels.com https://api.pexels.com;
501
- ```
508
+ - `img-src`
509
+ ```
510
+ https://images.pexels.com
511
+ ```
512
+ - `connect-src`
513
+ ```
514
+ https://images.pexels.com https://api.pexels.com
515
+ ```
502
516
  - Pixabay:
503
- ```csp
504
- img-src https://pixabay.com;
505
- connect-src https://pixabay.com;
506
- ```
517
+ - `img-src`
518
+ ```
519
+ https://pixabay.com
520
+ ```
521
+ - `connect-src`
522
+ ```
523
+ https://pixabay.com
524
+ ```
507
525
  - Unsplash:
508
- ```csp
509
- img-src https://images.unsplash.com;
510
- connect-src https://images.unsplash.com https://api.unsplash.com;
511
- ```
526
+ - `img-src`
527
+ ```
528
+ https://images.unsplash.com
529
+ ```
530
+ - `connect-src`
531
+ ```
532
+ https://images.unsplash.com https://api.unsplash.com
533
+ ```
512
534
  - DeepL API Free:
513
- ```csp
514
- connect-src https://api-free.deepl.com;
515
- ```
535
+ - `connect-src`
536
+ ```
537
+ https://api-free.deepl.com
538
+ ```
516
539
  - DeepL API Pro:
517
- ```csp
518
- connect-src https://api.deepl.com;
519
- ```
540
+ - `connect-src`
541
+ ```
542
+ https://api.deepl.com
543
+ ```
520
544
 
521
545
  If you choose to [disable automatic deployments](#disabling-automatic-deployments) and have configured a webhook URL, you may need to add the origin to the `connect-src` directive. For example,
522
546
 
523
547
  - Netlify:
524
- ```csp
525
- connect-src https://api.netlify.com;
526
- ```
548
+ - `connect-src`
549
+ ```csp
550
+ https://api.netlify.com
551
+ ```
527
552
  - Cloudflare Pages
528
- ```csp
529
- connect-src https://api.cloudflare.com;
530
- ```
553
+ - `connect-src`
554
+ ```csp
555
+ https://api.cloudflare.com
556
+ ```
531
557
 
532
558
  If you have image field(s) and expect that images will be inserted as URLs, you may want to allow any source using a wildcard instead of specifying individual origins:
533
559
 
@@ -620,3 +646,4 @@ This software is provided “as is” without any express or implied warranty. W
620
646
  [^58]: Netlify/Decap CMS [#5125](https://github.com/decaporg/decap-cms/issues/5125)
621
647
  [^59]: Netlify/Decap CMS [#1654](https://github.com/decaporg/decap-cms/issues/1654)
622
648
  [^60]: Netlify/Decap CMS [#386](https://github.com/decaporg/decap-cms/issues/386)
649
+ [^61]: Netlify/Decap CMS [#1489](https://github.com/decaporg/decap-cms/issues/1489)