@sveltia/cms 0.81.1 → 0.82.1

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
@@ -10,7 +10,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
10
10
 
11
11
  ![Stock photo integration: Pexels, Pixabay, Unsplash](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-3.webp?20250405)<br>
12
12
 
13
- ![Full-fledged Asset Library; first-class internationalization support; DeepL integration](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-4.webp?20250405)<br>
13
+ ![Full-fledged Asset Library; first-class internationalization support; translation API integration](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-4.webp?20250625)<br>
14
14
 
15
15
  ![Built-in image optimizer for WebP and SVG; mobile & tablet support](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-5.webp?20250409)<br>
16
16
 
@@ -68,7 +68,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
68
68
  - [Specifying default sort field and direction](#specifying-default-sort-field-and-direction)
69
69
  - [Including Hugo’s special index file in a folder collection](#including-hugos-special-index-file-in-a-folder-collection)
70
70
  - [Using keyboard shortcuts](#using-keyboard-shortcuts)
71
- - [Using DeepL to translate entry fields](#using-deepl-to-translate-entry-fields)
71
+ - [Translating entry fields with one click](#translating-entry-fields-with-one-click)
72
72
  - [Localizing entry slugs](#localizing-entry-slugs)
73
73
  - [Disabling non-default locale content](#disabling-non-default-locale-content)
74
74
  - [Using a random ID for an entry slug](#using-a-random-id-for-an-entry-slug)
@@ -130,7 +130,7 @@ 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, 225+ issues, or 455+ if including duplicates, have been effectively solved in Sveltia CMS
133
+ - So far, 225+ issues, or 460+ 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
136
  - 400 issues, or 800 if including duplicates, in the future 💪
@@ -193,7 +193,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
193
193
  - Click once (the Save button) instead of twice (Publish > Publish now) to save an entry. Or just hit the `Ctrl+S` (Windows/Linux) or `Command+S` (macOS) key to save your time.
194
194
  - The editor closes automatically when an entry is saved. This behaviour can be changed in the application settings.
195
195
  - Uploading files can be done with drag and drop.[^20]
196
- - Users can upload multiple files at once to the Asset Library.[^5]
196
+ - Users can upload multiple files at once to the Asset Library.
197
197
  - Users can delete multiple entries and assets at once.
198
198
  - Instant full-text search with results sorted by relevance helps you find entries faster.
199
199
  - Some [keyboard shortcuts](#using-keyboard-shortcuts) are available for faster editing.
@@ -274,7 +274,9 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
274
274
  - Users can easily switch between locales while editing by clicking a button instead of a dropdown list when there are less than 5 locales.
275
275
  - Language labels appear in human-readable display names instead of ISO 639 language codes because it’s not easy for everyone to recognize `DE` as German, `NL` as Dutch, `ZH` as Chinese, and so on.
276
276
  - Content editing
277
- - [Integrates DeepL](#using-deepl-to-translate-entry-fields) to allow translation of text fields from another locale with one click. More translation services will be added in the future.
277
+ - [Integrates a translation service](#translating-entry-fields-with-one-click) to allow translation of text fields from another locale with one click.
278
+ - Earlier versions of Sveltia CMS included DeepL integration, but it’s disabled for now [due to an API limitation](https://github.com/sveltia/sveltia-cms/issues/437).
279
+ - More translation services will be added in the future.
278
280
  - The Content Editor supports [RTL scripts](https://en.wikipedia.org/wiki/Right-to-left_script) such as Arabic, Hebrew and Persian.[^146]
279
281
  - It’s possible to [disable non-default locale content](#disabling-non-default-locale-content).[^15]
280
282
  - Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
@@ -408,6 +410,7 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
408
410
  - DateTime
409
411
  - A DateTime field doesn’t trigger a change in the content draft status when you’ve just started editing a new entry.[^90]
410
412
  - User’s local time is not saved in UTC unless the `picker_utc` option is `true`.[^150]
413
+ - The widget doesn’t throw a `RangeError` for formatting days of the month.[^250]
411
414
  - Hidden
412
415
  - The `default` value supports the following template tags:
413
416
  - `{{locale}}`: The current locale code.[^101]
@@ -516,7 +519,7 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
516
519
  - Replace existing assets.
517
520
  - Download one or more selected assets at once.
518
521
  - Delete one or more selected assets at once.
519
- - Upload multiple assets at once, including files in nested folders, by browsing or dragging and dropping them into the library.[^5]
522
+ - Upload multiple assets at once, including files in nested folders, by browsing or dragging and dropping them into the library.
520
523
  - Sort or filter assets by name or file type.
521
524
  - View asset details, including size, dimensions, commit author/date and a list of entries that use the selected asset.
522
525
  - Enhancements to media libraries:
@@ -528,6 +531,7 @@ Note: The Date widget has been deprecated in Netlify CMS and removed from both D
528
531
  - Other integrations
529
532
  - Integrates stock photo providers, including Pexels, Pixabay and Unsplash.[^8] Developers can [disable them](#disabling-stock-assets) if needed.
530
533
  - More integration options, including Amazon S3 and Cloudflare R2/Images/Stream, would be added in the future.
534
+ - Assets stored in the subfolders of `media_folder` are scanned recursively and displayed in the Asset Library.[^249]
531
535
  - The global `media_folder` can be an empty string (or `.` or `/`) if you want to store assets in the root folder.
532
536
  - PDF documents are displayed with a thumbnail image in both the Asset Library and the Select File dialog, making it easier to find the file you’re looking for.[^38]
533
537
  - Assets stored in an entry-relative media folder are displayed in the Asset Library.[^142]
@@ -900,26 +904,21 @@ Note that the special index file is placed right under the `folder`, regardless
900
904
 
901
905
  Standard keyboard shortcuts are also available in the Markdown editor, including `Ctrl+B`/`Command+B` for bold text, `Ctrl+I`/`Command+I` for italics, and `Tab` to indent a list item.
902
906
 
903
- ### Using DeepL to translate entry fields
907
+ ### Translating entry fields with one click
904
908
 
905
- Sveltia CMS comes with a handy DeepL integration so that you can translate any text field from another locale without leaving the Content Editor. To enable the high quality, AI-powered, quick translation feature:
909
+ Sveltia CMS comes with a handy Google Cloud Translation API integration so that you can translate any text field from another locale without leaving the Content Editor. To enable the quick translation feature:
906
910
 
907
911
  1. Update your configuration file to enable the [i18n support](https://decapcms.org/docs/i18n/) with multiple locales.
908
- 1. Sign up for [DeepL API](https://www.deepl.com/pro-api/) and copy your Authentication Key from DeepL’s Account page.
912
+ 1. Sign in or sign up for [Google Cloud](https://cloud.google.com/) and create a new project.
913
+ 1. Enable the [Cloud Translation API](https://console.cloud.google.com/apis/library/translate.googleapis.com). It’s free up to 500,000 characters per month.
914
+ 1. Create a [new API key](https://console.cloud.google.com/apis/api/translate.googleapis.com/credentials) and copy it.
909
915
  1. Open an entry in Sveltia CMS.
910
916
  1. Click on the Translation button on the pane header or each field, right next to the 3-dot menu.
911
- 1. Paste your key when prompted.
917
+ 1. Paste your API key when prompted.
912
918
  1. The field(s) will be automatically translated.
913
919
 
914
920
  Note that the Translation button on the pane header only translates empty fields, while in-field Translation buttons override any filled text.
915
921
 
916
- If you have upgraded to DeepL API Pro, provide your new Authentication Key:
917
-
918
- 1. Click the Account button in the upper right corner, then click Settings.
919
- 1. Select the Contents tab.
920
- 1. Replace your free API key ending with `:fx` with the new paid API key in the DeepL API Authentication Key field.
921
- 1. Close the Settings dialog.
922
-
923
922
  ### Localizing entry slugs
924
923
 
925
924
  In Sveltia CMS, it’s possible to localize entry slugs (filenames) if the i18n structure is `multiple_files` or `multiple_folders`. All you need is the `localize` filter for `slug` template tags:
@@ -1287,15 +1286,10 @@ Then, add the following origins depending on your Git backend and enabled integr
1287
1286
  ```
1288
1287
  https://images.unsplash.com https://api.unsplash.com
1289
1288
  ```
1290
- - DeepL API Free:
1291
- - `connect-src`
1292
- ```
1293
- https://api-free.deepl.com
1294
- ```
1295
- - DeepL API Pro:
1289
+ - Google Cloud Translation:
1296
1290
  - `connect-src`
1297
1291
  ```
1298
- https://api.deepl.com
1292
+ https://translation.googleapis.com
1299
1293
  ```
1300
1294
  - YouTube:
1301
1295
  - `frame-src`
@@ -1353,7 +1347,18 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
1353
1347
  Due Q4 2025
1354
1348
 
1355
1349
  - Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
1356
- - Tackling some more Netlify/Decap CMS issues
1350
+ - Tackling some more Netlify/Decap CMS issues:
1351
+ - [Directory navigation in the asset library](https://github.com/sveltia/sveltia-cms/issues/420)[^240] (#5 top-voted feature of Netlify/Decap CMS)
1352
+ - [Multiple file selection with the File and Image widgets](https://github.com/sveltia/sveltia-cms/issues/10)[^239] (#14)
1353
+ - [Singletons](https://github.com/sveltia/sveltia-cms/issues/435)[^233] (#23)
1354
+ - [Git LFS support for GitHub backend](https://github.com/sveltia/sveltia-cms/discussions/353)[^244] (#26)
1355
+ - Advanced Relation fields[^242], including cascade updates/deletes[^243] and [reverse reference lists](https://github.com/sveltia/sveltia-cms/discussions/416)
1356
+ - Cloudinary and Uploadcare issues, including existing file selection[^247]
1357
+ - [Automatic file renaming with templates](https://github.com/sveltia/sveltia-cms/issues/422)[^241]
1358
+ - [RTL localization support](https://github.com/sveltia/sveltia-cms/issues/385)[^245]
1359
+ - Thorough site config validation[^246]
1360
+ - [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
1361
+ - and a few more bugs
1357
1362
  - Accessibility audit
1358
1363
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md)
1359
1364
  - Developer documentation (implementation guide)
@@ -1369,7 +1374,7 @@ Due Q4 2025
1369
1374
 
1370
1375
  ### Future
1371
1376
 
1372
- - Tackling many of the remaining Netlify/Decap CMS issues, including MDX support,[^122] manual entry sorting,[^125] config editor,[^10] singletons,[^233] and other [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) (some of them may be included in v2.0)
1377
+ - Tackling many of the remaining Netlify/Decap CMS issues, including MDX support,[^122] manual entry sorting,[^125] config editor,[^10] offline support,[^238] and other [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) (some of them may be included in v2.0)
1373
1378
  - Exploring features that require server-side implementation, including user management (Netlify Identity alternative), roles,[^23] commits without a Git service account (Git Gateway alternative), post locking (like [WordPress](https://codex.wordpress.org/Post_Locking))[^166] and scheduled posts[^167]
1374
1379
  - More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools, etc.
1375
1380
  - AI integrations for image generation, content writing, translation, etc.
@@ -1408,8 +1413,6 @@ This software is provided “as is” without any express or implied warranty. W
1408
1413
 
1409
1414
  [^4]: Netlify/Decap CMS [#3671](https://github.com/decaporg/decap-cms/issues/3671)
1410
1415
 
1411
- [^5]: Netlify/Decap CMS [#1032](https://github.com/decaporg/decap-cms/issues/1032)
1412
-
1413
1416
  [^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
1414
1417
 
1415
1418
  [^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386), [#4888](https://github.com/decaporg/decap-cms/issues/4888), [#7332](https://github.com/decaporg/decap-cms/issues/7332), [#7514](https://github.com/decaporg/decap-cms/issues/7514)
@@ -1864,7 +1867,7 @@ This software is provided “as is” without any express or implied warranty. W
1864
1867
 
1865
1868
  [^232]: Netlify/Decap CMS [#7457](https://github.com/decaporg/decap-cms/issues/7457)
1866
1869
 
1867
- [^233]: Netlify/Decap CMS [#535](https://github.com/decaporg/decap-cms/issues/535)
1870
+ [^233]: Netlify/Decap CMS [#535](https://github.com/decaporg/decap-cms/issues/535), [#1284](https://github.com/decaporg/decap-cms/issues/1284), [#3846](https://github.com/decaporg/decap-cms/issues/3846)
1868
1871
 
1869
1872
  [^234]: Netlify/Decap CMS [#2019](https://github.com/decaporg/decap-cms/issues/2019) — Rather than relying on a third-party library, we built our own asset browser that integrates more seamlessly with the rest of the CMS.
1870
1873
 
@@ -1873,3 +1876,29 @@ This software is provided “as is” without any express or implied warranty. W
1873
1876
  [^236]: Netlify/Decap CMS [#7507](https://github.com/decaporg/decap-cms/issues/7507)
1874
1877
 
1875
1878
  [^237]: Netlify/Decap CMS [#7375](https://github.com/decaporg/decap-cms/issues/7375), [#7518](https://github.com/decaporg/decap-cms/issues/7518)
1879
+
1880
+ [^238]: Netlify/Decap CMS [#1502](https://github.com/decaporg/decap-cms/issues/1502)
1881
+
1882
+ [^239]: Netlify/Decap CMS [#213](https://github.com/decaporg/decap-cms/issues/213), [#1032](https://github.com/decaporg/decap-cms/issues/1032), [#3244](https://github.com/decaporg/decap-cms/issues/3244), [#6730](https://github.com/decaporg/decap-cms/issues/6730), [#7459](https://github.com/decaporg/decap-cms/discussions/7459)
1883
+
1884
+ [^240]: Netlify/Decap CMS [#2113](https://github.com/decaporg/decap-cms/issues/2113), [#3240](https://github.com/decaporg/decap-cms/issues/3240)
1885
+
1886
+ [^241]: Netlify/Decap CMS [#857](https://github.com/decaporg/decap-cms/issues/857)
1887
+
1888
+ [^242]: Netlify/Decap CMS [#192](https://github.com/decaporg/decap-cms/issues/192)
1889
+
1890
+ [^243]: Netlify/Decap CMS [#717](https://github.com/decaporg/decap-cms/issues/717), [#5750](https://github.com/decaporg/decap-cms/issues/5750), [#6895](https://github.com/decaporg/decap-cms/issues/6895)
1891
+
1892
+ [^244]: Netlify/Decap CMS [#1206](https://github.com/decaporg/decap-cms/issues/1206)
1893
+
1894
+ [^245]: Netlify/Decap CMS [#1769](https://github.com/decaporg/decap-cms/issues/1769)
1895
+
1896
+ [^246]: Netlify/Decap CMS [#1074](https://github.com/decaporg/decap-cms/issues/1074), [#1693](https://github.com/decaporg/decap-cms/issues/1693), [#3803](https://github.com/decaporg/decap-cms/issues/3803)
1897
+
1898
+ [^247]: Netlify/Decap CMS [#1794](https://github.com/decaporg/decap-cms/issues/1794), [#2966](https://github.com/decaporg/decap-cms/issues/2966)
1899
+
1900
+ [^248]: Netlify/Decap CMS [#836](https://github.com/decaporg/decap-cms/issues/836), [#3524](https://github.com/decaporg/decap-cms/issues/3524)
1901
+
1902
+ [^249]: Netlify/Decap CMS [#4208](https://github.com/decaporg/decap-cms/issues/4208)
1903
+
1904
+ [^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)