@sveltia/cms 0.62.6 → 0.63.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 +23 -12
- package/dist/sveltia-cms.js +190 -190
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +187 -187
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +12 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ The free, open source alternative to Netlify/Decap CMS is now in public beta, tu
|
|
|
45
45
|
- [Compatibility with Static CMS](#compatibility-with-static-cms)
|
|
46
46
|
- [Other notes](#other-notes)
|
|
47
47
|
- [Getting started](#getting-started)
|
|
48
|
-
- [
|
|
48
|
+
- [Installation \& setup](#installation--setup)
|
|
49
49
|
- [Migration](#migration)
|
|
50
50
|
- [Migrating from Git Gateway backend](#migrating-from-git-gateway-backend)
|
|
51
51
|
- [Installing with npm](#installing-with-npm)
|
|
@@ -115,12 +115,11 @@ Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in
|
|
|
115
115
|
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:
|
|
116
116
|
|
|
117
117
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
|
|
118
|
-
- We even proactively adopt changes suggested in their [pull requests](https://github.com/decaporg/decap-cms/pulls) that may sit in the review queue for a long time
|
|
119
118
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
120
119
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
121
|
-
- So far,
|
|
120
|
+
- So far, 180+ of them, or 370+ including duplicates, have been effectively solved in Sveltia CMS
|
|
122
121
|
- Target: 200 by GA; 300, or 600 including duplicates, in the future (yes, you read that right)
|
|
123
|
-
- Issues include everything from feature requests to bug reports and [issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution, as well as [discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
122
|
+
- Issues include everything from feature requests to bug reports and [issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution, as well as [discussions](https://github.com/decaporg/decap-cms/discussions) and stalled [pull requests](https://github.com/decaporg/decap-cms/pulls)
|
|
124
123
|
- Most of the bugs, including annoying crashes, are already solved
|
|
125
124
|
- 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
|
|
126
125
|
- Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
|
|
@@ -128,7 +127,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
128
127
|
- Responding to requests from the maintainer’s clients
|
|
129
128
|
- Making the code clean and maintainable
|
|
130
129
|
|
|
131
|
-
<br>
|
|
132
131
|
|
|
133
132
|
## Differentiators
|
|
134
133
|
|
|
@@ -209,6 +208,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
|
|
|
209
208
|
|
|
210
209
|
- Some servers and frameworks are known to remove the trailing slash from the CMS URL (`/admin`) depending on the configuration. In such cases, the config file is loaded from a root-relative URL (`/admin/config.yml`) instead of a regular relative URL (`./config.yml` = `/config.yml`) that results in a 404 Not Found error.[^107]
|
|
211
210
|
- Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
|
|
211
|
+
- We keep our TypeScript type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193] This makes it easier to provide a site configuration when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
|
|
212
212
|
|
|
213
213
|
### Better backend support
|
|
214
214
|
|
|
@@ -330,7 +330,8 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
330
330
|
- The Preview Pane comes with a minimal default style.[^168] It looks nice without a custom preview style or template.
|
|
331
331
|
- For better performance, the Preview Pane doesn’t use an `<iframe>`.[^179]
|
|
332
332
|
- The Preview Pane displays all fields, including each label, making it easier to see which fields are populated.
|
|
333
|
-
- Clicking a field in the Preview Pane focuses the corresponding field in the Edit Pane.[^41] It automatically expands when collapsed.
|
|
333
|
+
- Clicking a field in the Preview Pane focuses the corresponding field in the Edit Pane.[^41] It automatically expands when collapsed.
|
|
334
|
+
- This is equivalent to the (misleading) visual editing feature introduced in [Decap 3.6.0](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.6.0), but our click-to-highlight feature is enabled by default; you don’t need to opt in with the `editor.visualEditing` collection option. Also, image previews are not broken in Sveltia CMS.[^188]
|
|
334
335
|
- The Preview Pane doesn’t cause a scrolling issue.[^136]
|
|
335
336
|
- The Preview Pane doesn’t crash with a Minified React error.[^186]
|
|
336
337
|
- Provides better scroll synchronization between the panes when editing or previewing an entry.[^92]
|
|
@@ -392,12 +393,13 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
392
393
|
- The built-in `image` component allows users to add, edit or remove a link on an image.[^171]
|
|
393
394
|
- The built-in `code-block` component is implemented just like a blockquote. You can simply convert a normal paragraph into a code block instead of adding a component.
|
|
394
395
|
- Code in a code block in the editor can be copied as expected.[^165]
|
|
396
|
+
- Language-annotated code block doesn’t trigger unsaved changes.[^189]
|
|
395
397
|
- Line breaks are rendered as line breaks in the Preview Pane according to GitHub Flavored Markdown (GFM).
|
|
396
398
|
- Number
|
|
397
399
|
- If the `value_type` option is `int` (default) or `float`, the `required` option is `false`, and the value is not entered, the field will be saved as `null` instead of an empty string.[^157] If `value_type` is anything else, the data type will remain a string.
|
|
398
400
|
- Object
|
|
399
401
|
- Sveltia CMS offers two ways to have conditional fields in a collection:[^30]
|
|
400
|
-
- The Object widget supports [variable types](https://decapcms.org/docs/variable-type-widgets/) (the `types`
|
|
402
|
+
- The Object widget supports [variable types](https://decapcms.org/docs/variable-type-widgets/) (the `types` and `typeKey` options) just like the List widget.
|
|
401
403
|
- An optional Object field (`required: false`) can be manually added or removed with a checkbox.[^88] If unadded or removed, the required subfields won’t trigger validation errors,[^16] and the field will be saved as `null`.
|
|
402
404
|
- Relation
|
|
403
405
|
- Field options are displayed with no additional API requests.[^14] The confusing `options_length` option, which defaults to 20, is therefore ignored.[^76]
|
|
@@ -497,7 +499,7 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
497
499
|
### Features not to be implemented
|
|
498
500
|
|
|
499
501
|
- **The Azure, Bitbucket, Gitea/Forgejo and Git Gateway backends**: For performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a GraphQL-based 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.
|
|
500
|
-
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and Netlify Identity itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). We plan to develop an alternative solution with role support in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
502
|
+
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and the Netlify Identity service itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). We plan to develop an alternative solution with role support in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
501
503
|
- The deprecated client-side implicit grant for the GitLab backend: It has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
502
504
|
- The deprecated Netlify Large Media service: Consider other storage providers.
|
|
503
505
|
- Deprecated camel case configuration options: Use snake case instead, according to the current Netlify/Decap CMS document.
|
|
@@ -528,7 +530,6 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
|
|
|
528
530
|
- [Custom widgets and custom editor components](https://decapcms.org/docs/custom-widgets/)
|
|
529
531
|
- [Custom previews](https://decapcms.org/docs/customization/) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
530
532
|
- [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
531
|
-
- TypeScript support for `CMS.init()` and other methods ([#346](https://github.com/sveltia/sveltia-cms/issues/346))
|
|
532
533
|
|
|
533
534
|
Due to the complexity, the following features will be added after the 1.0 release. Netlify/Decap CMS has a number of open issues with the collaboration and beta features — we want to implement them the right way.
|
|
534
535
|
|
|
@@ -566,9 +567,9 @@ Sveltia CMS provides partial compatibility with [Static CMS](https://github.com/
|
|
|
566
567
|
|
|
567
568
|
## Getting started
|
|
568
569
|
|
|
569
|
-
###
|
|
570
|
+
### Installation & setup
|
|
570
571
|
|
|
571
|
-
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their documentation](https://decapcms.org/docs/basic-steps/) to add it to your site and create a configuration file first.
|
|
572
|
+
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their documentation](https://decapcms.org/docs/basic-steps/) to add it to your site and create a configuration file first. Skip the [Choosing a Backend](https://decapcms.org/docs/choosing-a-backend/) page and choose the [GitHub](https://decapcms.org/docs/github-backend/) or [GitLab](https://decapcms.org/docs/gitlab-backend/) backend instead. Then migrate to Sveltia CMS as described below.
|
|
572
573
|
|
|
573
574
|
As the product evolves, we’ll implement a built-in configuration editor and provide comprehensive documentation to make it easier for everyone to get started with Sveltia CMS.
|
|
574
575
|
|
|
@@ -1388,7 +1389,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1388
1389
|
|
|
1389
1390
|
[^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205)
|
|
1390
1391
|
|
|
1391
|
-
[^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|
|
1392
|
+
[^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|
|
1392
1393
|
|
|
1393
1394
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
1394
1395
|
|
|
@@ -1539,3 +1540,13 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1539
1540
|
[^187]: Netlify/Decap CMS [#1244](https://github.com/decaporg/decap-cms/issues/1244)
|
|
1540
1541
|
|
|
1541
1542
|
[^188]: Netlify/Decap CMS [#7415](https://github.com/decaporg/decap-cms/issues/7415), [#7421](https://github.com/decaporg/decap-cms/issues/7421)
|
|
1543
|
+
|
|
1544
|
+
[^189]: Netlify/Decap CMS [#7431](https://github.com/decaporg/decap-cms/issues/7431)
|
|
1545
|
+
|
|
1546
|
+
[^190]: Netlify/Decap CMS [#4987](https://github.com/decaporg/decap-cms/issues/4987)
|
|
1547
|
+
|
|
1548
|
+
[^191]: Netlify/Decap CMS [#5970](https://github.com/decaporg/decap-cms/issues/5970)
|
|
1549
|
+
|
|
1550
|
+
[^192]: Netlify/Decap CMS [#6527](https://github.com/decaporg/decap-cms/issues/6527)
|
|
1551
|
+
|
|
1552
|
+
[^193]: Netlify/Decap CMS [#6800](https://github.com/decaporg/decap-cms/issues/6800)
|