@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 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, 225+ issues, or 465+ if including duplicates, have been effectively solved in Sveltia CMS (Yes, you read it right)
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
- ![225 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250612)<br>
147
+ ![230 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250629)<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 or any other reason.[^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.
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 CMS except Map. We have made significant improvements to these widgets while adding some new ones. The remaining Map widget will be added soon, followed by support for [custom widgets](https://decapcms.org/docs/custom-widgets/).
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 the collaboration and beta features — we want to implement them the right way.
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 multiple users to edit content, simply invite people to your GitHub repository with the write role assigned.
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
- # Conventional file collection
907
- - name: pages
908
- label: Pages
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: about
923
+ - name: settings
915
924
  label: Site Settings
916
925
  file: content/settings.yaml
917
926
  ...
918
927
 
919
- # Singleton collection
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: about
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 asset library](https://github.com/sveltia/sveltia-cms/issues/420)[^240] (#5 top-voted feature of Netlify/Decap CMS)
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 file selection[^247]
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), [#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), [#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).
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)