@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 +72 -45
- package/dist/sveltia-cms.js +155 -155
- package/dist/sveltia-cms.mjs +147 -147
- package/package.json +2 -2
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
|
|
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
|
|
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/
|
|
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
|
|
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/
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
486
|
-
|
|
487
|
-
- GitHub: (If you’re running GitHub Enterprise Server, you’ll also need to add the origin to these directives.)
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
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
|
-
|
|
494
|
-
|
|
495
|
-
|
|
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
|
-
|
|
499
|
-
|
|
500
|
-
|
|
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
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
517
|
+
- `img-src`
|
|
518
|
+
```
|
|
519
|
+
https://pixabay.com
|
|
520
|
+
```
|
|
521
|
+
- `connect-src`
|
|
522
|
+
```
|
|
523
|
+
https://pixabay.com
|
|
524
|
+
```
|
|
507
525
|
- Unsplash:
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
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
|
-
|
|
514
|
-
|
|
515
|
-
|
|
535
|
+
- `connect-src`
|
|
536
|
+
```
|
|
537
|
+
https://api-free.deepl.com
|
|
538
|
+
```
|
|
516
539
|
- DeepL API Pro:
|
|
517
|
-
|
|
518
|
-
|
|
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
|
-
|
|
525
|
-
|
|
526
|
-
|
|
548
|
+
- `connect-src`
|
|
549
|
+
```csp
|
|
550
|
+
https://api.netlify.com
|
|
551
|
+
```
|
|
527
552
|
- Cloudflare Pages
|
|
528
|
-
|
|
529
|
-
|
|
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)
|