@sveltia/cms 0.106.0 → 0.106.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 +46 -20
- package/dist/sveltia-cms.js +20 -20
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +3 -3
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
- package/schema/sveltia-cms.json +0 -10
- package/types/public.d.ts +0 -5
package/README.md
CHANGED
|
@@ -126,12 +126,20 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
|
|
|
126
126
|
- Solved more than 250 issues reported in the Netlify/Decap CMS repository
|
|
127
127
|
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
|
|
128
128
|
- [Announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as the official successor with a Netlify agency partner taking ownership
|
|
129
|
-
- Mostly
|
|
129
|
+
- Mostly low activity with occasional releases and a few minor improvements
|
|
130
130
|
- A [XSS vulnerability](https://github.com/advisories/GHSA-xp8g-32qh-mv28), high severity dependency vulnerabilities, fatal crashes and many other bugs remain unaddressed
|
|
131
131
|
|
|
132
|
-
Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt, and numerous bugs of Netlify CMS, which was launched in 2015. Our product is better by design:
|
|
132
|
+
Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt, and numerous bugs of Netlify CMS, which was launched in 2015. Our product is better by design:
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
- We have rebuilt the app from scratch using a [modern framework](https://svelte.dev/)
|
|
135
|
+
- We don’t reuse any part of the predecessor’s codebase
|
|
136
|
+
- We incorporate i18n support into the core instead of adding it as an afterthought
|
|
137
|
+
- We closely monitor and analyze the predecessor’s issue tracker
|
|
138
|
+
- We have rethought and redesigned the entire user experience (UX) and developer experience (DX)
|
|
139
|
+
|
|
140
|
+
This “total reboot” allows us to make [hundreds of improvements](#differentiators) without getting stuck in a legacy system, establishing Sveltia CMS as a **unparalleled successor** to Netlify CMS.
|
|
141
|
+
|
|
142
|
+
As we continue to add more features, we hope that our product will eventually become an appearing headless CMS option for everyone, not just for existing Netlify/Decap CMS users.
|
|
135
143
|
|
|
136
144
|
### Our goals
|
|
137
145
|
|
|
@@ -150,7 +158,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
150
158
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
151
159
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
152
160
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
153
|
-
- So far, **250+ issues, or
|
|
161
|
+
- So far, **250+ issues, or 550+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
|
|
154
162
|
- Target:
|
|
155
163
|
- 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
|
|
156
164
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -206,23 +214,29 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
|
|
|
206
214
|
|
|
207
215
|
### Better productivity
|
|
208
216
|
|
|
217
|
+
We’ve made various improvements to help you get your work done faster and more efficiently:
|
|
218
|
+
|
|
209
219
|
- Developers can [work with a local Git repository](#working-with-a-local-git-repository) without any additional configuration or proxy server, resulting in a streamlined workflow and improved performance.[^26]
|
|
210
220
|
- It also avoids a number of issues, including potential security risks,[^158][^282] a 30 MB file size limit,[^51] an unknown error with `publish_mode`,[^75] and an unused `logo_url`.[^49]
|
|
211
221
|
- When you delete an entry or an asset file, the empty folder that contains it is also deleted, so you don’t have to delete it manually.
|
|
212
222
|
- Provides a smoother user experience in the Content Editor:
|
|
223
|
+
- Users can upload multiple files at once to File/Image fields when the `multiple` option is enabled.[^239]
|
|
224
|
+
- Uploading files can be done with drag and drop.[^20]
|
|
225
|
+
- Users can [translate entry fields with one click](#translating-entry-fields-with-one-click) using an integrated translation service without having to leave the CMS.
|
|
213
226
|
- A local backup of an entry draft is automatically created without interruption by a confirmation dialog, which annoys users and can cause a page navigation problem if dismissed.[^106] The backup can then be reliably restored without unexpected overwriting.[^85]
|
|
214
227
|
- 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.
|
|
215
228
|
- The editor closes automatically when an entry is saved. This behaviour can be changed in the application settings.
|
|
216
|
-
-
|
|
217
|
-
- Users can upload multiple files at once to the Asset Library.
|
|
229
|
+
- Thanks to the [built-in image optimizer](#optimizing-images-for-upload), there’s no need for an external application to convert or resize images before uploading them.[^199][^200]
|
|
218
230
|
- Users can delete multiple entries and assets at once.
|
|
231
|
+
- Users can manage content on-the-go with mobile and tablet support.[^18][^215] This is especially useful for content editors who need to make quick updates while away from their desks.
|
|
219
232
|
- Instant full-text search with results sorted by relevance helps you find entries faster. In Netlify/Decap CMS, you often won’t get the results you expect.
|
|
220
233
|
- Some [keyboard shortcuts](#using-keyboard-shortcuts) are available for faster editing.
|
|
221
234
|
|
|
222
235
|
### Better security
|
|
223
236
|
|
|
224
237
|
- Avoids vulnerabilities in dependencies through constant updates, Dependabot alerts, [`pnpm audit`](https://pnpm.io/cli/audit), and frequent releases, unlike Netlify/Decap CMS where a number of high severity vulnerabilities remain unaddressed for a long time.[^33]
|
|
225
|
-
-
|
|
238
|
+
- We also use the [`cooldown`](https://github.com/raineorshine/npm-check-updates#cooldown) option for `ncu` and the [`minimumReleaseAge`](https://pnpm.io/settings#minimumreleaseage) option for `pnpm` to avoid upgrading to a version that was just released. These options help protect against npm supply chain attacks.
|
|
239
|
+
- The **unpatched** [XSS vulnerability](https://github.com/advisories/GHSA-xp8g-32qh-mv28) in Decap CMS does not affect Sveltia CMS, as our entry preview implementation is completely different.
|
|
226
240
|
- However, the Markdown widget was potentially vulnerable to XSS attacks because the `sanitize_preview` option was set to `false` by default for compatibility with Netlify/Decap CMS. This behaviour is [documented](https://decapcms.org/docs/widgets/#markdown) and is not a bug, but it’s definitely not secure. In [Sveltia CMS 0.105.0](https://github.com/sveltia/sveltia-cms/releases/tag/v0.105.0), we changed the default value to `true`, assuming that most users would prefer security over compatibility.
|
|
227
241
|
- Our [local repository workflow](#working-with-a-local-git-repository) does not require a proxy server. This reduces attack surfaces by eliminating the possibility of compromised dependencies[^158] and unauthorized API access.[^282]
|
|
228
242
|
- Thanks to pnpm, Vite, GitHub Actions and [npm package provenance](https://github.blog/security/supply-chain-security/introducing-npm-package-provenance/), our release process is fast, reliable and transparent. This setup makes it easy to verify the integrity of published code and assets. It also helps us avoid errors that can occur with manual build steps.[^264]
|
|
@@ -410,7 +424,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
410
424
|
- The Preview Pane displays all fields, including each label, making it easier to see which fields are populated.
|
|
411
425
|
- Entering a long value into a field will not cause the field label to disappear.[^254]
|
|
412
426
|
- Clicking a field in the Preview Pane focuses the corresponding field in the Edit Pane.[^41] It automatically expands when collapsed.
|
|
413
|
-
- This is equivalent to the (misleading) visual editing feature introduced in [Decap CMS 3.6.0](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.6.0), but our click-to-highlight feature is enabled by default; you don’t need to opt in with the `editor.visualEditing` collection option.
|
|
427
|
+
- This is equivalent to the (misleading) visual editing feature introduced in [Decap CMS 3.6.0](https://github.com/decaporg/decap-cms/releases/tag/decap-cms%403.6.0), but our click-to-highlight feature is enabled by default; you don’t need to opt in with the `editor.visualEditing` collection option. We don’t plan to support this option because it’s confusing, unnecessary and undocumented.
|
|
414
428
|
- The Preview Pane doesn’t cause a scrolling issue.[^136]
|
|
415
429
|
- The Preview Pane doesn’t crash with a Minified React error.[^186]
|
|
416
430
|
- Provides better scroll synchronization between the panes when editing or previewing an entry.[^92]
|
|
@@ -520,19 +534,21 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
520
534
|
- Supports the `before_input` and `after_input` string options, which allow developers to display custom labels before and/or after the input UI.[^28] Markdown is supported in the value.
|
|
521
535
|
- Compatibility note: In Static CMS, these options are implemented as `prefix` and `suffix`, respectively, which have different meaning in Sveltia CMS.
|
|
522
536
|
- File and Image
|
|
523
|
-
- Supports `multiple`, `min` and `max` options to allow uploading multiple files at once.[^239]
|
|
524
537
|
- Provides a reimagined all-in-one asset selection dialog for File and Image fields.[^234]
|
|
525
538
|
- Entry, file, [collection](#using-a-custom-media-folder-for-a-collection) and global assets are listed on separate tabs for easy selection.[^19]
|
|
526
539
|
- A new asset can be uploaded by dragging & dropping it into the dialog.[^20]
|
|
527
540
|
- A URL can also be entered in the dialog.
|
|
528
541
|
- Integration with Pexels, Pixabay and Unsplash makes it easy to select and insert a free stock photo.[^8] More stock photo providers will be added in the future.
|
|
529
542
|
- Users can also simply drag and drop a file onto a File/Image field to attach it without having to open the Select File dialog.
|
|
530
|
-
-
|
|
543
|
+
- Supports the boolean `multiple` option, which can be set to `true` to allow multiple file uploads.[^239]
|
|
544
|
+
- When enabled, users can select and upload multiple files at once in the Select File dialog, as well as drag and drop multiple files onto the field. The field value will be an array of strings instead of a single string.
|
|
545
|
+
- The `min` and `max` options are also available to limit the number of files that can be uploaded. Both accept positive integers. If `min` is not specified, it defaults to `0`. If `max` is not specified, it defaults to `Infinity`.
|
|
531
546
|
- The new `accept` option allows files to be filtered by a comma-separated list of unique file type specifiers, in the same way as the HTML [`accept` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept) for `<input type="file">`.[^216]
|
|
532
547
|
- By default, the Image widget only accepts an AVIF, GIF, JPEG, PNG, WebP or SVG image. BMP, HEIC, JPEG XL, PSD, TIFF and other less common or non-standard files are excluded.[^217]
|
|
533
548
|
- The File widget has no default restriction.
|
|
534
549
|
- If the `public_folder` contains `{{slug}}` and you’ve edited a slug field (e.g. `title`) of a new entry after uploading an asset, the updated slug will be used in the saved asset path.[^140] Other dynamic template tags such as `{{filename}}` will also be populated as expected.[^141]
|
|
535
550
|
- The CMS prevents the same file from being uploaded twice. It compares the hashes and selects an existing asset instead.
|
|
551
|
+
- Large images automatically fit in the Preview Pane instead of being displayed at their original size, which can easily exceed the width of the pane.
|
|
536
552
|
- List and Object
|
|
537
553
|
- The `summary` is displayed correctly when it refers to a Relation field[^36] or a simple List field.
|
|
538
554
|
- The `summary` template tags support [transformations](https://decapcms.org/docs/summary-strings/), e.g. `{{fields.date | date('YYYY-MM-DD')}}`.
|
|
@@ -643,7 +659,7 @@ Due to the complexity, we have decided to defer the following features to the 2.
|
|
|
643
659
|
The following Netlify/Decap CMS features will not be implemented, primarily due to deprecation and performance considerations.
|
|
644
660
|
|
|
645
661
|
- **Azure and Bitbucket backends**: For performance reasons. We’ll support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
|
|
646
|
-
- **Git Gateway backend**: Also for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap).
|
|
662
|
+
- **Git Gateway backend**: Also for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to secure a migration path for existing Git Gateway users.
|
|
647
663
|
- **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](#roadmap), most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
648
664
|
- [Gatsby plugin](https://github.com/decaporg/gatsby-plugin-decap-cms): In light of Gatsby’s [decline](https://2024.stateofjs.com/en-US/libraries/meta-frameworks/) and [uncertainty](https://github.com/gatsbyjs/gatsby/discussions/39062), we won’t be investing time in developing a plugin for it. You can still create `index.html` yourself. Note: We don’t support Netlify Identity Widget; the favicon can be specified with the `logo_url` option.
|
|
649
665
|
- 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.
|
|
@@ -656,8 +672,10 @@ The following Netlify/Decap CMS features will not be implemented, primarily due
|
|
|
656
672
|
- [Relation](https://decapcms.org/docs/widgets/#relation) widget: `displayFields`, `searchFields`, `valueField`
|
|
657
673
|
- Note: Some other camel case options, including Color widget options, are not deprecated.
|
|
658
674
|
- The deprecated Date widget: It was removed from Decap CMS 3.0 and Sveltia CMS 0.10. Use the DateTime widget with the [`time_format: false` option](#changing-the-input-type-of-a-datetime-field) instead.
|
|
675
|
+
- The `allow_multiple` option for the File and Image widgets: It’s a confusing option that defaults to `true`, and there is a separate option called `media_library.config.multiple`. We have added the new `multiple` option instead, which is more intuitive and works with all media libraries.
|
|
659
676
|
- The theme and keymap inline settings for the Code widget, along with support for some languages. Instead of [CodeMirror](https://codemirror.net/), we use Lexical’s code block functionality powered by [Prism](https://prismjs.com/), which is slated to be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575).
|
|
660
677
|
- Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
|
|
678
|
+
- Extra features in the [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries: We plan to integrate these services using their APIs instead of pre-built widgets. This means third-party upload sources and other features will be unavailable. We plan to support some of the sources, camera access and image editing in the future.
|
|
661
679
|
- An absolute URL in the [`public_folder`](https://decapcms.org/docs/configuration-options/#public-folder) option: Such configuration is not recommended, as stated in the Netlify/Decap CMS document.
|
|
662
680
|
- Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
|
|
663
681
|
- Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
|
|
@@ -753,7 +771,7 @@ Or try one of the starter kits for popular frameworks created by community:
|
|
|
753
771
|
|
|
754
772
|
The Netlify/Decap CMS website has more [templates](https://decapcms.org/docs/start-with-a-template/) and [examples](https://decapcms.org/docs/examples/). You can probably use one of them and switch to Sveltia CMS. (Note: These third-party resources are not necessarily reviewed by the Sveltia CMS team.)
|
|
755
773
|
|
|
756
|
-
Unfortunately, **we are unable to provide
|
|
774
|
+
Unfortunately, **we are unable to provide installation and setup support** at this time. As the product evolves, we’ll provide comprehensive documentation, a built-in configuration editor and official starter kits to make it easier for everyone to start using Sveltia CMS.
|
|
757
775
|
|
|
758
776
|
### Migration
|
|
759
777
|
|
|
@@ -886,7 +904,7 @@ With Sveltia CMS, developers can modularize the site configuration. Just provide
|
|
|
886
904
|
|
|
887
905
|
Both standard `application/yaml` and non-standard `text/yaml` are acceptable for the YAML config link `type`.
|
|
888
906
|
|
|
889
|
-
Limitation: YAML anchors, aliases and merge keys only work if they are in the same file
|
|
907
|
+
Limitation: YAML anchors, aliases and merge keys only work if they are in the same file. This is because the files are parsed as separate JavaScript objects and then merged using the [`deepmerge`](https://www.npmjs.com/package/deepmerge) library.
|
|
890
908
|
|
|
891
909
|
### Working around an authentication error
|
|
892
910
|
|
|
@@ -914,6 +932,7 @@ Here are the workflow steps and tips:
|
|
|
914
932
|
- GitHub Desktop can be used for any repository, not just GitHub-hosted ones.
|
|
915
933
|
1. Open the dev site at `http://localhost:[port]/` to check the rendered pages.
|
|
916
934
|
- Depending on your framework, you may need to manually rebuild your site to reflect the changes you have made.
|
|
935
|
+
- You can skip this step if your changes don’t involve any pages.
|
|
917
936
|
1. Commit and push the changes if satisfied, or discard them if you’re just testing.
|
|
918
937
|
|
|
919
938
|
If you have migrated from Netlify/Decap CMS and are happy with the local repository workflow of Sveltia CMS, you can remove the `local_backend` property from your configuration and uninstall the proxy server. If you have configured a custom port number with the `.env` file, you can remove it as well.
|
|
@@ -1870,7 +1889,7 @@ Due late 2025
|
|
|
1870
1889
|
|
|
1871
1890
|
- Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
1872
1891
|
- Tackling some more Netlify/Decap CMS issues:
|
|
1873
|
-
- Several Cloudinary and Uploadcare media library issues, including selection of existing files[^247]
|
|
1892
|
+
- Several Cloudinary and Uploadcare media library issues, including authentication[^288] and selection of existing files[^247]
|
|
1874
1893
|
- [RTL localization support](https://github.com/sveltia/sveltia-cms/issues/385)[^245]
|
|
1875
1894
|
- Thorough site config validation[^246]
|
|
1876
1895
|
- [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
|
|
@@ -1880,6 +1899,8 @@ Due late 2025
|
|
|
1880
1899
|
- Marketing site
|
|
1881
1900
|
- [Live demo site](https://github.com/sveltia/sveltia-cms/issues/1)
|
|
1882
1901
|
|
|
1902
|
+
See also the [1.0 RC](https://github.com/sveltia/sveltia-cms/milestone/1) and [1.0](https://github.com/sveltia/sveltia-cms/milestone/2) milestones for a list of issues planned for v1.0.
|
|
1903
|
+
|
|
1883
1904
|
### v2.0
|
|
1884
1905
|
|
|
1885
1906
|
Due early/mid 2026
|
|
@@ -1894,7 +1915,7 @@ Due early/mid 2026
|
|
|
1894
1915
|
|
|
1895
1916
|
- **Sveltia CMS Additions**: Edge functions for Cloudflare Workers and possibly other platforms that provide features that cannot be implemented client-side:
|
|
1896
1917
|
- User management (Netlify Identity alternative) with roles[^23]
|
|
1897
|
-
-
|
|
1918
|
+
- Commits without a Git service account (Git Gateway alternative)
|
|
1898
1919
|
- End-user documentation
|
|
1899
1920
|
- Contributor documentation
|
|
1900
1921
|
|
|
@@ -1909,7 +1930,7 @@ Due early/mid 2026
|
|
|
1909
1930
|
- [Theming](https://github.com/sveltia/sveltia-cms/issues/29)[^262]
|
|
1910
1931
|
- [Reusable field groups](https://github.com/sveltia/sveltia-cms/discussions/463)[^263]
|
|
1911
1932
|
- Offline support[^238]
|
|
1912
|
-
- Features to turn the CMS into a powerful NoSQL database management system:
|
|
1933
|
+
- Features to turn the CMS into a powerful NoSQL database management system (DBMS):
|
|
1913
1934
|
- Advanced Relation fields[^242]
|
|
1914
1935
|
- Cascade updates/deletes[^243]
|
|
1915
1936
|
- [Quick item additions](https://github.com/sveltia/sveltia-cms/issues/493)[^266]
|
|
@@ -1933,7 +1954,7 @@ Due early/mid 2026
|
|
|
1933
1954
|
- Advanced search options
|
|
1934
1955
|
- [Fuzzy search](https://www.fusejs.io/)
|
|
1935
1956
|
- [Local repository workflow](#working-with-a-local-git-repository) improvements: Git mode[^131] and change detection
|
|
1936
|
-
- [Preact+HTM
|
|
1957
|
+
- [Preact+HTM](https://github.com/sveltia/sveltia-cms/discussions/153) or Vue support for custom widgets, editor components and preview templates[^289]
|
|
1937
1958
|
- View, compare and restore revisions (like [WordPress](https://wordpress.com/support/page-post-revisions/))
|
|
1938
1959
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools, etc.
|
|
1939
1960
|
- More AI features for image generation, content writing, etc.
|
|
@@ -1955,6 +1976,7 @@ Due early/mid 2026
|
|
|
1955
1976
|
|
|
1956
1977
|
- The [original version of Netlify CMS](https://github.com/netlify/netlify-cms-legacy) was built with Ember before being rewritten in React. There was also an [attempt](https://github.com/decaporg/decap-cms/issues/328) to replace React with Preact. Now we have completely rebuilt it in Svelte 4 and then in Svelte 5. So this is effectively the third/fourth time the application has gone through a framework migration. One more thing: We may migrate to [Ripple](https://www.ripplejs.com/) in the future if it looks promising.
|
|
1957
1978
|
- Our [local repository workflow](#working-with-a-local-git-repository) shares implementation with the Test backend, as both utilize the [File System API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API), allowing us to reduce maintenance costs. The seamless local workflow is critical not only for an improved DX, but also for our rapid application development.
|
|
1979
|
+
- What is Sveltia, by the way? It implies something related to Svelte, but it has [another meaning](https://en.wikipedia.org/wiki/Sveltia).
|
|
1958
1980
|
- The maintainer may look 25 years younger than his actual age. [Here’s why](https://github.com/kyoshino#fun-facts-about-me).
|
|
1959
1981
|
|
|
1960
1982
|
## Related Links
|
|
@@ -1972,7 +1994,7 @@ Due early/mid 2026
|
|
|
1972
1994
|
|
|
1973
1995
|
Sveltia CMS is not a service but a client-side application that runs in your web browser. You don’t need an account to use the app, but you do need to authenticate with your Git hosting provider to read and write remote data. All content is stored in your Git repository. No data is sent to any server operated by us.
|
|
1974
1996
|
|
|
1975
|
-
GitHub (and GitLab, depending on your configuration) requires server-side authentication. If you choose the GitHub backend, you will need to use an OAuth application hosted by yourself or a third party, such as Netlify or Cloudflare, to retrieve an access token from GitHub. Alternatively, you can provide an access token directly on the CMS’s sign-in page. Other Git backends support client-side authentication. In any case, your token is stored in your browser’s local storage, and API requests are made directly between your browser and the Git hosting provider.
|
|
1997
|
+
GitHub (and GitLab, depending on your configuration) requires server-side authentication. If you choose the GitHub backend, you will need to use an OAuth application hosted by yourself or a third party, such as Netlify or Cloudflare, to retrieve an access token from GitHub. Alternatively, you can provide an access token directly on the CMS’s sign-in page. Other Git backends support client-side authentication. In any case, your token is stored in your browser’s local storage, and subsequent API requests are made directly between your browser and the Git hosting provider.
|
|
1976
1998
|
|
|
1977
1999
|
The CMS also integrates with various third-party services, including stock photo providers and translation services. These are “bring your own key” (BYOK) features that are entirely optional. You provide your own API keys for these services, which are stored in your browser’s local storage, and API requests are then made directly between your browser and the relevant service providers.
|
|
1978
2000
|
|
|
@@ -2128,7 +2150,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2128
2150
|
|
|
2129
2151
|
[^72]: Netlify/Decap CMS [#7047](https://github.com/decaporg/decap-cms/issues/7047)
|
|
2130
2152
|
|
|
2131
|
-
[^73]: Netlify/Decap CMS [#6993](https://github.com/decaporg/decap-cms/issues/6993), [#7123](https://github.com/decaporg/decap-cms/issues/7123), [#7127](https://github.com/decaporg/decap-cms/issues/7127), [#7128](https://github.com/decaporg/decap-cms/issues/7128), [#7237](https://github.com/decaporg/decap-cms/issues/7237), [#7251](https://github.com/decaporg/decap-cms/issues/7251), [#7361](https://github.com/decaporg/decap-cms/issues/7361), [#7391](https://github.com/decaporg/decap-cms/issues/7391), [#7393](https://github.com/decaporg/decap-cms/issues/7393), [#7470](https://github.com/decaporg/decap-cms/issues/7470), [#7475](https://github.com/decaporg/decap-cms/issues/7475), [#7480](https://github.com/decaporg/decap-cms/issues/7480), [#7503](https://github.com/decaporg/decap-cms/issues/7503), [#7504](https://github.com/decaporg/decap-cms/issues/7504), [#7524](https://github.com/decaporg/decap-cms/issues/7524), [#7531](https://github.com/decaporg/decap-cms/issues/7531), [#7535](https://github.com/decaporg/decap-cms/issues/7535), [#7553](https://github.com/decaporg/decap-cms/issues/7553), [#7561](https://github.com/decaporg/decap-cms/issues/7561), [#7584](https://github.com/decaporg/decap-cms/issues/7584), [#7591](https://github.com/decaporg/decap-cms/issues/7591)
|
|
2153
|
+
[^73]: Netlify/Decap CMS [#6993](https://github.com/decaporg/decap-cms/issues/6993), [#7123](https://github.com/decaporg/decap-cms/issues/7123), [#7127](https://github.com/decaporg/decap-cms/issues/7127), [#7128](https://github.com/decaporg/decap-cms/issues/7128), [#7237](https://github.com/decaporg/decap-cms/issues/7237), [#7251](https://github.com/decaporg/decap-cms/issues/7251), [#7361](https://github.com/decaporg/decap-cms/issues/7361), [#7391](https://github.com/decaporg/decap-cms/issues/7391), [#7393](https://github.com/decaporg/decap-cms/issues/7393), [#7470](https://github.com/decaporg/decap-cms/issues/7470), [#7475](https://github.com/decaporg/decap-cms/issues/7475), [#7480](https://github.com/decaporg/decap-cms/issues/7480), [#7503](https://github.com/decaporg/decap-cms/issues/7503), [#7504](https://github.com/decaporg/decap-cms/issues/7504), [#7524](https://github.com/decaporg/decap-cms/issues/7524), [#7531](https://github.com/decaporg/decap-cms/issues/7531), [#7535](https://github.com/decaporg/decap-cms/issues/7535), [#7553](https://github.com/decaporg/decap-cms/issues/7553), [#7561](https://github.com/decaporg/decap-cms/issues/7561), [#7584](https://github.com/decaporg/decap-cms/issues/7584), [#7591](https://github.com/decaporg/decap-cms/issues/7591), [#7609](https://github.com/decaporg/decap-cms/issues/7609)
|
|
2132
2154
|
|
|
2133
2155
|
[^74]: Netlify/Decap CMS [#4209](https://github.com/decaporg/decap-cms/issues/4209)
|
|
2134
2156
|
|
|
@@ -2208,7 +2230,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2208
2230
|
|
|
2209
2231
|
[^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), [#7572](https://github.com/decaporg/decap-cms/issues/7572), [#7602](https://github.com/decaporg/decap-cms/issues/7602)
|
|
2210
2232
|
|
|
2211
|
-
[^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), [#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), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574), [#7580](https://github.com/decaporg/decap-cms/issues/7580), [#7583](https://github.com/decaporg/decap-cms/issues/7583), [#7589](https://github.com/decaporg/decap-cms/issues/7589), [#7593](https://github.com/decaporg/decap-cms/issues/7593), [#7595](https://github.com/decaporg/decap-cms/issues/7595), [#7601](https://github.com/decaporg/decap-cms/issues/7601) — 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).
|
|
2233
|
+
[^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), [#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), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574), [#7580](https://github.com/decaporg/decap-cms/issues/7580), [#7583](https://github.com/decaporg/decap-cms/issues/7583), [#7589](https://github.com/decaporg/decap-cms/issues/7589), [#7593](https://github.com/decaporg/decap-cms/issues/7593), [#7595](https://github.com/decaporg/decap-cms/issues/7595), [#7601](https://github.com/decaporg/decap-cms/issues/7601), [#7610](https://github.com/decaporg/decap-cms/issues/7610) — 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).
|
|
2212
2234
|
|
|
2213
2235
|
[^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
|
|
2214
2236
|
|
|
@@ -2553,3 +2575,7 @@ This project would not have been possible without the open source Netlify CMS pr
|
|
|
2553
2575
|
[^286]: Netlify/Decap CMS [#2367](https://github.com/decaporg/decap-cms/issues/2367)
|
|
2554
2576
|
|
|
2555
2577
|
[^287]: Netlify/Decap CMS [#1069](https://github.com/decaporg/decap-cms/issues/1069)
|
|
2578
|
+
|
|
2579
|
+
[^288]: Netlify/Decap CMS [#7015](https://github.com/decaporg/decap-cms/issues/7015)
|
|
2580
|
+
|
|
2581
|
+
[^289]: Netlify/Decap CMS [#2183](https://github.com/decaporg/decap-cms/issues/2183)
|