JSPM

@cloudcannon/svelte-connector

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 81
  • Score
    100M100P100Q78242F
  • License ISC

A connector for live editing Svelte components in CloudCannon

Package Exports

  • @cloudcannon/svelte-connector
  • @cloudcannon/svelte-connector/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@cloudcannon/svelte-connector) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

CloudCannon Svelte Connector

Give your editors a live visual editing experience by connecting your Svelte site to CloudCannon.

Installation

npm i @cloudcannon/svelte-connector

Example Site

This repository contains a minimal example site. You can upload this site to CloudCannon to test live editing for yourself.

Usage

Requirements for Live Editing

  • Components must have an output URL. SvelteKit routes are a good example.
  • Components must get their data from a data/content file somewhere in your project. This is critical, as the Visual Editor cannot open the components themselves.
  • These data/content files must be configured as a CloudCannon Collection. See the CloudCannon Reader documentation for more information.
  • Components will need to use the Svelte onDestroy and onMount functions.

Add the following code to the component/page you wish to live edit:

<script>
 import { onDestroy, onMount } from 'svelte';
 import { onCloudCannonChanges, stopCloudCannonChanges } from '@cloudcannon/svelte-connector';

 // pageDetails is passed from parent, or via SvelteKit load function
 export let pageDetails;

 onMount(async () => {
   onCloudCannonChanges((newProps) => pageDetails = newProps);
 });

 onDestroy(async () => {
   stopCloudCannonChanges();
 });
</script>

In the above code, pageDetails is an object that contains data for the markup portion of the component. After loading the content file in the Visual Editor, changing the data in the sidebar will push the new props to pageDetails. This will display the new values in the Visual Editor immediately.

Live Editing in CloudCannon

Once configured, open your site in CloudCannon. Open your collection in the sidebar, then open the page you wish to edit. Alternatively, open the content file in the CloudCannon file browser, and then switch to the Visual Editor.

Make changes to your data in the sidebar. Your new content will immediately update in the Visual Editor.