@sveltia/cms 0.79.3 → 0.80.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,10 +130,10 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
130
130
  - Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
131
131
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
132
132
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
133
- - So far, 215+ issues, or 430+ if including duplicates, have been effectively solved in Sveltia CMS
133
+ - So far, 220+ issues, or 440+ if including duplicates, have been effectively solved in Sveltia CMS
134
134
  - Target:
135
135
  - 200 issues, or 400 if including duplicates, by GA — We did it! 🎉
136
- - 350 issues, or 700 if including duplicates, in the future 💪
136
+ - 400 issues, or 800 if including duplicates, in the future 💪
137
137
  - or every single issue that’s relevant, fixable, and worth dealing with 🔥
138
138
  - 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)
139
139
  - Many of the bugs, including the annoying crashes, have already been solved
@@ -144,12 +144,14 @@ 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
- ![215 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250530)<br>
147
+ ![220 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250602)<br>
148
148
 
149
149
  ## Differentiators
150
150
 
151
151
  Netlify/Decap CMS users will definitely be pleased and surprised by the numerous improvements we have made, from the small to the large. Here’s what makes Sveltia CMS different. Look how serious we are!
152
152
 
153
+ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap CMS. Some of the listed bugs may have been fixed in the current version of Decap CMS.
154
+
153
155
  ### Better UX
154
156
 
155
157
  - Created and actively maintained by an [experienced UX engineer](https://github.com/kyoshino) who loves code, design, marketing and problem solving. You can expect constant improvements to the user experience (UX) and developer experience (DX) across the platform.
@@ -199,7 +201,7 @@ Netlify/Decap CMS users will definitely be pleased and surprised by the numerous
199
201
  ### Better accessibility
200
202
 
201
203
  - Improved keyboard handling lets you efficiently navigate through UI elements using the Tab, Space, Enter and arrow keys.[^17][^67]
202
- - Comprehensive [WAI-ARIA](https://w3c.github.io/aria/) support enables users who rely on screen readers such as NVDA and VoiceOver. An announcement is read out when you navigate to another page.
204
+ - Comprehensive [WAI-ARIA](https://w3c.github.io/aria/) support enables users who rely on screen readers such as NVDA and VoiceOver.[^228] An announcement is read out when you navigate to another page.
203
205
  - The rich text editor is built with [Lexical](https://lexical.dev/), which is said to follow accessibility best practices. The [Dragon NaturallySpeaking support](https://lexical.dev/docs/packages/lexical-dragon) is enabled.
204
206
  - Ensures sufficient contrast between the foreground text and background colours.
205
207
  - Enabled and disabled buttons can be clearly distinguished.[^105]
@@ -241,8 +243,9 @@ Netlify/Decap CMS users will definitely be pleased and surprised by the numerous
241
243
  - Service status checks are performed frequently and an incident notification is displayed prominently.
242
244
  - Users can quickly open the source file of an entry or asset in your repository using View on GitHub (or GitLab or Gitea) under the 3-dot menu when Developer Mode is enabled.
243
245
  - We provide [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth) for GitHub and GitLab.
246
+ - The GitLab backend supports Git LFS ([documentation](https://docs.gitlab.com/topics/git/lfs/)).[^231]
244
247
  - Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
245
- - Our Gitea backend is high-performing because it retrieves multiple entries at once. [Git LFS](https://git-lfs.com/) is supported out of the box if your Gitea instance has enabled [built-in LFS support](https://docs.gitea.com/administration/git-lfs-setup). Additionally, the backend won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in file paths.[^222]
248
+ - Our Gitea backend is high-performing because it retrieves multiple entries at once. It also supports Git LFS ([documentation](https://docs.gitea.com/administration/git-lfs-setup)). Additionally, the backend won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in file paths.[^222]
246
249
  - The OAuth access token is automatically renewed when using the GitLab or Gitea backend with PKCE authorization.[^224] Token renewal for other backend configurations will be implemented later.
247
250
  - Features the all-new [local repository workflow](#working-with-a-local-git-repository) that boosts DX. See the [productivity section](#better-productivity) above.
248
251
  - Developers can select the local and remote backends while working on a local server.
@@ -256,7 +259,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
256
259
  - The [i18n limitations](https://decapcms.org/docs/i18n/#limitations) in Netlify/Decap CMS do not apply to Sveltia CMS:
257
260
  - File collections support multiple files/folders i18n structures.[^87] To enable it, simply use the `{{locale}}` template tag in the `file` path option, e.g. `content/pages/about.{{locale}}.json` or `content/pages/{{locale}}/about.json`. For backward compatibility, the global `structure` option only applies to folder collections, and the default i18n structure for file collections remains single file.
258
261
  - The List and Object widgets support the `i18n: duplicate` field configuration so that changes made with these widgets are duplicated between locales.[^7][^68] The `i18n` configuration can normally be used for the subfields.
259
- - The new `multiple_folders_i18n_root` i18n structure allows to have locale folders below the project root: `<locale>/<folder>/<slug>.<extension>`. [^182]
262
+ - The new `multiple_folders_i18n_root` i18n structure allows to have locale folders below the project root: `<locale>/<folder>/<slug>.<extension>`.[^182]
260
263
  - The new `omit_default_locale_from_filename` i18n option allows to exclude the default locale from filenames. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/). ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/394))
261
264
  - The `required` field option accepts an array of locale codes in addition to a boolean, making the field required for a subset of locales when i18n support is enabled. For example, if only English is required, you could write `required: [en]`. An empty array is equivalent to `required: false`.
262
265
  - [Entry-relative media folders](https://decapcms.org/docs/collection-folder/#media-and-public-folder) can be used in conjunction with the `multiple_folders` i18n structure.[^21]
@@ -329,7 +332,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
329
332
  - Sorting entries by a DateTime field works as expected.[^110]
330
333
  - Entry grouping and sorting can work together. For example, it’s possible to group by year and then sort by year if configured properly.
331
334
  - [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]
332
- - 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.
335
+ - 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 and Docusaurus setup.[^230]
333
336
  - 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]
334
337
  - A single file can be used for more than one item in a file collection.[^127]
335
338
  - User interface
@@ -424,12 +427,12 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
424
427
  - 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.
425
428
  - A collapsed List field will not display a programmatic summary like `List [ Map { "key": "value" } ]` if the `summary` option is not set.[^183]
426
429
  - Markdown
427
- - 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, including fatal application crashes,[^71][^72][^73][^111] lost formatting when pasting,[^124] an extra line break when pasting,[^169] backslash injections,[^53] dropdown visibility,[^70] and text input difficulties with IME.[^54]
430
+ - 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, 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]
428
431
  - 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.
429
432
  - A Markdown field plays well with a variable type List field.[^202]
430
433
  - A combination of bold and italic doesn’t create a confusing 3-asterisk markup.[^160] In our editor, bold is 2 asterisks and italic is an underscore.
431
434
  - The built-in `image` component can be inserted with a single click.
432
- - The built-in `image` component allows users to add, edit or remove a link on an image.[^171]
435
+ - The built-in `image` component allows users to add, edit or remove a link on an image.[^171] To disable this feature, add `linked_images: false` to the Markdown field options.
433
436
  - It’s possible to paste/drop local/remote images into the rich text editor to insert them as expected. Note: Pasting multiple images is [not supported in Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=864052). In Netlify/Decap CMS, pasting an image may cause the application to crash.
434
437
  - The built-in `code-block` component is implemented just like a blockquote. You can simply convert a normal paragraph into a code block instead of adding a component.
435
438
  - Code in a code block in the editor can be copied as expected.[^165]
@@ -1395,7 +1398,7 @@ This software is provided “as is” without any express or implied warranty. W
1395
1398
 
1396
1399
  [^1]: Netlify/Decap CMS [#2557](https://github.com/decaporg/decap-cms/issues/2557)
1397
1400
 
1398
- [^2]: Netlify/Decap CMS [#2039](https://github.com/decaporg/decap-cms/issues/2039), [#3267](https://github.com/decaporg/decap-cms/issues/3267)
1401
+ [^2]: Netlify/Decap CMS [#2039](https://github.com/decaporg/decap-cms/issues/2039), [#3267](https://github.com/decaporg/decap-cms/issues/3267), [#7084](https://github.com/decaporg/decap-cms/discussions/7084)
1399
1402
 
1400
1403
  [^3]: Netlify/Decap CMS [#1040](https://github.com/decaporg/decap-cms/issues/1040)
1401
1404
 
@@ -1427,7 +1430,7 @@ This software is provided “as is” without any express or implied warranty. W
1427
1430
 
1428
1431
  [^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333), [#4216](https://github.com/decaporg/decap-cms/issues/4216)
1429
1432
 
1430
- [^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441), [#1277](https://github.com/decaporg/decap-cms/issues/1277), [#1339](https://github.com/decaporg/decap-cms/issues/1339), [#2500](https://github.com/decaporg/decap-cms/issues/2500), [#2833](https://github.com/decaporg/decap-cms/issues/2833), [#2984](https://github.com/decaporg/decap-cms/issues/2984), [#3852](https://github.com/decaporg/decap-cms/issues/3852)
1433
+ [^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441), [#1277](https://github.com/decaporg/decap-cms/issues/1277), [#1339](https://github.com/decaporg/decap-cms/issues/1339), [#2500](https://github.com/decaporg/decap-cms/issues/2500), [#2833](https://github.com/decaporg/decap-cms/issues/2833), [#2984](https://github.com/decaporg/decap-cms/issues/2984), [#3852](https://github.com/decaporg/decap-cms/issues/3852), [#7083](https://github.com/decaporg/decap-cms/discussions/7083)
1431
1434
 
1432
1435
  [^19]: Netlify/Decap CMS [#5910](https://github.com/decaporg/decap-cms/issues/5910)
1433
1436
 
@@ -1561,7 +1564,7 @@ This software is provided “as is” without any express or implied warranty. W
1561
1564
 
1562
1565
  [^84]: Netlify/Decap CMS [#7142](https://github.com/decaporg/decap-cms/issues/7142), [#7276](https://github.com/decaporg/decap-cms/issues/7276)
1563
1566
 
1564
- [^85]: Netlify/Decap CMS [#5055](https://github.com/decaporg/decap-cms/issues/5055), [#5470](https://github.com/decaporg/decap-cms/issues/5470), [#6989](https://github.com/decaporg/decap-cms/issues/6989)
1567
+ [^85]: Netlify/Decap CMS [#5055](https://github.com/decaporg/decap-cms/issues/5055), [#5470](https://github.com/decaporg/decap-cms/issues/5470), [#6956](https://github.com/decaporg/decap-cms/discussions/6956), [#6989](https://github.com/decaporg/decap-cms/issues/6989)
1565
1568
 
1566
1569
  [^86]: Netlify/Decap CMS [#1609](https://github.com/decaporg/decap-cms/issues/1609), [#3557](https://github.com/decaporg/decap-cms/issues/3557), [#5253](https://github.com/decaporg/decap-cms/issues/5253), [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
1567
1570
 
@@ -1631,7 +1634,7 @@ This software is provided “as is” without any express or implied warranty. W
1631
1634
 
1632
1635
  [^119]: Netlify/Decap CMS [#5640](https://github.com/decaporg/decap-cms/issues/5640), [#6444](https://github.com/decaporg/decap-cms/issues/6444)
1633
1636
 
1634
- [^120]: Netlify/Decap CMS [#2727](https://github.com/decaporg/decap-cms/issues/2727), [#4884](https://github.com/decaporg/decap-cms/issues/4884)
1637
+ [^120]: Netlify/Decap CMS [#2727](https://github.com/decaporg/decap-cms/issues/2727), [#4884](https://github.com/decaporg/decap-cms/issues/4884), [#6908](https://github.com/decaporg/decap-cms/discussions/6908)
1635
1638
 
1636
1639
  [^121]: Netlify/Decap CMS [#7262](https://github.com/decaporg/decap-cms/issues/7262)
1637
1640
 
@@ -1761,7 +1764,7 @@ This software is provided “as is” without any express or implied warranty. W
1761
1764
 
1762
1765
  [^184]: Netlify/Decap CMS [#377](https://github.com/decaporg/decap-cms/issues/377)
1763
1766
 
1764
- [^185]: Netlify/Decap CMS [#6203](https://github.com/decaporg/decap-cms/issues/6203), [#7417](https://github.com/decaporg/decap-cms/issues/7417)
1767
+ [^185]: Netlify/Decap CMS [#6203](https://github.com/decaporg/decap-cms/issues/6203), [#7417](https://github.com/decaporg/decap-cms/issues/7417), [#7451](https://github.com/decaporg/decap-cms/pull/7451)
1765
1768
 
1766
1769
  [^186]: Netlify/Decap CMS [#2368](https://github.com/decaporg/decap-cms/issues/2368), [#3454](https://github.com/decaporg/decap-cms/issues/3454), [#3585](https://github.com/decaporg/decap-cms/issues/3585), [#3651](https://github.com/decaporg/decap-cms/issues/3651), [#3885](https://github.com/decaporg/decap-cms/issues/3885), [#3962](https://github.com/decaporg/decap-cms/issues/3962), [#4037](https://github.com/decaporg/decap-cms/issues/4037), [#4143](https://github.com/decaporg/decap-cms/issues/4143), [#6585](https://github.com/decaporg/decap-cms/issues/6585), [#6664](https://github.com/decaporg/decap-cms/issues/6664), [#6665](https://github.com/decaporg/decap-cms/issues/6665), [#6739](https://github.com/decaporg/decap-cms/issues/6739), [#7243](https://github.com/decaporg/decap-cms/issues/7243), [#7379](https://github.com/decaporg/decap-cms/issues/7379), [#7469](https://github.com/decaporg/decap-cms/issues/7469)
1767
1770
 
@@ -1785,7 +1788,7 @@ This software is provided “as is” without any express or implied warranty. W
1785
1788
 
1786
1789
  [^196]: Netlify/Decap CMS [#3057](https://github.com/decaporg/decap-cms/issues/3057), [#3260](https://github.com/decaporg/decap-cms/issues/3260) — We use Svelte though.
1787
1790
 
1788
- [^197]: Netlify/Decap CMS [#3457](https://github.com/decaporg/decap-cms/issues/3457), [#3624](https://github.com/decaporg/decap-cms/issues/3624)
1791
+ [^197]: Netlify/Decap CMS [#3457](https://github.com/decaporg/decap-cms/issues/3457), [#3624](https://github.com/decaporg/decap-cms/issues/3624), [#6713](https://github.com/decaporg/decap-cms/discussions/6713)
1789
1792
 
1790
1793
  [^198]: Netlify/Decap CMS [#7442](https://github.com/decaporg/decap-cms/issues/7442)
1791
1794
 
@@ -1845,4 +1848,12 @@ This software is provided “as is” without any express or implied warranty. W
1845
1848
 
1846
1849
  [^226]: Netlify/Decap CMS [#7031](https://github.com/decaporg/decap-cms/pull/7031)
1847
1850
 
1848
- [^227]: Netlify/Decap CMS [#7031](https://github.com/decaporg/decap-cms/pull/6794)
1851
+ [^227]: Netlify/Decap CMS [#6794](https://github.com/decaporg/decap-cms/pull/6794)
1852
+
1853
+ [^228]: Netlify/Decap CMS [#6762](https://github.com/decaporg/decap-cms/pull/6762)
1854
+
1855
+ [^229]: Netlify/Decap CMS [#6180](https://github.com/decaporg/decap-cms/issues/6180)
1856
+
1857
+ [^230]: Netlify/Decap CMS [#7486](https://github.com/decaporg/decap-cms/discussions/7486)
1858
+
1859
+ [^231]: Netlify/Decap CMS [#3704](https://github.com/decaporg/decap-cms/issues/3704)