diff --git a/src/content/examples/Index.svelte b/src/content/examples/Index.svelte
index 9a56b4e..4e99f94 100644
--- a/src/content/examples/Index.svelte
+++ b/src/content/examples/Index.svelte
@@ -21,7 +21,8 @@
'/examples/geolocate': 'Locate the User',
'/examples/image-loader': 'Load Images from URLs',
'/examples/custom-control': 'Custom Control',
- '/examples/custom-protocol': 'Custom Protocols'
+ '/examples/custom-protocol': 'Custom Protocols',
+ '/examples/custom-layer': 'Custom Layer'
}
},
{
diff --git a/src/content/examples/custom-control/content.svelte.md b/src/content/examples/custom-control/content.svelte.md
index f14805f..7e159be 100644
--- a/src/content/examples/custom-control/content.svelte.md
+++ b/src/content/examples/custom-control/content.svelte.md
@@ -4,11 +4,12 @@ description: Custom Control allows to easily create user defined controls.
---
-
+
-
+
diff --git a/src/content/examples/custom-layer/CustomLayer.svelte b/src/content/examples/custom-layer/CustomLayer.svelte
new file mode 100644
index 0000000..cb3c12b
--- /dev/null
+++ b/src/content/examples/custom-layer/CustomLayer.svelte
@@ -0,0 +1,89 @@
+
+
+
+
+
diff --git a/src/content/examples/custom-layer/content.svelte.md b/src/content/examples/custom-layer/content.svelte.md
new file mode 100644
index 0000000..89a5197
--- /dev/null
+++ b/src/content/examples/custom-layer/content.svelte.md
@@ -0,0 +1,15 @@
+---
+title: Custom style layer
+description: Use a custom style layer to render custom WebGL content.
+---
+
+
+
+
+
+
diff --git a/src/content/examples/custom-protocol/content.svelte.md b/src/content/examples/custom-protocol/content.svelte.md
index 0fe4234..b2dfc00 100644
--- a/src/content/examples/custom-protocol/content.svelte.md
+++ b/src/content/examples/custom-protocol/content.svelte.md
@@ -4,11 +4,12 @@ description: How to add custom protocols.
---
-
+
-
+
diff --git a/src/lib/maplibre/index.ts b/src/lib/maplibre/index.ts
index 14379ca..88675bd 100644
--- a/src/lib/maplibre/index.ts
+++ b/src/lib/maplibre/index.ts
@@ -32,6 +32,7 @@ export { default as HeatmapLayer } from './layers/HeatmapLayer.svelte';
export { default as RasterLayer } from './layers/RasterLayer.svelte';
export { default as HillshadeLayer } from './layers/HillshadeLayer.svelte';
export { default as BackgroundLayer } from './layers/BackgroundLayer.svelte';
+export { default as CustomLayer } from './layers/CustomLayer.svelte';
// markers
export { default as Marker } from './markers/Marker.svelte';
diff --git a/src/lib/maplibre/layers/CustomLayer.svelte b/src/lib/maplibre/layers/CustomLayer.svelte
new file mode 100644
index 0000000..79fb22e
--- /dev/null
+++ b/src/lib/maplibre/layers/CustomLayer.svelte
@@ -0,0 +1,84 @@
+
+
+{@render children?.()}
diff --git a/src/routes/components/+layout.svelte b/src/routes/components/+layout.svelte
index 7716c76..2106114 100644
--- a/src/routes/components/+layout.svelte
+++ b/src/routes/components/+layout.svelte
@@ -4,11 +4,11 @@
let { children } = $props();
-
+
diff --git a/src/routes/components/[slug]/+page.svelte b/src/routes/components/[slug]/+page.svelte
index 6eb8a08..a8e3c0d 100644
--- a/src/routes/components/[slug]/+page.svelte
+++ b/src/routes/components/[slug]/+page.svelte
@@ -2,7 +2,7 @@
const { data } = $props();
-
+
{data.meta.title}
diff --git a/src/routes/examples/+layout.svelte b/src/routes/examples/+layout.svelte
index c4052d2..9e88ed0 100644
--- a/src/routes/examples/+layout.svelte
+++ b/src/routes/examples/+layout.svelte
@@ -4,11 +4,11 @@
let { children } = $props();
-
+
diff --git a/src/routes/examples/[slug]/+page.svelte b/src/routes/examples/[slug]/+page.svelte
index 6eb8a08..a8e3c0d 100644
--- a/src/routes/examples/[slug]/+page.svelte
+++ b/src/routes/examples/[slug]/+page.svelte
@@ -2,7 +2,7 @@
const { data } = $props();
-