@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 +61 -24
- package/dist/sveltia-cms.js +177 -177
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +184 -184
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
-
-
|
|
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
|
|
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
|
|
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
|
|
616
|
-
- [Open
|
|
617
|
-
- [Nested
|
|
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
|
|
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
|
-
#
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
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
|
|
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
|
|
1433
|
-
- [Open
|
|
1434
|
-
- [Nested
|
|
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)
|