@sveltia/cms 0.78.0 → 0.78.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 +27 -18
- package/dist/sveltia-cms.js +209 -209
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +209 -209
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ The free, open source alternative/successor to Netlify/Decap CMS is now in publi
|
|
|
14
14
|
|
|
15
15
|
<br>
|
|
16
16
|
|
|
17
|
-
; Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-6.webp?20250526)<br>
|
|
18
18
|
|
|
19
19
|
## Table of contents
|
|
20
20
|
|
|
@@ -107,7 +107,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
|
|
|
107
107
|
|
|
108
108
|
- [Static CMS](https://github.com/StaticJsCMS/static-cms): a community fork, initial commit made in September 2022 — discontinued in September 2024 after making meaningful improvements
|
|
109
109
|
- **Sveltia CMS**: not a fork but a **complete rewrite** or “total reboot”, started in November 2022, first appeared on GitHub in March 2023
|
|
110
|
-
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [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 — mostly stagnant
|
|
110
|
+
- [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version, [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 — mostly stagnant, with only occasional releases
|
|
111
111
|
|
|
112
112
|
Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt and numerous bugs of Netlify CMS, which was launched back in 2015. We are confident that our decision to rebuild the application from scratch was the right and inevitable one, as proven by the [hundreds of improvements](#differentiators) we have already made.
|
|
113
113
|
|
|
@@ -123,14 +123,14 @@ While Sveltia CMS is specifically designed to replace legacy Netlify CMS instanc
|
|
|
123
123
|
|
|
124
124
|
## Development status
|
|
125
125
|
|
|
126
|
-
Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in Q4 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) for updates. See also our [roadmap](#roadmap).
|
|
126
|
+
Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in Q4 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
|
|
127
127
|
|
|
128
128
|
While we fix reported bugs as quickly as possible, usually within 24 hours, our overall progress may be slower than you think. The thing is, it’s not just a personal project of [@kyoshino](https://github.com/kyoshino), but also a complicated system that involves various kinds of activities that require considerable effort:
|
|
129
129
|
|
|
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, 210+ issues, or
|
|
133
|
+
- So far, 210+ issues, or 425+ 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
|
- 350 issues, or 700 if including duplicates, in the future
|
|
@@ -237,10 +237,10 @@ Netlify/Decap CMS users will definitely be pleased and surprised by the numerous
|
|
|
237
237
|
- It’s possible to [disable automatic deployments](#disabling-automatic-deployments) by default or on demand to save costs and resources associated with CI/CD and to publish multiple changes at once.[^24]
|
|
238
238
|
- The GitLab backend support comes with background [service status](https://status.gitlab.com/) checking, just like GitHub.
|
|
239
239
|
- Service status checks are performed frequently and an incident notification is displayed prominently.
|
|
240
|
-
- Users can quickly open the source file of an entry or asset in your repository using View on GitHub (or GitLab) under the 3-dot menu when Developer Mode is enabled.
|
|
240
|
+
- 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.
|
|
241
241
|
- We provide [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth) for GitHub and GitLab.
|
|
242
242
|
- Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
|
|
243
|
-
- Our Gitea backend is high-performing because it retrieves multiple entries simultaneously. It also won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in
|
|
243
|
+
- Our Gitea backend is high-performing because it retrieves multiple entries simultaneously. It also won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in file paths.[^222]
|
|
244
244
|
- Features the all-new local backend that boosts DX. See the [productivity section](#better-productivity) above.
|
|
245
245
|
- Developers can select the local and remote backends while working on a local server.
|
|
246
246
|
- The Test backend saves entries and assets in the browser’s [origin private file system](https://web.dev/articles/origin-private-file-system) (OPFS) so that changes are not discarded when the browser tab is closed or reloaded.[^194] The persistent storage support works with all modern browsers [except Safari](https://bugs.webkit.org/show_bug.cgi?id=254726).
|
|
@@ -545,7 +545,7 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
545
545
|
|
|
546
546
|
### Features not to be implemented
|
|
547
547
|
|
|
548
|
-
- **Azure, Bitbucket and Forgejo backends**: For performance reasons. We may support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once. Our
|
|
548
|
+
- **Azure, Bitbucket and Forgejo backends**: For performance reasons. We may support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once. Our Gitea backend is not compatible with Forgejo due to API differences. [Forgejo support](https://github.com/sveltia/sveltia-cms/issues/381) will not be added until they implement an equivalent API enhancement.
|
|
549
549
|
- **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.
|
|
550
550
|
- **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/).
|
|
551
551
|
- 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.
|
|
@@ -572,7 +572,7 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
572
572
|
|
|
573
573
|
### Current limitations
|
|
574
574
|
|
|
575
|
-
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release due Q4 2025.
|
|
575
|
+
These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release due Q4 2025. Check the [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
|
|
576
576
|
|
|
577
577
|
- Comprehensive site config validation
|
|
578
578
|
- [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md) other than English and Japanese
|
|
@@ -615,7 +615,7 @@ Sveltia CMS provides partial compatibility with [Static CMS](https://github.com/
|
|
|
615
615
|
|
|
616
616
|
### Framework support
|
|
617
617
|
|
|
618
|
-
While Sveltia CMS is built with Svelte, the application is **framework-agnostic**. It’s a small, compiled, vanilla JavaScript bundle that manages content in a Git repository directly via
|
|
618
|
+
While Sveltia CMS is built with Svelte, the application is **framework-agnostic**. It’s a small, compiled, vanilla JavaScript bundle that manages content in a Git repository directly via an API. It doesn’t interact with the framework that builds your site.
|
|
619
619
|
|
|
620
620
|
So 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.
|
|
621
621
|
|
|
@@ -624,7 +624,7 @@ We have added support for features and file structures used in certain framework
|
|
|
624
624
|
### Backend support
|
|
625
625
|
|
|
626
626
|
- The GitLab backend requires GitLab 16.3 or later.
|
|
627
|
-
- The Gitea backend requires Gitea 1.24 or later. It’s not compatible with Forgejo
|
|
627
|
+
- The Gitea backend requires Gitea 1.24 or later. It’s not compatible with Forgejo due to API differences. Support for Forgejo is tracked in [#381](https://github.com/sveltia/sveltia-cms/issues/381). The default origin of the `base_url` and `api_root` [backend options](https://decapcms.org/docs/backends-overview/#backend-configuration) is set to `https://gitea.com` (public free service) instead of `https://try.gitea.io` (test instance).
|
|
628
628
|
|
|
629
629
|
### Browser support
|
|
630
630
|
|
|
@@ -642,7 +642,7 @@ Sveitia CMS works with all modern browsers, but there are a few limitations beca
|
|
|
642
642
|
|
|
643
643
|
### Installation & setup
|
|
644
644
|
|
|
645
|
-
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their documentation](https://decapcms.org/docs/basic-steps/) to add it to your site and create a configuration file first. Skip the [Choosing a Backend](https://decapcms.org/docs/choosing-a-backend/) page and choose the [GitHub](https://decapcms.org/docs/github-backend/)
|
|
645
|
+
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their documentation](https://decapcms.org/docs/basic-steps/) to add it to your site and create a configuration file first. Skip the [Choosing a Backend](https://decapcms.org/docs/choosing-a-backend/) page and choose the [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/) or [Gitea](https://decapcms.org/docs/gitea-backend/) backend instead. Then migrate to Sveltia CMS as described below.
|
|
646
646
|
|
|
647
647
|
Or try one of the starter kits for popular frameworks created by community members:
|
|
648
648
|
|
|
@@ -661,7 +661,7 @@ Unfortunately, we are unable to provide free installation and setup support at t
|
|
|
661
661
|
|
|
662
662
|
### Migration
|
|
663
663
|
|
|
664
|
-
Have a look at the [compatibility info](#compatibility) above first. If you’re already using Netlify/Decap CMS with the GitHub or
|
|
664
|
+
Have a look at the [compatibility info](#compatibility) above first. If you’re already using Netlify/Decap CMS with the GitHub, GitLab or Gitea backend and don’t have any unsupported features like custom widgets or nested collections, migrating to Sveltia CMS is super easy — it works as a drop-in replacement.
|
|
665
665
|
|
|
666
666
|
Open `/admin/index.html` locally with an editor like VS Code and replace the CMS `<script>` tag with the new one:
|
|
667
667
|
|
|
@@ -744,7 +744,7 @@ Limitation: YAML anchors, aliases and merge keys only work if they are in the sa
|
|
|
744
744
|
|
|
745
745
|
### Working around an authentication error
|
|
746
746
|
|
|
747
|
-
If you get an “Authentication Aborted” error when trying to sign in to GitHub or
|
|
747
|
+
If you get an “Authentication Aborted” error when trying to sign in to GitHub, GitLab or Gitea using the authorization code flow, you may need to check your site’s [`Cross-Origin-Opener-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy). The COOP header is not widely used, but it’s known to break the OAuth flow with a popup window. If that’s your case, changing `same-origin` to `same-origin-allow-popups` solves the problem. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/131))
|
|
748
748
|
|
|
749
749
|
### Working with a local Git repository
|
|
750
750
|
|
|
@@ -752,8 +752,8 @@ Sveltia CMS has simplified the local repository workflow by removing the need fo
|
|
|
752
752
|
|
|
753
753
|
Here are the workflow steps and tips:
|
|
754
754
|
|
|
755
|
-
1. Make sure you have configured the [GitHub](https://decapcms.org/docs/github-backend/)
|
|
756
|
-
- The Git Gateway backend mentioned in the Netlify/Decap CMS [local Git repository document](https://decapcms.org/docs/working-with-a-local-git-repository/) is not supported in Sveltia CMS, so `name: git-gateway` won’t work.
|
|
755
|
+
1. Make sure you have configured the [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/) or [Gitea](https://decapcms.org/docs/gitea-backend/) backend.
|
|
756
|
+
- The Git Gateway backend mentioned in the Netlify/Decap CMS [local Git repository document](https://decapcms.org/docs/working-with-a-local-git-repository/) is not supported in Sveltia CMS, so `name: git-gateway` won’t work. Use `github`, `gitlab` or `gitea` for the `name` along with the `repo` definition. If you haven’t determined your repository name yet, just use a tentative name.
|
|
757
757
|
1. Launch the local development server for your frontend framework, typically with `npm run dev` or `pnpm dev`.
|
|
758
758
|
1. Open `http://localhost:[port]/admin/index.html` with Chrome or Edge.
|
|
759
759
|
- The port number varies by framework. Check the terminal output from the previous step.
|
|
@@ -1154,7 +1154,7 @@ Sveltia CMS supports some [data output](#better-data-output) options, including
|
|
|
1154
1154
|
```yaml
|
|
1155
1155
|
output:
|
|
1156
1156
|
omit_empty_optional_fields: false
|
|
1157
|
-
encode_file_path: false # true to URL-encode file paths for
|
|
1157
|
+
encode_file_path: false # true to URL-encode file paths for File/Image fields
|
|
1158
1158
|
json:
|
|
1159
1159
|
indent_style: space # or tab
|
|
1160
1160
|
indent_size: 2
|
|
@@ -1238,6 +1238,15 @@ Then, add the following origins depending on your Git backend and enabled integr
|
|
|
1238
1238
|
```
|
|
1239
1239
|
https://gitlab.com https://status-api.hostedstatus.com
|
|
1240
1240
|
```
|
|
1241
|
+
- Gitea: (If you’re running a self-hosted instance, use the origin instead.)
|
|
1242
|
+
- `img-src`
|
|
1243
|
+
```
|
|
1244
|
+
https://gitea.com
|
|
1245
|
+
```
|
|
1246
|
+
- `connect-src`
|
|
1247
|
+
```
|
|
1248
|
+
https://gitea.com
|
|
1249
|
+
```
|
|
1241
1250
|
- Pexels:
|
|
1242
1251
|
- `img-src`
|
|
1243
1252
|
```
|
|
@@ -1348,9 +1357,9 @@ Due Q4 2025
|
|
|
1348
1357
|
### Future
|
|
1349
1358
|
|
|
1350
1359
|
- Tackling many of the remaining Netlify/Decap CMS issues, including MDX support,[^122] manual entry sorting,[^125] config editor[^10] and other [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc)
|
|
1351
|
-
- Exploring features that require server-side implementation, including user management (Netlify Identity alternative), roles,[^23] commits without a
|
|
1360
|
+
- 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]
|
|
1352
1361
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools, etc.
|
|
1353
|
-
- AI integrations for image generation, content writing, etc.
|
|
1362
|
+
- AI integrations for image generation, content writing, translation, etc.
|
|
1354
1363
|
- Search enhancements
|
|
1355
1364
|
- Advanced digital asset management (DAM) features, including image editing and tagging[^114]
|
|
1356
1365
|
- Marketplace for custom widgets, etc.
|