@sveltia/cms 0.86.2 → 0.87.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
@@ -57,6 +57,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
57
57
  - [Updates](#updates)
58
58
  - [Tips \& tricks](#tips--tricks)
59
59
  - [Moving your site from Netlify to another hosting service](#moving-your-site-from-netlify-to-another-hosting-service)
60
+ - [Enabling autocomplete and validation for the configuration file](#enabling-autocomplete-and-validation-for-the-configuration-file)
60
61
  - [Providing a JSON configuration file](#providing-a-json-configuration-file)
61
62
  - [Providing multiple configuration files](#providing-multiple-configuration-files)
62
63
  - [Working around an authentication error](#working-around-an-authentication-error)
@@ -124,7 +125,7 @@ While Sveltia CMS was created to replace legacy Netlify CMS instances, it can al
124
125
 
125
126
  ## Development status
126
127
 
127
- Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in Q4 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
128
+ Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in late 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
128
129
 
129
130
  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 a complicated system involving various kinds of activities that require considerable effort:
130
131
 
@@ -132,7 +133,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
132
133
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
133
134
  - So far, 230+ issues, or 470+ if including duplicates, have been effectively solved in Sveltia CMS (Yes, you read it right)
134
135
  - Target:
135
- - 200 issues, or 400 if including duplicates, by GA — We did it! 🎉
136
+ - 250 issues, or 500 if including duplicates, by GA — Almost there!
136
137
  - 400 issues, or 800 if including duplicates, in the future 💪
137
138
  - or every single issue that’s relevant, fixable, and worth dealing with 🔥
138
139
  - 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)
@@ -231,9 +232,10 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
231
232
 
232
233
  ### Better configuration
233
234
 
235
+ - We provide [our own JSON schema](#enabling-autocomplete-and-validation-for-the-configuration-file) for the YAML configuration file, which enables autocomplete and validation in IDEs such as VS Code.[^253]
234
236
  - Sveltia CMS supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
235
237
  - Also supports [multiple configuration files](#providing-multiple-configuration-files) to allow developers to modularize the configuration.[^197]
236
- - Improved TypeScript support: We try to keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193][^227] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
238
+ - Improved TypeScript support: We keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193][^227] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
237
239
 
238
240
  ### Better backend support
239
241
 
@@ -597,7 +599,7 @@ However, 100% feature parity is not planned, and some features are still missing
597
599
 
598
600
  ### Current limitations
599
601
 
600
- These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release due Q4 2025. Check the [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
602
+ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release due late 2025. Check the [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
601
603
 
602
604
  - Comprehensive site config validation
603
605
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md) other than English and Japanese
@@ -610,11 +612,11 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
610
612
  - [Custom previews](https://decapcms.org/docs/customization/) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
611
613
  - [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
612
614
 
613
- 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.
615
+ Due to the complexity, we have decided to defer the following features to the 2.0 release due early 2026. Netlify/Decap CMS has a number of open issues with these collaboration and beta features — we want to implement them the right way.
614
616
 
615
- - [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/) & [Deploy Preview Links](https://decapcms.org/docs/deploy-preview-links/)
616
- - [Open Authoring](https://decapcms.org/docs/open-authoring/)
617
- - [Nested Collections](https://decapcms.org/docs/collection-nested/) (beta)
617
+ - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/) with [deploy preview links](https://decapcms.org/docs/deploy-preview-links/)
618
+ - [Open authoring](https://decapcms.org/docs/open-authoring/)
619
+ - [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
618
620
 
619
621
  Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?type=bug). Bear in mind that undocumented behaviour can easily be overlooked.
620
622
 
@@ -743,6 +745,22 @@ If you’ve chosen to install with npm, updating the package is your responsibil
743
745
 
744
746
  You can host your Sveltia CMS-managed site anywhere, such as [Cloudflare Pages](https://pages.cloudflare.com/) or [GitHub Pages](https://pages.github.com/). But moving away from Netlify means you can no longer sign in with GitHub or GitLab via Netlify. Instead, you can use [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth), which can be easily deployed to Cloudflare Workers, or [any other 3rd party client](https://decapcms.org/docs/external-oauth-clients/) made for Netlify/Decap CMS.
745
747
 
748
+ ### Enabling autocomplete and validation for the configuration file
749
+
750
+ Sveltia CMS provides an up-to-date [JSON schema](https://json-schema.org/) for the site configuration file, so you can get autocomplete and validation in your favourite code editor while editing `config.yml`. The JSON schema for Netlify/Decap CMS is incomplete and outdated, so it’s not recommended to use it for Sveltia CMS.
751
+
752
+ If you use [Visual Studio Code](https://code.visualstudio.com/), you can enable it for the YAML configuration file by installing the [YAML extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) and adding the following to the `.vscode/settings.json` file in your project:
753
+
754
+ ```json
755
+ {
756
+ "yaml.schemas": {
757
+ "https://unpkg.com/@sveltia/cms/schema/sveltia-cms.json": ["/static/admin/config.yml"]
758
+ }
759
+ }
760
+ ```
761
+
762
+ Change the path to your configuration file if it’s not `/static/admin/config.yml`.
763
+
746
764
  ### Providing a JSON configuration file
747
765
 
748
766
  Sveltia CMS supports a configuration file written in the JSON format in addition to the standard YAML format. This allows developers to programmatically generate the CMS configuration to enable bulk or complex collections. To do this, simply add a `<link>` tag to your HTML, just like a [custom YAML config link](https://decapcms.org/docs/configuration-options/#configuration-file), but with the type `application/json`:
@@ -831,7 +849,7 @@ fields:
831
849
 
832
850
  ### Adding dividers to the collection list
833
851
 
834
- Sveltia CMS allows developers to add dividers to the collection list to distinguish different types of collections. To do this, insert a fake collection with the `divider: true` option along with a random, unique `name`. In VS Code, you may get a validation error if `config.yml` is treated as a “Netlify YAML config” file. You can work around this by adding an empty `files` list as well:
852
+ Sveltia CMS allows developers to add dividers to the collection list to distinguish different types of collections. To do this, insert a fake collection with the `divider: true` option along with a random, unique `name`. In VS Code, you may get a validation error if `config.yml` is treated as a “Netlify YAML config” file. You can work around this by [using our JSON schema](#enabling-autocomplete-and-validation-for-the-configuration-file) or adding an empty `files` list:
835
853
 
836
854
  ```yaml
837
855
  collections:
@@ -892,17 +910,33 @@ collections:
892
910
  label: Blog posts
893
911
  folder: content/posts
894
912
  fields: # Fields for regular entries
895
- ...
913
+ - { name: title, label: Title }
914
+ - { name: date, label: Published Date, widget: datetime }
915
+ - { name: description, label: Description }
916
+ - { name: body, label: Body, widget: markdown }
896
917
  index_file:
897
- # All of the following options are optional. However, if you want to omit them all,
898
- # use `index_file: true` or `index_file: {}`. Otherwise the feature won’t work
899
- name: _index # File name without a locale or extension. Default: _index
900
- label: Index File # Human-readable file label. Default: Index File
901
- icon: home # Material Symbols icon name. Default: home
902
- fields: # Fields for the index file. If omitted, regular entry fields are used
903
- ...
904
- editor:
905
- preview: false # Hide the preview pane if needed. Default: true
918
+ fields: # Fields for the index file
919
+ - { name: title, label: Title }
920
+ - { name: body, label: Body, widget: markdown }
921
+ ```
922
+
923
+ Here is an example of full customization. All options are optional.
924
+
925
+ ```yaml
926
+ index_file:
927
+ name: _index # File name without a locale or extension. Default: _index
928
+ label: Index File # Human-readable file label. Default: Index File
929
+ icon: home # Material Symbols icon name. Default: home
930
+ fields: # Fields for the index file. If omitted, regular entry fields are used
931
+ ...
932
+ editor:
933
+ preview: false # Hide the preview pane if needed. Default: true
934
+ ```
935
+
936
+ If the regular entry fields and index file fields are identical and you don’t need any options, simply write:
937
+
938
+ ```yaml
939
+ index_file: true
906
940
  ```
907
941
 
908
942
  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`.
@@ -1406,7 +1440,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
1406
1440
 
1407
1441
  ### v1.0
1408
1442
 
1409
- Due Q4 2025
1443
+ Due late 2025
1410
1444
 
1411
1445
  - Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
1412
1446
  - Tackling some more Netlify/Decap CMS issues:
@@ -1428,10 +1462,12 @@ Due Q4 2025
1428
1462
 
1429
1463
  ### v2.0
1430
1464
 
1465
+ Due early 2026
1466
+
1431
1467
  - Implementing [a few deferred Netlify/Decap CMS features](#current-limitations):
1432
- - [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/) & [Deploy Preview Links](https://decapcms.org/docs/deploy-preview-links/)
1433
- - [Open Authoring](https://decapcms.org/docs/open-authoring/)
1434
- - [Nested Collections](https://decapcms.org/docs/collection-nested/) (beta)
1468
+ - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/) with [deploy preview links](https://decapcms.org/docs/deploy-preview-links/)
1469
+ - [Open authoring](https://decapcms.org/docs/open-authoring/)
1470
+ - [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
1435
1471
  - End-user documentation
1436
1472
 
1437
1473
  ### Future
@@ -1443,7 +1479,6 @@ Due Q4 2025
1443
1479
  - Search enhancements
1444
1480
  - Advanced digital asset management (DAM) features, including image editing and tagging[^114]
1445
1481
  - Marketplace for custom widgets, etc.
1446
- - VS Code extension for `config.yml` schema validation
1447
1482
  - Official starter templates for the most popular frameworks, including SvelteKit and Next.js
1448
1483
  - Contributor documentation
1449
1484
  - and so much more!
@@ -1970,3 +2005,5 @@ This software is provided “as is” without any express or implied warranty. W
1970
2005
  [^251]: Netlify/Decap CMS [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#7445](https://github.com/decaporg/decap-cms/issues/7445)
1971
2006
 
1972
2007
  [^252]: Netlify/Decap CMS [#6629](https://github.com/decaporg/decap-cms/issues/6629)
2008
+
2009
+ [^253]: Netlify/Decap CMS [#6635](https://github.com/decaporg/decap-cms/issues/6635), [#7006](https://github.com/decaporg/decap-cms/issues/7006), [#7311](https://github.com/decaporg/decap-cms/issues/7311)