@sveltia/cms 0.83.0 → 0.85.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 +44 -22
- package/dist/sveltia-cms.js +212 -212
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +213 -213
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/types/public.d.ts +13 -2
package/README.md
CHANGED
|
@@ -130,7 +130,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
130
130
|
|
|
131
131
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
|
|
132
132
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
133
|
-
- So far,
|
|
133
|
+
- So far, 230+ issues, or 470+ if including duplicates, have been effectively solved in Sveltia CMS (Yes, you read it right)
|
|
134
134
|
- Target:
|
|
135
135
|
- 200 issues, or 400 if including duplicates, by GA — We did it! 🎉
|
|
136
136
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -144,7 +144,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
144
144
|
- Responding to requests from the maintainer’s clients
|
|
145
145
|
- Making the code clean and maintainable
|
|
146
146
|
|
|
147
|
-
<br>
|
|
148
148
|
|
|
149
149
|
## Differentiators
|
|
150
150
|
|
|
@@ -224,9 +224,10 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
224
224
|
### Better installation
|
|
225
225
|
|
|
226
226
|
- Sveltia CMS is built with [Svelte](https://svelte.dev/), and we only publish compiled vanilla JavaScript bundles, so there are no React compatibility issues that might prevent developers from upgrading a project for many months.[^177] We haven’t actually integrated React for custom widgets and other features yet, but anyway, no dependencies will be installed when you [install the app with npm](#installing-with-npm).
|
|
227
|
-
- Sveltia CMS also won’t cause peer dependency conflicts due to legacy third-party React UI libraries
|
|
227
|
+
- Sveltia CMS also won’t cause peer dependency conflicts mainly due to legacy third-party React UI libraries.[^175][^237] We build the app using [our own Svelte UI component library](https://github.com/sveltia/sveltia-ui) to reduce reliance on third parties.
|
|
228
228
|
- 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]
|
|
229
229
|
- The [robots `meta` tag](https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag) is automatically added to HTML to prevent the admin page from being indexed by search engines.[^174] Developers are still encouraged to manually add `<meta name="robots" content="noindex">` to `index.html`, as not all crawlers support dynamically added tags. However, our solution should at least work with Google in case you forget to do so.
|
|
230
|
+
- Initializing the CMS twice (due to the incorrect or missing placement of `CMS_MANUAL_INIT`) will not result in a `NotFoundError`.[^251]
|
|
230
231
|
|
|
231
232
|
### Better configuration
|
|
232
233
|
|
|
@@ -394,7 +395,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
394
395
|
|
|
395
396
|
### Better widgets
|
|
396
397
|
|
|
397
|
-
Sveltia CMS supports all [built-in widgets](https://decapcms.org/docs/widgets/) available in Netlify/Decap
|
|
398
|
+
Sveltia CMS supports all [built-in widgets](https://decapcms.org/docs/widgets/) available in Netlify/Decap. We have made significant improvements to these widgets while adding some new ones. Support for [custom widgets](https://decapcms.org/docs/custom-widgets/) will be added before the 1.0 release.
|
|
398
399
|
|
|
399
400
|
Note: The Date widget has been deprecated in Netlify CMS and removed from both Decap CMS and Sveltia CMS in favour of the DateTime widget, as noted in the [Compatibility](#compatibility) section.
|
|
400
401
|
|
|
@@ -432,6 +433,11 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
|
|
|
432
433
|
- Users can preview variable types without having to register a preview template.[^42]
|
|
433
434
|
- It’s possible to omit `fields` in a variable type object.[^163] In that case, only the `typeKey` (default: `type`) is saved in the output.
|
|
434
435
|
- A collapsed List field will not display a programmatic summary like `List [ Map { "key": "value" } ]` if the `summary` option is not set.[^183]
|
|
436
|
+
- Map
|
|
437
|
+
- A search bar enables users to quickly locate a specific place on a map.[^252]
|
|
438
|
+
- With the [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API), it’s possible to use the user’s current location.
|
|
439
|
+
- The value can be cleared if the field is optional.
|
|
440
|
+
- The map’s zoom level is adjusted more intuitively using pinch gestures.
|
|
435
441
|
- Markdown
|
|
436
442
|
- The rich text editor is built with the well-maintained [Lexical](https://lexical.dev/) framework, which solves various issues with a [Slate](https://github.com/ianstormtaylor/slate)-based editor in Netlify/Decap CMS,[^235] including fatal application crashes,[^71][^72][^73][^111] lost formatting when pasting,[^124] an extra line break when pasting,[^169] extra HTML comments when pasting,[^229] backslash injections,[^53] dropdown visibility,[^70] and text input difficulties with IME.[^54]
|
|
437
443
|
- The default editor mode can be set 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.
|
|
@@ -596,15 +602,15 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
|
|
|
596
602
|
- [Forgejo backend](https://decapcms.org/docs/gitea-backend/) ([#381](https://github.com/sveltia/sveltia-cms/issues/381))
|
|
597
603
|
- [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
|
|
598
604
|
- Field-specific media folders (beta) for the [File](https://decapcms.org/docs/widgets/#file) and [Image](https://decapcms.org/docs/widgets/#image) widgets
|
|
599
|
-
- [Map](https://decapcms.org/docs/widgets/#map) widget
|
|
605
|
+
- LineSting and Polygon types for the [Map](https://decapcms.org/docs/widgets/#map) widget
|
|
600
606
|
- [Custom widgets](https://decapcms.org/docs/custom-widgets/)
|
|
601
607
|
- [Custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent): Support for preview, Object/List widgets, and the `default` field option
|
|
602
608
|
- [Custom previews](https://decapcms.org/docs/customization/) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
603
609
|
- [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
604
610
|
|
|
605
|
-
Due to the complexity, we have decided to defer the following features to the 2.0 release. Netlify/Decap CMS has a number of open issues with
|
|
611
|
+
Due to the complexity, we have decided to defer the following features to the 2.0 release. Netlify/Decap CMS has a number of open issues with these collaboration and beta features — we want to implement them the right way.
|
|
606
612
|
|
|
607
|
-
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
613
|
+
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/) & [Deploy Preview Links](https://decapcms.org/docs/deploy-preview-links/)
|
|
608
614
|
- [Open Authoring](https://decapcms.org/docs/open-authoring/)
|
|
609
615
|
- [Nested Collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
610
616
|
|
|
@@ -709,7 +715,7 @@ You can now open `https://[hostname]/admin/` as usual to start editing. There is
|
|
|
709
715
|
|
|
710
716
|
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](https://decapcms.org/docs/github-backend/) or [GitLab](https://decapcms.org/docs/gitlab-backend/) 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.
|
|
711
717
|
|
|
712
|
-
To allow
|
|
718
|
+
To allow other people to edit content, simply invite them to your GitHub repository with the write role assigned. Please note, however, that Sveltia CMS hasn’t implemented any mechanisms to prevent conflicts in multi-user scenarios.
|
|
713
719
|
|
|
714
720
|
Once you have migrated from the Git Gateway and Netlify Identity combo, you can remove the Netlify Identity Widget script tag from your HTML:
|
|
715
721
|
|
|
@@ -886,11 +892,14 @@ collections:
|
|
|
886
892
|
fields: # Fields for regular entries
|
|
887
893
|
...
|
|
888
894
|
index_file:
|
|
889
|
-
name: _index # File name, required
|
|
890
895
|
fields: # Fields for the index file. If omitted, regular entry fields are used
|
|
891
896
|
...
|
|
897
|
+
# All of the following options are optional
|
|
898
|
+
name: _index # File name without a locale or extension. Default: _index
|
|
899
|
+
label: Index File # Human-readable file label. Default: Index File
|
|
900
|
+
icon: home # Material Symbols icon name. Default: home
|
|
892
901
|
editor:
|
|
893
|
-
preview: false # Hide the preview pane if needed
|
|
902
|
+
preview: false # Hide the preview pane if needed. Default: true
|
|
894
903
|
```
|
|
895
904
|
|
|
896
905
|
Note that the special index file is placed right under the `folder`, regardless of the collection’s [`path` option](https://decapcms.org/docs/collection-folder/#folder-collections-path). For example, if the `path` is `{{year}}/{{slug}}`, a regular entry would be saved as `content/posts/2025/title.md`, but the index file remains at `content/posts/_index.md`.
|
|
@@ -903,20 +912,20 @@ To create this special file collection, add the new `singletons` option, along w
|
|
|
903
912
|
|
|
904
913
|
```yaml
|
|
905
914
|
collections:
|
|
906
|
-
#
|
|
907
|
-
- name:
|
|
908
|
-
label:
|
|
915
|
+
# A conventional file collection
|
|
916
|
+
- name: data
|
|
917
|
+
label: Data
|
|
909
918
|
files:
|
|
910
919
|
- name: home
|
|
911
920
|
label: Home Page
|
|
912
921
|
file: content/home.yaml
|
|
913
922
|
...
|
|
914
|
-
- name:
|
|
923
|
+
- name: settings
|
|
915
924
|
label: Site Settings
|
|
916
925
|
file: content/settings.yaml
|
|
917
926
|
...
|
|
918
927
|
|
|
919
|
-
#
|
|
928
|
+
# ... can be converted to the singleton collection
|
|
920
929
|
singletons:
|
|
921
930
|
- name: home
|
|
922
931
|
label: Home Page
|
|
@@ -925,7 +934,7 @@ singletons:
|
|
|
925
934
|
...
|
|
926
935
|
- name: divider-1
|
|
927
936
|
divider: true # You can also add dividers
|
|
928
|
-
- name:
|
|
937
|
+
- name: settings
|
|
929
938
|
label: Site Settings
|
|
930
939
|
file: content/settings.yaml
|
|
931
940
|
icon: settings
|
|
@@ -1300,6 +1309,15 @@ Then, add the following origins depending on your Git backend and enabled integr
|
|
|
1300
1309
|
```
|
|
1301
1310
|
https://gitea.com
|
|
1302
1311
|
```
|
|
1312
|
+
- OpenStreetMap (built-in Map widget)
|
|
1313
|
+
- `img-src`
|
|
1314
|
+
```
|
|
1315
|
+
https://*.openstreetmap.org
|
|
1316
|
+
```
|
|
1317
|
+
- `connect-src`
|
|
1318
|
+
```
|
|
1319
|
+
https://*.openstreetmap.org
|
|
1320
|
+
```
|
|
1303
1321
|
- Pexels:
|
|
1304
1322
|
- `img-src`
|
|
1305
1323
|
```
|
|
@@ -1389,12 +1407,12 @@ Due Q4 2025
|
|
|
1389
1407
|
|
|
1390
1408
|
- Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
1391
1409
|
- Tackling some more Netlify/Decap CMS issues:
|
|
1392
|
-
- [Directory navigation in the
|
|
1410
|
+
- [Directory navigation in the Asset Library](https://github.com/sveltia/sveltia-cms/issues/420)[^240] (#5 top-voted feature of Netlify/Decap CMS)
|
|
1393
1411
|
- [Multiple file selection with the File and Image widgets](https://github.com/sveltia/sveltia-cms/issues/10)[^239] (#14)
|
|
1394
|
-
- [Git LFS support for GitHub backend](https://github.com/sveltia/sveltia-cms/discussions/353)[^244] (#26)
|
|
1412
|
+
- [Git LFS support for the GitHub backend](https://github.com/sveltia/sveltia-cms/discussions/353)[^244] (#26)
|
|
1395
1413
|
- Advanced Relation fields[^242], including cascade updates/deletes[^243] and [reverse reference lists](https://github.com/sveltia/sveltia-cms/discussions/416)
|
|
1396
|
-
- Cloudinary and Uploadcare issues, including existing
|
|
1397
|
-
- [Automatic file renaming with templates](https://github.com/sveltia/sveltia-cms/issues/422)[^241]
|
|
1414
|
+
- Several Cloudinary and Uploadcare media library issues, including selection of existing files[^247]
|
|
1415
|
+
- [Automatic asset file renaming with templates](https://github.com/sveltia/sveltia-cms/issues/422)[^241]
|
|
1398
1416
|
- [RTL localization support](https://github.com/sveltia/sveltia-cms/issues/385)[^245]
|
|
1399
1417
|
- Thorough site config validation[^246]
|
|
1400
1418
|
- [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
|
|
@@ -1408,7 +1426,7 @@ Due Q4 2025
|
|
|
1408
1426
|
### v2.0
|
|
1409
1427
|
|
|
1410
1428
|
- Implementing [a few deferred Netlify/Decap CMS features](#current-limitations):
|
|
1411
|
-
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
1429
|
+
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/) & [Deploy Preview Links](https://decapcms.org/docs/deploy-preview-links/)
|
|
1412
1430
|
- [Open Authoring](https://decapcms.org/docs/open-authoring/)
|
|
1413
1431
|
- [Nested Collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
1414
1432
|
- End-user documentation
|
|
@@ -1670,7 +1688,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1670
1688
|
|
|
1671
1689
|
[^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), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453)
|
|
1672
1690
|
|
|
1673
|
-
[^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), [#
|
|
1691
|
+
[^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), [#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), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515) — 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).
|
|
1674
1692
|
|
|
1675
1693
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
1676
1694
|
|
|
@@ -1945,3 +1963,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1945
1963
|
[^249]: Netlify/Decap CMS [#4208](https://github.com/decaporg/decap-cms/issues/4208)
|
|
1946
1964
|
|
|
1947
1965
|
[^250]: Netlify/Decap CMS [#6609](https://github.com/decaporg/decap-cms/issues/6609), [#6802](https://github.com/decaporg/decap-cms/issues/6802), [#6824](https://github.com/decaporg/decap-cms/issues/6824), [#6832](https://github.com/decaporg/decap-cms/issues/6832), [#6848](https://github.com/decaporg/decap-cms/issues/6848), [#6851](https://github.com/decaporg/decap-cms/issues/6851), [#7287](https://github.com/decaporg/decap-cms/issues/7287), [#7522](https://github.com/decaporg/decap-cms/issues/7522)
|
|
1966
|
+
|
|
1967
|
+
[^251]: Netlify/Decap CMS [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#7445](https://github.com/decaporg/decap-cms/issues/7445)
|
|
1968
|
+
|
|
1969
|
+
[^252]: Netlify/Decap CMS [#6629](https://github.com/decaporg/decap-cms/issues/6629)
|