@sveltia/cms 0.52.0 → 0.52.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/LICENSE.txt +1 -1
- package/README.md +65 -38
- package/dist/sveltia-cms.js +176 -176
- package/dist/sveltia-cms.js.map +1 -1
- package/dist/sveltia-cms.mjs +173 -173
- package/dist/sveltia-cms.mjs.map +1 -1
- package/package.json +7 -7
package/LICENSE.txt
CHANGED
package/README.md
CHANGED
|
@@ -41,6 +41,7 @@ The free, open source alternative to Netlify/Decap CMS is now in public beta, tu
|
|
|
41
41
|
- [Features not to be implemented](#features-not-to-be-implemented)
|
|
42
42
|
- [Features to be implemented before GA](#features-to-be-implemented-before-ga)
|
|
43
43
|
- [Features to be implemented after GA](#features-to-be-implemented-after-ga)
|
|
44
|
+
- [Compatibility with Static CMS](#compatibility-with-static-cms)
|
|
44
45
|
- [Other notes](#other-notes)
|
|
45
46
|
- [Getting started](#getting-started)
|
|
46
47
|
- [New users](#new-users)
|
|
@@ -109,15 +110,17 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
|
|
|
109
110
|
|
|
110
111
|
- Ensuring substantial [compatibility with Netlify/Decap CMS](#compatibility)
|
|
111
112
|
- Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
|
|
112
|
-
- So far,
|
|
113
|
-
- Target: 250 or all relevant and
|
|
113
|
+
- So far, 150+ of them, or 280+ including duplicates, have been effectively solved in Sveltia CMS
|
|
114
|
+
- Target: 250 or all relevant, fixable and worthwhile issues in a future release
|
|
114
115
|
- Note: Issues include both feature requests and bug reports; we also track their [stale issues](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) and [discussions](https://github.com/decaporg/decap-cms/discussions)
|
|
116
|
+
- Most 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 — Some are already implemented in Sveltia CMS
|
|
115
117
|
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=enhancement) if you have any specific issues you’d like to see solved!
|
|
116
|
-
-
|
|
118
|
+
- Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
|
|
117
119
|
- Implementing our own enhancement ideas for every part of the product
|
|
120
|
+
- Responding to requests from the maintainer’s clients
|
|
118
121
|
- Making the code clean and maintainable
|
|
119
122
|
|
|
120
|
-
<br>
|
|
121
124
|
|
|
122
125
|
## Differentiators
|
|
123
126
|
|
|
@@ -138,11 +141,12 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
138
141
|
### Better performance
|
|
139
142
|
|
|
140
143
|
- Built completely from scratch with Svelte instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast. The compiled code is vanilla JavaScript — you can use it with any framework or static site generator (SSG) that can load static data files during the build process.
|
|
141
|
-
- Small footprint: The bundle size is less than 500 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet. That’s the power of Svelte + Vite.
|
|
144
|
+
- Small footprint: The bundle size is less than 500 KB when minified and brotlied, which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.8 MB) and Static CMS (2.6 MB)[^57][^64], even though we haven’t implemented some features yet, but rather implemented many new features. That’s the power of Svelte + Vite.
|
|
142
145
|
- 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. A full migration to the Runes reactivity API is in progress.
|
|
143
146
|
- Sveltia CMS is free of technical debt and [virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead).
|
|
144
147
|
- 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 ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation widgets[^14].
|
|
145
148
|
- 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/).
|
|
149
|
+
- Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern File System Access API to read and write files natively through the web browser, rather than using a slow, ad hoc REST API through a proxy server.
|
|
146
150
|
- Sorting, filtering and grouping of entries is done instantly without reloading the entire content.
|
|
147
151
|
- Uses caching and lazy loading techniques. A list of repository files is stored locally for faster startup and bandwidth savings.
|
|
148
152
|
- 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].
|
|
@@ -150,9 +154,8 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
150
154
|
|
|
151
155
|
### Better productivity
|
|
152
156
|
|
|
153
|
-
- Developers can [work with a local Git repository](#working-with-a-local-git-repository) without any
|
|
154
|
-
-
|
|
155
|
-
- It also avoids a number of issues, including the 30 MB file size limit[^51], an unknown error with `publish_mode`[^75], and an unused `logo_url`[^49].
|
|
157
|
+
- 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].
|
|
158
|
+
- It also avoids a number of issues, including potential dependency corruption[^158], a 30 MB file size limit[^51], an unknown error with `publish_mode`[^75], and an unused `logo_url`[^49].
|
|
156
159
|
- 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.
|
|
157
160
|
- Provides a smoother user experience in the Content Editor:
|
|
158
161
|
- 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].
|
|
@@ -178,6 +181,7 @@ We are working hard to create a **tremendously better alternative to Netlify CMS
|
|
|
178
181
|
### Better security
|
|
179
182
|
|
|
180
183
|
- Avoids vulnerabilities in dependencies through constant updates, [`pnpm audit`](https://pnpm.io/cli/audit), and frequent releases, unlike Netlify/Decap CMS where a number of high severity vulnerabilities are unpatched[^33].
|
|
184
|
+
- Our [local repository workflow](#working-with-a-local-git-repository) doesn’t require a proxy server, reducing an attack surface[^158].
|
|
181
185
|
- We have enabled [npm package provenance](https://github.blog/security/supply-chain-security/introducing-npm-package-provenance/).
|
|
182
186
|
- We have documented how to [set up a Content Security Policy](#setting-up-content-security-policy) for the CMS to prevent any unexpected errors or otherwise insecure configuration[^108].
|
|
183
187
|
- The `unsafe-eval` and `unsafe-inline` keywords are not needed in the `script-src` CSP directive[^34].
|
|
@@ -240,16 +244,21 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
240
244
|
- Provides some new options, including:
|
|
241
245
|
- `icon`: [Choose a custom icon for each collection](#using-a-custom-icon-for-a-collection)[^3].
|
|
242
246
|
- `divider`: [Add dividers to the collection list](#adding-dividers-to-the-collection-list).
|
|
243
|
-
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list[^130]. A nested field can be specified using dot notation, e.g. `images.0.src`. If undefined, the `name` of the first image field is used.
|
|
247
|
+
- `thumbnail`: Specify the field name for a thumbnail displayed on the entry list, like `thumbnail: featuredImage`[^130]. A nested field can be specified using dot notation, e.g. `images.0.src`. If undefined, the `name` of the first image field is used.
|
|
244
248
|
- Enhancements to the entry `filter` option for folder collections:
|
|
245
249
|
- Boolean `value` works as expected[^93].
|
|
246
250
|
- `value` accepts `null` to match an undefined field value.
|
|
247
251
|
- `value` accepts an array to provide multiple possible values[^151].
|
|
248
252
|
- `pattern` can be used instead of `value` to provide a regular expression, just like the `view_filters` collection option[^153].
|
|
253
|
+
- Enhancements to [summary string transformations](https://decapcms.org/docs/summary-strings/):
|
|
254
|
+
- Transformations can be used in more places than just the collection `summary`:
|
|
255
|
+
- The `slug` collection option[^29]
|
|
256
|
+
- The `summary` field option for the List and Object widgets
|
|
257
|
+
- Multiple transformations can be chained like `{{title | upper | truncate(20)}}`.
|
|
258
|
+
- The `date` transformation supports the time zone argument. The only available value is `utc`, which converts a date to UTC. This is useful if the specified DateTime field is local, but you want to force UTC in the entry slug, e.g. `{{date | date('YYYYMMDD-HHmm', 'utc')}}`. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/278#issuecomment-2565313420))
|
|
249
259
|
- Nested fields (dot notation) can be used in the `path` option for a folder collection, e.g. `{{fields.state.name}}/{{slug}}`[^62].
|
|
250
260
|
- Markdown is supported in the `description` collection option[^79]. Bold, italic, strikethrough, code and links are allowed.
|
|
251
261
|
- The collection `folder` can be an empty string (or `.` or `/`) if you want to store entries in the root folder. This supports a typical VitePress setup.
|
|
252
|
-
- Multiple [summary string transformations](https://decapcms.org/docs/summary-strings/) can be chained like `{{title | upper | truncate(20)}}`.
|
|
253
262
|
- Entry slugs
|
|
254
263
|
- It’s possible to [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug).
|
|
255
264
|
- Slug generation is fail-safe: If a slug cannot be determined from entry content, part of a random UUID is used instead of throwing an error or filling in with arbitrary string field values[^133].
|
|
@@ -260,19 +269,21 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
260
269
|
- Setting the collection `path` doesn’t affect the entry slugs stored with the Relation widget[^137].
|
|
261
270
|
- Entry slugs are [localizable](#localizing-entry-slugs)[^80].
|
|
262
271
|
- Entry listing
|
|
263
|
-
- The collection list displays the number of items in each collection.
|
|
264
272
|
- Sorting entries by a DateTime field works as expected[^110].
|
|
265
273
|
- Entry grouping and sorting can work together. For example, it’s possible to group by year and then sort by year if configured properly.
|
|
266
274
|
- Hugo’s special `_index.md` files, including localized ones like `_index.en.md`, are ignored in folder collections unless the `path` option is configured to end with `_index` and the `extension` is `md`[^120]. You can still manage these files as part of a file collection if necessary.
|
|
267
275
|
- A console error won’t be thrown when a collection doesn’t have the `title` field[^152]. In that case, an entry summary will be generated from a header in the Markdown `body` field, if exists, or from the entry slug, so the summary will never be an empty. This supports a typical VitePress setup.
|
|
268
276
|
- If there was an error while parsing an entry file, such as duplicate front matter keys, it won’t show up as a blank entry, and a clear error message will be displayed in the browser console[^121].
|
|
277
|
+
- A single file can be used for more than one item in a file collection[^127].
|
|
278
|
+
- User interface
|
|
279
|
+
- The collection list displays the number of items in each collection.
|
|
280
|
+
- Users can select multiple entries and delete them at once.
|
|
269
281
|
- In an entry summary, basic Markdown syntax used in the title, including bold, italic and code, are parsed as Markdown. HTML character references (entities) are also parsed properly[^69].
|
|
270
|
-
- If you update an entry field that appears in the collection’s `summary`, such as `title`, the entry list displays an updated summary after you save the entry.
|
|
282
|
+
- If you update an entry field that appears in the collection’s `summary`, such as `title`, the entry list displays an updated summary after you save the entry[^159].
|
|
271
283
|
- If entries don’t have an Image field for thumbnails, the entry list will only be displayed in list view, because it doesn’t make sense to show grid view[^143].
|
|
272
284
|
- Assets stored in a [collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
|
|
273
285
|
- The New Entry button won’t appear when a developer accidentally sets the `create: true` option on a file collection because it’s useless[^89].
|
|
274
286
|
- The Delete Entry button won’t appear when a developer accidentally sets the `delete: true` option on a file collection because the preconfigured files should not be deleted.
|
|
275
|
-
- A single file can be used for more than one item in a file collection[^127].
|
|
276
287
|
|
|
277
288
|
### Better content editing
|
|
278
289
|
|
|
@@ -301,7 +312,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
301
312
|
- YAML string folding (maximum line width) is disabled, mainly for framework compatibility[^119].
|
|
302
313
|
- DateTime field values in ISO 8601 format are stored in native date/time format instead of quoted strings when the data output is TOML[^147].
|
|
303
314
|
- Provides JSON/YAML format options as part of the [data output options](#controlling-data-output), including indentation and quotes[^9][^155].
|
|
304
|
-
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double`
|
|
315
|
+
- The `yaml_quote` collection option added in [v0.5.10](https://github.com/sveltia/sveltia-cms/releases/tag/v0.5.10) is now deprecated and will be removed in v1.0.0. `yaml_quote: true` is equivalent to `quote: double` in the new YAML format options.
|
|
305
316
|
|
|
306
317
|
### Better widgets
|
|
307
318
|
|
|
@@ -333,9 +344,10 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
333
344
|
- The rich text editor is built with the well-maintained [Lexical](https://lexical.dev/) framework, which solves various issues with a [Slate](https://github.com/ianstormtaylor/slate)-based editor in Netlify/Decap CMS, including fatal application crashes[^71][^72][^73][^111], lost formatting when pasting[^124], backslash injections[^53], dropdown visibility[^70], and text input difficulties with IME[^54].
|
|
334
345
|
- The built-in `image` editor component can be inserted with a single click.
|
|
335
346
|
- The default editor mode can be set by changing the order of the `modes` option[^58]. If you want to use the plain text editor by default, add `modes: [raw, rich_text]` to the field configuration.
|
|
347
|
+
- A combination of bold and italic doesn’t create a confusing 3-asterisk markup[^160]. In our editor, bold is 2 asterisks and italic is an underscore.
|
|
336
348
|
- Line breaks are rendered as line breaks in the preview pane according to GitHub Flavored Markdown (GFM).
|
|
337
349
|
- Number
|
|
338
|
-
- If the `value_type` option is `int` (default) or `float`, the `required` option is `false`, and the value is not entered, the field will be saved as `null`
|
|
350
|
+
- If the `value_type` option is `int` (default) or `float`, the `required` option is `false`, and the value is not entered, the field will be saved as `null` instead of an empty string[^157]. If `value_type` is anything else, the data type will remain a string.
|
|
339
351
|
- Object
|
|
340
352
|
- Sveltia CMS offers two ways to have conditional fields in a collection[^30]:
|
|
341
353
|
- The Object widget supports [variable types](https://decapcms.org/docs/variable-type-widgets/) (the `types` option) just like the List widget.
|
|
@@ -387,7 +399,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
|
|
|
387
399
|
- The new `keyvalue` widget allows users to add arbitrary key-value string pairs to a field[^123].
|
|
388
400
|
- The implementation is compatible with [Static CMS](https://staticjscms.netlify.app/docs/widget-keyvalue), but we provide a more intuitive UI. You can press Enter to move focus or add a new row while editing, and the preview is displayed in a clean table.
|
|
389
401
|
- UUID
|
|
390
|
-
- In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS
|
|
402
|
+
- In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS supports the proposed `uuid` widget with the following properties[^12]:
|
|
391
403
|
- `prefix`: A string to be prepended to the value. Default: an empty string.
|
|
392
404
|
- `use_b32_encoding`: Whether to encode the value with Base32. Default: `false`.
|
|
393
405
|
- `read_only`: Whether to make the field read-only. Default: `true`.
|
|
@@ -436,11 +448,11 @@ However, 100% feature parity is not planned, and some features are still missing
|
|
|
436
448
|
|
|
437
449
|
### Features not to be implemented
|
|
438
450
|
|
|
439
|
-
- **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained
|
|
440
|
-
- **Netlify Identity Widget will not be supported**, as it’s not useful without Git Gateway. The [widget](https://github.com/netlify/netlify-identity-widget) has been unmaintained for years, and Netlify no longer officially supports it [according to a Netlify customer](https://github.com/sveltia/sveltia-cms/discussions/284). We plan to develop an alternative solution in the future, most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
|
|
451
|
+
- **The Bitbucket, Gitea/Forgejo and Git Gateway backends will not be supported** 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 high-performance alternative in the future. We may also support the other platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
|
|
452
|
+
- **Netlify Identity Widget will not be supported**, as it’s not useful without Git Gateway. The [widget](https://github.com/netlify/netlify-identity-widget) has been unmaintained for years, and Netlify no longer officially supports it [according to a Netlify customer](https://github.com/sveltia/sveltia-cms/discussions/284). 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/).
|
|
441
453
|
- The deprecated client-side implicit grant for the GitLab backend will not be supported, as it has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
|
|
442
454
|
- The deprecated Netlify Large Media service will not be supported. Consider other storage providers.
|
|
443
|
-
- The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget instead.
|
|
455
|
+
- The deprecated Date widget will not be supported, as it has already been removed from Decap CMS 3.0. Use the DateTime widget with the `time_format: false` option instead.
|
|
444
456
|
- Remark plugins will not be supported, as they are not compatible with our Lexical-based rich text editor.
|
|
445
457
|
- [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `window.CMS` object will not be implemented. 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.
|
|
446
458
|
|
|
@@ -467,19 +479,27 @@ These limitations are expected to be resolved before the 1.0 release:
|
|
|
467
479
|
|
|
468
480
|
### Features to be implemented after GA
|
|
469
481
|
|
|
470
|
-
Due to the complexity, the following features are planned for after the 1.0 release.
|
|
482
|
+
Due to the complexity, the following features are planned for after the 1.0 release. Netlify/Decap CMS has a number of open issues with these advanced features and we want to implement them the right way.
|
|
471
483
|
|
|
472
484
|
- [Editorial Workflow](https://decapcms.org/docs/editorial-workflows/)
|
|
473
485
|
- [Open Authoring](https://decapcms.org/docs/open-authoring/)
|
|
474
486
|
- [Nested Collections](https://decapcms.org/docs/collection-nested/)
|
|
475
487
|
|
|
488
|
+
### Compatibility with Static CMS
|
|
489
|
+
|
|
490
|
+
We plan to provide partial compatibility with [Static CMS](https://github.com/StaticJsCMS/static-cms), a now-defunct fork of Netlify CMS. This README will be updated with more details as our development progresses.
|
|
491
|
+
|
|
492
|
+
- The KeyValue widget is implemented in Sveltia CMS with the same options.
|
|
493
|
+
- The UUID widget is also implemented, but with different options.
|
|
494
|
+
- The `prefix` and `suffix` options for the Boolean, Number and String widgets are implemented as `before_input` and `after_input` in Sveltia CMS. Our `prefix` and `suffix` options for the String widget are literally a prefix and suffix to the value.
|
|
495
|
+
- `CMS.registerIcon()` won’t be supported, as Sveltia CMS includes Material Symbols for [custom collection icons](#using-a-custom-icon-for-a-collection).
|
|
496
|
+
|
|
476
497
|
### Other notes
|
|
477
498
|
|
|
478
499
|
- Make sure you’re using the latest stable version of a web browser. Firefox ESR and its derivatives, including Tor Browser and Mullvad Browser, are not supported, although they may still work. The [local repository workflow](#working-with-a-local-git-repository) requires Chrome, Edge or another Chromium-based browser.
|
|
479
500
|
- Sveltia CMS requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), meaning it only works with HTTPS, `localhost` or `127.0.0.1` URLs. If you’re running a remote server yourself and it’s served over HTTP, get a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
|
|
480
501
|
- The GitLab backend requires GitLab 16.3 or later.
|
|
481
|
-
-
|
|
482
|
-
- Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug).
|
|
502
|
+
- Found a compatibility issue or other missing feature? [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?labels=bug). Bear in mind that undocumented behaviour can easily be overlooked!
|
|
483
503
|
|
|
484
504
|
## Getting started
|
|
485
505
|
|
|
@@ -572,7 +592,7 @@ If you get an “Authentication Aborted” error when trying to sign in to GitHu
|
|
|
572
592
|
|
|
573
593
|
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/articles/file-system-access/) available in [some modern browsers](https://developer.mozilla.org/en-US/docs/web/api/window/showopenfilepicker#browser_compatibility).
|
|
574
594
|
|
|
575
|
-
|
|
595
|
+
Here are the workflow steps and tips:
|
|
576
596
|
|
|
577
597
|
1. Make sure you have configured the [GitHub](https://decapcms.org/docs/github-backend/) or [GitLab](https://decapcms.org/docs/gitlab-backend/) backend.
|
|
578
598
|
- Please note that 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. You’ll need either `name: github` or `name: gitlab` along with the `repo` definition. If you haven’t determined your repository name yet, just use a tentative name.
|
|
@@ -686,7 +706,7 @@ If you have upgraded to DeepL API Pro, provide your new Authentication Key:
|
|
|
686
706
|
|
|
687
707
|
1. Click the Account button in the upper right corner, then click Settings.
|
|
688
708
|
1. Select the Language tab.
|
|
689
|
-
1.
|
|
709
|
+
1. Replace your free API key with the new paid API key in the DeepL API Authentication Key field.
|
|
690
710
|
1. Close the Settings dialog.
|
|
691
711
|
|
|
692
712
|
### Localizing entry slugs
|
|
@@ -808,7 +828,7 @@ Sveltia CMS supports some [data output](#better-data-output) options, including
|
|
|
808
828
|
|
|
809
829
|
```yaml
|
|
810
830
|
output:
|
|
811
|
-
omit_empty_optional_fields: false
|
|
831
|
+
omit_empty_optional_fields: false
|
|
812
832
|
json:
|
|
813
833
|
indent_style: space # or tab
|
|
814
834
|
indent_size: 2
|
|
@@ -958,13 +978,13 @@ img-src 'self' blob: data: https://*;
|
|
|
958
978
|
|
|
959
979
|
While we don’t have dedicated developer/user support resources, [quick questions](https://github.com/sveltia/sveltia-cms/discussions/new?category=q-a) and [feedback](https://github.com/sveltia/sveltia-cms/discussions/new?category=general) are welcome on the [Discussions](https://github.com/sveltia/sveltia-cms/discussions) page of our GitHub repository. We also have a [Discord channel](https://discord.gg/5hwCGqup5b) for casual chat.
|
|
960
980
|
|
|
961
|
-
As described throughout this README, Sveltia CMS is being built as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are migrating from the other product. We are happy to help you migrate, but
|
|
981
|
+
As described throughout this README, Sveltia CMS is being built as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are migrating from the other product. We are happy to help you migrate, but we cannot help you set up Sveltia CMS from scratch through our free support channels.
|
|
962
982
|
|
|
963
|
-
Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out
|
|
983
|
+
Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out!
|
|
964
984
|
|
|
965
985
|
## Contributions
|
|
966
986
|
|
|
967
|
-
See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/main/CONTRIBUTING.md).
|
|
987
|
+
See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/main/CONTRIBUTING.md). Bug reports are highly encouraged!
|
|
968
988
|
|
|
969
989
|
## Roadmap
|
|
970
990
|
|
|
@@ -981,9 +1001,9 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
981
1001
|
|
|
982
1002
|
### After the 1.0 release
|
|
983
1003
|
|
|
984
|
-
- Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and
|
|
1004
|
+
- Implementing the remaining Netlify/Decap CMS features: Editorial Workflow, Open Authoring and Nested Collections
|
|
985
1005
|
- Tackling more Netlify/Decap CMS issues, including MDX support[^122], manual entry sorting[^125], roles[^23], mobile optimization[^18] and config editor[^10] — Some [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are already implemented in Sveltia CMS
|
|
986
|
-
- Exploring further compatibility with Static CMS
|
|
1006
|
+
- Exploring further [compatibility with Static CMS](#compatibility-with-static-cms)
|
|
987
1007
|
- More integration options: stock photos, stock videos, cloud storage providers, translation services, maps, analytics tools
|
|
988
1008
|
- AI integrations for image generation and content writing
|
|
989
1009
|
- Advanced digital asset management (DAM) features, including image editing and tagging[^114]
|
|
@@ -991,6 +1011,7 @@ See [Contributing to Sveltia CMS](https://github.com/sveltia/sveltia-cms/blob/ma
|
|
|
991
1011
|
- Contributor documentation
|
|
992
1012
|
- Marketplace for custom widgets, etc.
|
|
993
1013
|
- Git Gateway alternative
|
|
1014
|
+
- VS Code extension for `config.yml` schema validation
|
|
994
1015
|
- and so much more!
|
|
995
1016
|
|
|
996
1017
|
## Related links
|
|
@@ -1020,7 +1041,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1020
1041
|
|
|
1021
1042
|
[^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
|
|
1022
1043
|
|
|
1023
|
-
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386)
|
|
1044
|
+
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386), [#4888](https://github.com/decaporg/decap-cms/issues/4888)
|
|
1024
1045
|
|
|
1025
1046
|
[^8]: Netlify/Decap CMS [#2579](https://github.com/decaporg/decap-cms/issues/2579)
|
|
1026
1047
|
|
|
@@ -1040,7 +1061,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1040
1061
|
|
|
1041
1062
|
[^16]: Netlify/Decap CMS [#2103](https://github.com/decaporg/decap-cms/issues/2103), [#7302](https://github.com/decaporg/decap-cms/discussions/7302)
|
|
1042
1063
|
|
|
1043
|
-
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333)
|
|
1064
|
+
[^17]: Netlify/Decap CMS [#1333](https://github.com/decaporg/decap-cms/issues/1333), [#4216](https://github.com/decaporg/decap-cms/issues/4216)
|
|
1044
1065
|
|
|
1045
1066
|
[^18]: Netlify/Decap CMS [#441](https://github.com/decaporg/decap-cms/issues/441)
|
|
1046
1067
|
|
|
@@ -1072,9 +1093,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1072
1093
|
|
|
1073
1094
|
[^32]: Netlify/Decap CMS [#302](https://github.com/decaporg/decap-cms/issues/302), [#5549](https://github.com/decaporg/decap-cms/issues/5549)
|
|
1074
1095
|
|
|
1075
|
-
[^33]: Netlify/Decap CMS [#542](https://github.com/decaporg/decap-cms/issues/542), [#6513](https://github.com/decaporg/decap-cms/issues/6513), [#7295](https://github.com/decaporg/decap-cms/issues/7295)
|
|
1096
|
+
[^33]: Netlify/Decap CMS [#542](https://github.com/decaporg/decap-cms/issues/542), [#4532](https://github.com/decaporg/decap-cms/issues/4532) [#6513](https://github.com/decaporg/decap-cms/issues/6513), [#7295](https://github.com/decaporg/decap-cms/issues/7295)
|
|
1076
1097
|
|
|
1077
|
-
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138), [#5932](https://github.com/decaporg/decap-cms/discussions/5932)
|
|
1098
|
+
[^34]: Netlify/Decap CMS [#2138](https://github.com/decaporg/decap-cms/issues/2138), [#2343](https://github.com/decaporg/decap-cms/issues/2343), [#4367](https://github.com/decaporg/decap-cms/issues/4367), [#5932](https://github.com/decaporg/decap-cms/discussions/5932)
|
|
1078
1099
|
|
|
1079
1100
|
[^35]: Netlify/Decap CMS [#7086](https://github.com/decaporg/decap-cms/issues/7086)
|
|
1080
1101
|
|
|
@@ -1160,9 +1181,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1160
1181
|
|
|
1161
1182
|
[^76]: Netlify/Decap CMS [#4738](https://github.com/decaporg/decap-cms/issues/4738)
|
|
1162
1183
|
|
|
1163
|
-
[^77]: Netlify/Decap CMS [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#
|
|
1184
|
+
[^77]: Netlify/Decap CMS [#2009](https://github.com/decaporg/decap-cms/issues/2009), [#3415](https://github.com/decaporg/decap-cms/issues/3415), [#3952](https://github.com/decaporg/decap-cms/issues/3952), [#6563](https://github.com/decaporg/decap-cms/issues/6563)
|
|
1164
1185
|
|
|
1165
|
-
[^78]: Netlify/Decap CMS [#2294](https://github.com/decaporg/decap-cms/issues/2294), [#3046](https://github.com/decaporg/decap-cms/issues/3046), [#4363](https://github.com/decaporg/decap-cms/issues/4363)
|
|
1186
|
+
[^78]: Netlify/Decap CMS [#2294](https://github.com/decaporg/decap-cms/issues/2294), [#3046](https://github.com/decaporg/decap-cms/issues/3046), [#4363](https://github.com/decaporg/decap-cms/issues/4363), [#4520](https://github.com/decaporg/decap-cms/issues/4520) [#5806](https://github.com/decaporg/decap-cms/issues/5806)
|
|
1166
1187
|
|
|
1167
1188
|
[^79]: Netlify/Decap CMS [#5726](https://github.com/decaporg/decap-cms/issues/5726)
|
|
1168
1189
|
|
|
@@ -1178,7 +1199,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1178
1199
|
|
|
1179
1200
|
[^85]: Netlify/Decap CMS [#5055](https://github.com/decaporg/decap-cms/issues/5055), [#5470](https://github.com/decaporg/decap-cms/issues/5470), [#6989](https://github.com/decaporg/decap-cms/issues/6989)
|
|
1180
1201
|
|
|
1181
|
-
[^86]: Netlify/Decap CMS [#5253](https://github.com/decaporg/decap-cms/issues/5253), [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
1202
|
+
[^86]: Netlify/Decap CMS [#3557](https://github.com/decaporg/decap-cms/issues/3557), [#5253](https://github.com/decaporg/decap-cms/issues/5253), [#6759](https://github.com/decaporg/decap-cms/issues/6759), [#6901](https://github.com/decaporg/decap-cms/issues/6901)
|
|
1182
1203
|
|
|
1183
1204
|
[^87]: Netlify/Decap CMS [#5280](https://github.com/decaporg/decap-cms/issues/5280)
|
|
1184
1205
|
|
|
@@ -1226,7 +1247,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1226
1247
|
|
|
1227
1248
|
[^109]: Netlify/Decap CMS [#7197](https://github.com/decaporg/decap-cms/issues/7197)
|
|
1228
1249
|
|
|
1229
|
-
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637)
|
|
1250
|
+
[^110]: Netlify/Decap CMS [#4637](https://github.com/decaporg/decap-cms/issues/4637), [#5198](https://github.com/decaporg/decap-cms/issues/5198)
|
|
1230
1251
|
|
|
1231
1252
|
[^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218)
|
|
1232
1253
|
|
|
@@ -1321,3 +1342,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
1321
1342
|
[^156]: Netlify/Decap CMS [#995](https://github.com/decaporg/decap-cms/issues/995), [#2017](https://github.com/decaporg/decap-cms/issues/2017), [#7120](https://github.com/decaporg/decap-cms/issues/7120), [#7186](https://github.com/decaporg/decap-cms/issues/7186)
|
|
1322
1343
|
|
|
1323
1344
|
[^157]: Netlify/Decap CMS [#2007](https://github.com/decaporg/decap-cms/issues/2007), [#2848](https://github.com/decaporg/decap-cms/issues/2848)
|
|
1345
|
+
|
|
1346
|
+
[^158]: Netlify/Decap CMS [#6107](https://github.com/decaporg/decap-cms/issues/6107)
|
|
1347
|
+
|
|
1348
|
+
[^159]: Netlify/Decap CMS [#3796](https://github.com/decaporg/decap-cms/issues/3796)
|
|
1349
|
+
|
|
1350
|
+
[^160]: Netlify/Decap CMS [#3291](https://github.com/decaporg/decap-cms/issues/3291)
|