@sveltia/cms 0.98.0 → 0.98.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 +32 -12
- package/dist/sveltia-cms.js +188 -188
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +187 -187
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Sveltia CMS: Netlify/Decap CMS
|
|
1
|
+
# Sveltia CMS: Netlify/Decap CMS successor
|
|
2
2
|
|
|
3
3
|
Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, quick replacement for Netlify CMS and Decap CMS. In some simple cases, migration is as easy as a single line of code change, although we are still working on improving compatibility.
|
|
4
4
|
|
|
@@ -96,6 +96,7 @@ Welcome to the only Netlify CMS successor you can trust!
|
|
|
96
96
|
- [v2.0](#v20)
|
|
97
97
|
- [v3.0](#v30)
|
|
98
98
|
- [TBD](#tbd)
|
|
99
|
+
- [Non-goals](#non-goals)
|
|
99
100
|
- [Trivia](#trivia)
|
|
100
101
|
- [Related links](#related-links)
|
|
101
102
|
- [As seen on](#as-seen-on)
|
|
@@ -107,7 +108,7 @@ Sveltia CMS was born in November 2022, when the progress of Netlify CMS was stal
|
|
|
107
108
|
|
|
108
109
|
To achieve radical improvements in UX, performance, i18n and other areas, it was ultimately decided to build an alternative from the ground up, while ensuring an easy migration path from the other. After proving the idea with a rapid [Svelte](https://svelte.dev/) prototype, development was accelerated to address their primary use cases. The new product has since been named Sveltia CMS and released as open source software to encourage wider adoption.
|
|
109
110
|
|
|
110
|
-
We loved the simple
|
|
111
|
+
We loved the simple setup of Netlify CMS that turned a Git repository into a database with a single page app served from a CDN plus a plain YAML config file. In support of the [Jamstack](https://jamstack.org/) concept, we wanted to revive it, modernize it, and take it to the next level.
|
|
111
112
|
|
|
112
113
|
### Our advantage
|
|
113
114
|
|
|
@@ -138,7 +139,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
138
139
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#current-limitations)
|
|
139
140
|
- Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
140
141
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
141
|
-
- So far, **250+ issues, or
|
|
142
|
+
- So far, **250+ issues, or 530+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
|
|
142
143
|
- Target:
|
|
143
144
|
- 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
|
|
144
145
|
- 400 issues, or 800 if including duplicates, in the future 💪
|
|
@@ -146,7 +147,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
146
147
|
- 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)
|
|
147
148
|
- Many of the bugs, including the annoying crashes, have already been solved
|
|
148
149
|
- The remaining bugs are mostly related to [unimplemented features](#current-limitations)
|
|
149
|
-
- Many of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are on our table or already implemented in Sveltia CMS
|
|
150
|
+
- Many of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are [on our table](#roadmap) or already implemented in Sveltia CMS
|
|
150
151
|
- Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
|
|
151
152
|
- Implementing our own enhancement ideas for every part of the product
|
|
152
153
|
- Responding to requests from the maintainer’s clients
|
|
@@ -580,6 +581,8 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
|
|
|
580
581
|
- The `fromBlock` function can be omitted if the `pattern` regex contains [named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group) for the values.
|
|
581
582
|
- Inline components are supported.[^267]
|
|
582
583
|
- Field validation works as expected.[^279]
|
|
584
|
+
- No error is raised in the browser console saying `Sent invalid data to remark`.[^280]
|
|
585
|
+
- No error is raised in the browser console saying `onValidate is not a function`.[^281]
|
|
583
586
|
|
|
584
587
|
### Better localization
|
|
585
588
|
|
|
@@ -598,6 +601,7 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
598
601
|
- **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.
|
|
599
602
|
- **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).
|
|
600
603
|
- **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/).
|
|
604
|
+
- [Gatsby plugin](https://github.com/decaporg/gatsby-plugin-decap-cms): Given the [decline of Gatsby](https://2024.stateofjs.com/en-US/libraries/meta-frameworks/), we won’t invest 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.
|
|
601
605
|
- 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.
|
|
602
606
|
- The deprecated Netlify Large Media service: Consider other storage providers.
|
|
603
607
|
- Deprecated camel case configuration options: Use snake case instead, according to the current Decap CMS document.
|
|
@@ -609,7 +613,7 @@ However, 100% feature parity is never planned, and some features are still missi
|
|
|
609
613
|
- Note: Some other camel case options, including Color widget options, are not deprecated.
|
|
610
614
|
- 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.
|
|
611
615
|
- 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.
|
|
612
|
-
- 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
|
|
616
|
+
- 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 will soon be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575).
|
|
613
617
|
- Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
|
|
614
618
|
- 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.
|
|
615
619
|
- Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
|
|
@@ -633,7 +637,7 @@ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are
|
|
|
633
637
|
- [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
|
|
634
638
|
- [Event hooks](https://decapcms.org/docs/registering-events/) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
|
|
635
639
|
|
|
636
|
-
Due to the complexity, we have decided to defer the following features to the 2.0 release due early 2026. Netlify/Decap CMS has
|
|
640
|
+
Due to the complexity, we have decided to defer the following features to the 2.0 release due early 2026. Netlify/Decap CMS has dozens of open issues with these collaboration and beta features — we want to implement them the right way.
|
|
637
641
|
|
|
638
642
|
- [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
639
643
|
- [Open authoring](https://decapcms.org/docs/open-authoring/)
|
|
@@ -695,7 +699,7 @@ Sveitia CMS works with all modern browsers, but there are a few limitations beca
|
|
|
695
699
|
|
|
696
700
|
### Installation & setup
|
|
697
701
|
|
|
698
|
-
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their
|
|
702
|
+
Currently, Sveltia CMS is primarily intended for existing Netlify/Decap CMS users. If you don’t have it yet, follow [their document](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 configure the [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/) or [Gitea/Forgejo](https://decapcms.org/docs/gitea-backend/) backend instead. Then [migrate](#migration) to Sveltia CMS as described below.
|
|
699
703
|
|
|
700
704
|
Or try one of the starter kits for popular frameworks created by community:
|
|
701
705
|
|
|
@@ -853,8 +857,9 @@ Here are the workflow steps and tips:
|
|
|
853
857
|
1. Click “Work with Local Repository” and select the project’s root directory once prompted.
|
|
854
858
|
- If you get an error saying “not a repository root directory”, make sure you’ve turned the folder into a repository with either a CUI ([`git init`](https://github.com/git-guides/git-init)) or GUI, and the hidden `.git` folder exists.
|
|
855
859
|
- If you’re using Windows Subsystem for Linux (WSL), you may get an error saying “Can’t open this folder because it contains system files.” This is due to a limitation in the browser, and you can try some workarounds mentioned in [this issue](https://github.com/coder/code-server/issues/4646) and [this thread](https://github.com/sveltia/sveltia-cms/discussions/101).
|
|
856
|
-
1. Edit your content using the CMS. All changes are made to local files.
|
|
860
|
+
1. Edit your content normally using the CMS. All changes are made to local files.
|
|
857
861
|
1. Use `git diff` or a GUI like [GitHub Desktop](https://desktop.github.com/) to see if the produced changes look good.
|
|
862
|
+
- GitHub Desktop can be used for any repository, not just GitHub-hosted ones.
|
|
858
863
|
1. Open the dev site at `http://localhost:[port]/` to check the rendered pages.
|
|
859
864
|
- Depending on your framework, you may need to manually rebuild your site to reflect the changes you have made.
|
|
860
865
|
1. Commit and push the changes if satisfied, or discard them if you’re just testing.
|
|
@@ -1380,7 +1385,7 @@ output:
|
|
|
1380
1385
|
|
|
1381
1386
|
Content is generally saved as key-value pairs in a file, where the key is the field name and the value is the field value. However, there are some exceptions you should be aware of.
|
|
1382
1387
|
|
|
1383
|
-
If the format is front matter, the `body` field is saved outside of the front matter block, as briefly explained in the [Decap CMS
|
|
1388
|
+
If the format is front matter, the `body` field is saved outside of the front matter block, as briefly explained in the [Decap CMS document](https://decapcms.org/docs/configuration-options/#extension-and-format):
|
|
1384
1389
|
|
|
1385
1390
|
```yaml
|
|
1386
1391
|
---
|
|
@@ -1584,6 +1589,11 @@ Then, add the following origins depending on your Git backend and enabled integr
|
|
|
1584
1589
|
```
|
|
1585
1590
|
https://translation.googleapis.com
|
|
1586
1591
|
```
|
|
1592
|
+
- OpenAI:
|
|
1593
|
+
- `connect-src`
|
|
1594
|
+
```
|
|
1595
|
+
https://api.openai.com
|
|
1596
|
+
```
|
|
1587
1597
|
- YouTube:
|
|
1588
1598
|
- `frame-src`
|
|
1589
1599
|
```
|
|
@@ -1660,7 +1670,7 @@ Due late 2025
|
|
|
1660
1670
|
Due early 2026
|
|
1661
1671
|
|
|
1662
1672
|
- Implementing [a few deferred Netlify/Decap CMS features](#current-limitations), including editorial workflow and nested collections, while addressing a number of bugs in their implementations
|
|
1663
|
-
- Tackling even more Netlify/Decap CMS issues
|
|
1673
|
+
- Tackling even more Netlify/Decap CMS issues to bring the total number of issues solved to 300+:
|
|
1664
1674
|
- [Manual entry sorting](https://github.com/sveltia/sveltia-cms/issues/214)[^125]
|
|
1665
1675
|
- [Directory navigation in the Asset Library](https://github.com/sveltia/sveltia-cms/issues/420)[^240]
|
|
1666
1676
|
|
|
@@ -1688,6 +1698,7 @@ Due early 2026
|
|
|
1688
1698
|
- Advanced Relation fields[^242], including cascade updates/deletes[^243] and quick item additions[^266]
|
|
1689
1699
|
- We’ll also implement [reverse reference lists](https://github.com/sveltia/sveltia-cms/discussions/416)
|
|
1690
1700
|
- and many more (100+ issues and discussions)
|
|
1701
|
+
- As we mentioned in the [Project status](#project-status) section, we’re planning to solve 400+ issues in total.
|
|
1691
1702
|
- Enhancements to Sveltia CMS Additions (some may be included in v3.0):
|
|
1692
1703
|
- Post locking[^166] (like [WordPress](https://codex.wordpress.org/Post_Locking))
|
|
1693
1704
|
- Scheduled posts[^167]
|
|
@@ -1709,9 +1720,14 @@ Due early 2026
|
|
|
1709
1720
|
- Official starter templates for the most popular frameworks, including SvelteKit and Next.js
|
|
1710
1721
|
- and so much more!
|
|
1711
1722
|
|
|
1723
|
+
### Non-goals
|
|
1724
|
+
|
|
1725
|
+
- Framework-specific integrations, including a WYSIWYG editor. Due to the crowded CMS market and our limited resources, we will focus on framework-agnostic core features that are essential for succeeding Netlify/Decap CMS and modernizing the platform.
|
|
1726
|
+
- Monetization. We may offer an affordable cloud version in the future since self-hosting the CMS can be a hassle. However, we will not charge for the CMS itself. We want to keep it free and open source forever.
|
|
1727
|
+
|
|
1712
1728
|
## Trivia
|
|
1713
1729
|
|
|
1714
|
-
- The [original version of Netlify CMS](https://github.com/netlify/netlify-cms-legacy) was built with Ember before being rewritten in React. And now we are completely rewriting it in Svelte. So this is effectively the
|
|
1730
|
+
- 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. And now we are completely rewriting it in Svelte. So this is effectively the third time the application has gone through a framework migration.
|
|
1715
1731
|
- 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 improved DX, but also for our rapid application development.
|
|
1716
1732
|
|
|
1717
1733
|
## Related links
|
|
@@ -2283,4 +2299,8 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
2283
2299
|
|
|
2284
2300
|
[^278]: Netlify/Decap CMS [#7575](https://github.com/decaporg/decap-cms/issues/7575), [#7576](https://github.com/decaporg/decap-cms/issues/7576)
|
|
2285
2301
|
|
|
2286
|
-
[^279]: Netlify/Decap CMS [#4912](https://github.com/decaporg/decap-cms/issues/4912), [#6986](https://github.com/decaporg/decap-cms/issues/6986)
|
|
2302
|
+
[^279]: Netlify/Decap CMS [#1390](https://github.com/decaporg/decap-cms/issues/1390), [#4912](https://github.com/decaporg/decap-cms/issues/4912), [#6986](https://github.com/decaporg/decap-cms/issues/6986)
|
|
2303
|
+
|
|
2304
|
+
[^280]: Netlify/Decap CMS [#3490](https://github.com/decaporg/decap-cms/issues/3490), [#3682](https://github.com/decaporg/decap-cms/issues/3682), [#4669](https://github.com/decaporg/decap-cms/issues/4669), [#4895](https://github.com/decaporg/decap-cms/issues/4895), [#4976](https://github.com/decaporg/decap-cms/issues/4976), [#5766](https://github.com/decaporg/decap-cms/issues/5766), [#6501](https://github.com/decaporg/decap-cms/issues/6501), [#6785](https://github.com/decaporg/decap-cms/issues/6785), [#7315](https://github.com/decaporg/decap-cms/issues/7315)
|
|
2305
|
+
|
|
2306
|
+
[^281]: Netlify/Decap CMS [#4892](https://github.com/decaporg/decap-cms/issues/4892) — We cannot reproduce the crash, but we do see the error message in the console.
|