@sveltia/cms 0.71.0 → 0.71.2
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 -21
- package/dist/sveltia-cms.js +188 -182
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +175 -169
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/types/public.d.ts +2 -2
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
|
|
|
65
65
|
- [Adding dividers to the collection list](#adding-dividers-to-the-collection-list)
|
|
66
66
|
- [Using a custom media folder for a collection](#using-a-custom-media-folder-for-a-collection)
|
|
67
67
|
- [Specifying default sort field and direction](#specifying-default-sort-field-and-direction)
|
|
68
|
-
- [
|
|
68
|
+
- [Including Hugo’s special index file in a folder collection](#including-hugos-special-index-file-in-a-folder-collection)
|
|
69
69
|
- [Using keyboard shortcuts](#using-keyboard-shortcuts)
|
|
70
70
|
- [Using DeepL to translate entry fields](#using-deepl-to-translate-entry-fields)
|
|
71
71
|
- [Localizing entry slugs](#localizing-entry-slugs)
|
|
@@ -311,7 +311,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
311
311
|
- [Default sort field and direction](#specifying-default-entry-sort-field-and-direction) can be specified.[^172]
|
|
312
312
|
- Sorting entries by a DateTime field works as expected.[^110]
|
|
313
313
|
- Entry grouping and sorting can work together. For example, it’s possible to group by year and then sort by year if configured properly.
|
|
314
|
-
- [Index file inclusion](#
|
|
314
|
+
- [Index file inclusion](#including-hugos-special-index-file-in-a-folder-collection) allows users to edit Hugo’s special `_index.md` file, including localized ones like `_index.en.md`, within a folder collection.[^201] If the `index_file` option is not defined, these files will be hidden in a folder collection unless the `path` option is configured to end with `_index` and the `extension` is `md`.[^120]
|
|
315
315
|
- A console error won’t be thrown when a collection doesn’t have the `title` field.[^152] In that case, an entry summary will be generated from a header in the Markdown `body` field, if exists, or from the entry slug, so the summary will never be an empty.[^161] This supports a typical VitePress setup.
|
|
316
316
|
- If there was an error while parsing an entry file, such as duplicate front matter keys, it won’t show up as a blank entry, and a clear error message will be displayed in the browser console.[^121]
|
|
317
317
|
- A single file can be used for more than one item in a file collection.[^127]
|
|
@@ -359,8 +359,8 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
359
359
|
- JSON/TOML/YAML data is saved with a new line at the end of the file to prevent unnecessary changes being made to the file.[^11]
|
|
360
360
|
- Leading/trailing whitespaces in text-type field values are automatically removed when you save an entry.[^37]
|
|
361
361
|
- YAML string folding (maximum line width) is disabled, mainly for framework compatibility.[^119]
|
|
362
|
+
- A standard time is formatted as `HH:mm:ss` instead of `HH:mm` for framework compatibility.
|
|
362
363
|
- DateTime field values in ISO 8601 format are stored in native date/time format instead of quoted strings when the data output is TOML.[^147]
|
|
363
|
-
- In a JSON/YAML output, a standard time is formatted as `HH:mm:ss` instead of `HH:mm` for framework compatibility.
|
|
364
364
|
- Provides JSON/YAML format options as part of the [data output options](#controlling-data-output), including indentation and quotes.[^155][^9]
|
|
365
365
|
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double` in the new YAML format options.
|
|
366
366
|
|
|
@@ -522,13 +522,13 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
522
522
|
- **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/).
|
|
523
523
|
- 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.
|
|
524
524
|
- The deprecated Netlify Large Media service: Consider other storage providers.
|
|
525
|
-
- Deprecated camel case configuration options: Use snake case instead, according to the current
|
|
526
|
-
- Collection: `sortableFields`
|
|
527
|
-
- DateTime widget: `dateFormat`, `timeFormat`, `pickerUtc`
|
|
528
|
-
- Markdown widget: `editorComponents`
|
|
529
|
-
- Number widget: `valueType`
|
|
530
|
-
- Relation widget: `displayFields`, `searchFields`, `valueField`
|
|
531
|
-
- Note: Some other camel case options are not deprecated.
|
|
525
|
+
- Deprecated camel case configuration options: Use snake case instead, according to the current Decap CMS document.
|
|
526
|
+
- [Collection](https://decapcms.org/docs/configuration-options/#sortable_fields): `sortableFields`
|
|
527
|
+
- [DateTime](https://decapcms.org/docs/widgets/#datetime) widget: `dateFormat`, `timeFormat`, `pickerUtc`
|
|
528
|
+
- [Markdown](https://decapcms.org/docs/widgets/#markdown) widget: `editorComponents`
|
|
529
|
+
- [Number](https://decapcms.org/docs/widgets/#number) widget: `valueType`
|
|
530
|
+
- [Relation](https://decapcms.org/docs/widgets/#relation) widget: `displayFields`, `searchFields`, `valueField`
|
|
531
|
+
- Note: Some other camel case options, including Color widget options, are not deprecated.
|
|
532
532
|
- The deprecated Date widget: It has already been removed from Decap CMS 3.0. Use the DateTime widget with the [`time_format: false` option](#changing-the-input-type-of-a-datetime-field) instead.
|
|
533
533
|
- Some date/time format tokens: [Decap CMS 3.1.1](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.1.1) replaced Moment.js with Day.js, and Sveltia CMS will follow suit soon. Since [Day.js tokens](https://day.js.org/docs/en/display/format) are not 100% compatible with [Moment.js tokens](https://momentjs.com/docs/#/displaying/format/), this could be a breaking change in certain cases.
|
|
534
534
|
- The theme and keymap inline settings of the Code widget, along with support for some languages: We use the [Prism](https://prismjs.com/)-powered code block functionality in Lexical instead of [CodeMirror](https://codemirror.net/). Prism may be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575) in the future.
|
|
@@ -563,7 +563,7 @@ Due to the complexity, the following features will be added after the 1.0 releas
|
|
|
563
563
|
- [Open Authoring](https://decapcms.org/docs/open-authoring/)
|
|
564
564
|
- [Nested Collections](https://decapcms.org/docs/collection-nested/) (beta)
|
|
565
565
|
|
|
566
|
-
Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?
|
|
566
|
+
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.
|
|
567
567
|
|
|
568
568
|
### Compatibility with Static CMS
|
|
569
569
|
|
|
@@ -592,6 +592,8 @@ While Sveltia CMS is built with Svelte, the application is **framework-agnostic*
|
|
|
592
592
|
|
|
593
593
|
You can use the CMS with any framework or static site generator (SSG) that can load static files during the build process, including but not limited to Astro, Eleventy, Hugo, Jekyll, Next.js, SvelteKit and VitePress.
|
|
594
594
|
|
|
595
|
+
We have added support for features required by certain frameworks, such as [index file inclusion](#including-hugos-special-index-file-in-a-folder-collection) and [slug localization](#localizing-entry-slugs) for Hugo, as well as [some enhancements](https://github.com/sveltia/sveltia-cms/issues/230) for VitePress. [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?type=feature) if your framework has specific needs.
|
|
596
|
+
|
|
595
597
|
### Browser support
|
|
596
598
|
|
|
597
599
|
Sveitia CMS works with all modern browsers, but there are a few limitations because it utilizes some new web technologies:
|
|
@@ -765,7 +767,7 @@ fields:
|
|
|
765
767
|
label: Tags
|
|
766
768
|
icon: sell # or any icon name
|
|
767
769
|
create: true
|
|
768
|
-
folder:
|
|
770
|
+
folder: content/tags
|
|
769
771
|
```
|
|
770
772
|
|
|
771
773
|
### Adding dividers to the collection list
|
|
@@ -796,7 +798,7 @@ public_folder: /media
|
|
|
796
798
|
collections:
|
|
797
799
|
- name: products
|
|
798
800
|
label: Products
|
|
799
|
-
folder:
|
|
801
|
+
folder: content/products
|
|
800
802
|
media_folder: /static/media/products # make sure to append a slash
|
|
801
803
|
public_folder: /media/products
|
|
802
804
|
```
|
|
@@ -821,7 +823,7 @@ For backward compatibility with [Netlify/Decap CMS](https://decapcms.org/docs/co
|
|
|
821
823
|
|
|
822
824
|
For backward compatibility with [Static CMS](https://staticjscms.netlify.app/docs/collection-overview#sortable-fields), the `direction` option accepts title case values: `Ascending` and `Descending`. However, `None` is not supported and has the same effect as `ascending`.
|
|
823
825
|
|
|
824
|
-
###
|
|
826
|
+
### Including Hugo’s special index file in a folder collection
|
|
825
827
|
|
|
826
828
|
Before this feature, Hugo’s [special `_index.md` file](https://gohugo.io/content-management/organization/#index-pages-_indexmd) was hidden in a folder collection, and you had to create a file collection to manage the file, since it usually comes with a different set of fields than regular entry fields. Now, with the new `index_file` option, you can include the index file inside a folder collection, above regular entries, for easier editing:
|
|
827
829
|
|
|
@@ -829,15 +831,15 @@ Before this feature, Hugo’s [special `_index.md` file](https://gohugo.io/conte
|
|
|
829
831
|
collections:
|
|
830
832
|
- name: posts
|
|
831
833
|
label: Blog posts
|
|
832
|
-
folder:
|
|
834
|
+
folder: content/posts
|
|
833
835
|
fields: # Fields for regular entries
|
|
834
836
|
...
|
|
835
837
|
index_file:
|
|
836
838
|
name: _index # File name, required
|
|
837
|
-
fields: # Fields for the index file. If omitted, regular fields are used
|
|
839
|
+
fields: # Fields for the index file. If omitted, regular entry fields are used
|
|
838
840
|
...
|
|
839
841
|
editor:
|
|
840
|
-
preview: false # Hide preview, optional
|
|
842
|
+
preview: false # Hide the preview pane, optional
|
|
841
843
|
```
|
|
842
844
|
|
|
843
845
|
### Using keyboard shortcuts
|
|
@@ -888,7 +890,7 @@ collections:
|
|
|
888
890
|
- name: posts
|
|
889
891
|
label: Blog posts
|
|
890
892
|
create: true
|
|
891
|
-
folder:
|
|
893
|
+
folder: content/posts
|
|
892
894
|
slug: '{{title | localize}}' # This does the trick
|
|
893
895
|
format: yaml
|
|
894
896
|
i18n: true
|
|
@@ -901,12 +903,12 @@ collections:
|
|
|
901
903
|
|
|
902
904
|
With this configuration, an entry is saved with localized filenames, while the default locale’s slug is stored in each file as an extra `translationKey` property, which is used in [Hugo’s multilingual support](https://gohugo.io/content-management/multilingual/#bypassing-default-linking). Sveltia CMS and Hugo read this property to link localized files.
|
|
903
905
|
|
|
904
|
-
- `
|
|
906
|
+
- `content/posts/en/my-trip-to-new-york.yaml`
|
|
905
907
|
```yaml
|
|
906
908
|
translationKey: my-trip-to-new-york
|
|
907
909
|
title: My trip to New York
|
|
908
910
|
```
|
|
909
|
-
- `
|
|
911
|
+
- `content/posts/fr/mon-voyage-a-new-york.yaml`
|
|
910
912
|
```yaml
|
|
911
913
|
translationKey: my-trip-to-new-york
|
|
912
914
|
title: Mon voyage à New York
|
|
@@ -1531,7 +1533,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1531
1533
|
|
|
1532
1534
|
[^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) — There are many other crashes we haven’t listed here.
|
|
1533
1535
|
|
|
1534
|
-
[^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) — 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).
|
|
1536
|
+
[^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) — 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).
|
|
1535
1537
|
|
|
1536
1538
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
1537
1539
|
|