@sveltia/cms 0.62.3 → 0.62.5
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 +20 -11
- package/dist/sveltia-cms.js +163 -163
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +155 -155
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -150,13 +150,13 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
|
|
|
150
150
|
|
|
151
151
|
### Better performance
|
|
152
152
|
|
|
153
|
-
- Built completely from scratch with [Svelte](https://svelte.dev/) instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast
|
|
154
|
-
-
|
|
153
|
+
- Built completely from scratch with [Svelte](https://svelte.dev/) instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast with [no virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
154
|
+
- The CMS is compiled and distributed as vanilla JavaScript. You can use it with any framework or static site generator (SSG) that can load static data files during the build process.
|
|
155
|
+
- Small footprint: The bundle size is around 500 KB when minified and [brotlied](https://en.wikipedia.org/wiki/Brotli), which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.9 MB) and Static CMS (2.6 MB).[^57][^64] This number is remarkable because even though we haven’t implemented [some features](#current-limitations) yet, we have added a lot of new features. That’s the power of Svelte + [Vite](https://vite.dev/).
|
|
155
156
|
- We have upgraded from Svelte 4 to [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) to further improve performance, including an even smaller bundle size.
|
|
156
|
-
- [No virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
157
157
|
- Uses the GraphQL API for GitHub and GitLab to quickly fetch content at once, so that entries and assets can be listed and searched instantly[^32][^65] (the useless `search` configuration option is therefore ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets.[^14]
|
|
158
158
|
- Saving entries and assets to GitHub is also much faster thanks to the [GraphQL mutation](https://github.blog/changelog/2021-09-13-a-simpler-api-for-authoring-commits/).
|
|
159
|
-
- Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern [File System Access API](https://developer.chrome.com/
|
|
159
|
+
- Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern [File System Access API](https://developer.chrome.com/docs/capabilities/web-apis/file-system-access) to read and write files natively through the web browser, rather than using a slow, ad hoc REST API through a proxy server.
|
|
160
160
|
- Sorting, filtering and grouping of entries is done instantly without reloading the entire content.
|
|
161
161
|
- Uses caching, lazy loading and infinite scrolling techniques. A list of repository files is stored locally for faster startup and bandwidth savings.
|
|
162
162
|
- Thumbnails of assets, including videos and PDF files, are generated and cached for faster rendering of the Asset Library and other parts of the CMS.[^39]
|
|
@@ -426,6 +426,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
426
426
|
- 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.
|
|
427
427
|
- 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.
|
|
428
428
|
- 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]
|
|
429
|
+
- The CMS prevents the same file from being uploaded twice. It compares the hashes and selects an existing asset instead.
|
|
429
430
|
- List and Object
|
|
430
431
|
- The `summary` is displayed correctly when it refers to a Relation field[^36] or a simple List field.
|
|
431
432
|
- The `summary` template tags support [transformations](https://decapcms.org/docs/summary-strings/), e.g. `{{fields.date | date('YYYY-MM-DD')}}`.
|
|
@@ -499,12 +500,19 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
499
500
|
- **Netlify Identity Widget**: It’s not useful without Git Gateway, and Netlify Identity 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/).
|
|
500
501
|
- 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.
|
|
501
502
|
- The deprecated Netlify Large Media service: Consider other storage providers.
|
|
503
|
+
- Deprecated camel case configuration options: Use snake case instead, according to the current Netlify/Decap CMS document.
|
|
504
|
+
- Collection: `sortableFields`
|
|
505
|
+
- DateTime widget: `dateFormat`, `timeFormat`, `pickerUtc`
|
|
506
|
+
- Markdown widget: `editorComponents`
|
|
507
|
+
- Number widget: `valueType`
|
|
508
|
+
- Relation widget: `displayFields`, `searchFields`, `valueField`
|
|
502
509
|
- 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.
|
|
503
510
|
- 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.
|
|
504
511
|
- 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.
|
|
505
|
-
- Remark plugins: Not compatible with our Lexical-based rich text editor.
|
|
506
|
-
- [
|
|
507
|
-
-
|
|
512
|
+
- Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
|
|
513
|
+
- Support for 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.
|
|
514
|
+
- [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `CMS` object: This includes custom backends and custom media libraries, if any. We may support these features in the future, but our implementation would likely be incompatible with Netlify/Decap CMS.
|
|
515
|
+
- Any other undocumented options/features.
|
|
508
516
|
|
|
509
517
|
### Current limitations
|
|
510
518
|
|
|
@@ -515,10 +523,11 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
|
|
|
515
523
|
- [Test](https://decapcms.org/docs/test-backend/) backend
|
|
516
524
|
- Field-specific media folders for the [File](https://decapcms.org/docs/widgets/#file) and [Image](https://decapcms.org/docs/widgets/#image) widgets
|
|
517
525
|
- [Map](https://decapcms.org/docs/widgets/#map) widget
|
|
518
|
-
- [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries
|
|
526
|
+
- [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
|
|
519
527
|
- [Custom widgets and custom editor components](https://decapcms.org/docs/custom-widgets/)
|
|
520
|
-
- [Custom previews](https://decapcms.org/docs/customization/)
|
|
521
|
-
- [Event
|
|
528
|
+
- [Custom previews](https://decapcms.org/docs/customization/) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
529
|
+
- [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
530
|
+
- Type declaration for `CMS.init()` and other methods ([#346](https://github.com/sveltia/sveltia-cms/issues/346))
|
|
522
531
|
|
|
523
532
|
Due to the complexity, the following features will be added after the 1.0 release. Netlify/Decap CMS has a number of open issues with the collaboration and beta features — we want to implement them the right way.
|
|
524
533
|
|
|
@@ -647,7 +656,7 @@ If you get an “Authentication Aborted” error when trying to sign in to GitHu
|
|
|
647
656
|
|
|
648
657
|
### Working with a local Git repository
|
|
649
658
|
|
|
650
|
-
Sveltia CMS has simplified the local repository workflow by removing the need for additional configuration (the `local_backend` property) and a proxy server (`netlify-cms-proxy-server` or `decap-server`), thanks to the [File System Access API](https://developer.chrome.com/
|
|
659
|
+
Sveltia CMS has simplified the local repository workflow by removing the need for additional configuration (the `local_backend` property) and a proxy server (`netlify-cms-proxy-server` or `decap-server`), thanks to the [File System Access API](https://developer.chrome.com/docs/capabilities/web-apis/file-system-access) available in [some modern browsers](https://developer.mozilla.org/en-US/docs/web/api/window/showopenfilepicker#browser_compatibility).
|
|
651
660
|
|
|
652
661
|
Here are the workflow steps and tips:
|
|
653
662
|
|