diff --git a/demo/src/lib/views/hash-routing/HashRoutingView.svelte b/demo/src/lib/views/hash-routing/HashRoutingView.svelte
index e6e5e32..d150211 100644
--- a/demo/src/lib/views/hash-routing/HashRoutingView.svelte
+++ b/demo/src/lib/views/hash-routing/HashRoutingView.svelte
@@ -1,149 +1,21 @@
đ Hash Routing
- Navigate your app using URL fragments! Hash routing uses the portion after the `#` character
- to determine routes, perfect for client-side navigation that works everywhere.
+ Navigate your app using URL fragments! Hash routing uses the portion after the `#` character to
+ determine routes, perfect for client-side navigation that works everywhere.
-
-
-
-
-
-
- ⨠Basic Hash Routing
-
-
-
- Hash routing is perfect for single-page applications. It works without server
- configuration and plays nicely with static hosting!
-
-
-
-
- đĄ Try changing the URL hash to see routing in action!
-
-
-
-
-
-
-
-
- đ¯ URL Examples
-
-
- See how URLs look in both single and multi-hash modes:
-
-
-
-
-
-
-
- đ Links & Navigation
-
-
-
- You should always stick to Link components when creating navigation links. However,
- hash HREF's in anchor elements work:
-
-
-
- âšī¸ Anchor elements, when clicked, carry the existing history state.
-
- Live Code Sample
-
-
-
-
-
-
-
-
-
-
-
- đ Multiple Hash Routers
-
-
-
- Run multiple independent hash routers simultaneously! Each router gets its own
- namespace in the hash value using key-value pairs.
-
-
-
- Cool fact: Multi-hash mode uses semicolon-separated key/value
- pairs, so `#sidebar=/nav;main=/dashboard` runs two routers independently!
-
-
- đĄ Pro tip: Keep your multi-hash path names short to prevent URLs from growing too long!
-
-
-
-
-
-
-
- đ¤ Path + Hash Harmony
-
-
-
- Mix path and hash routing! Use path routing for main navigation and hash
- routing for modals, tabs, or secondary navigation.
-
-
-
- Best practice: Use path routing for main content and hash
- routing for overlays and temporary UI states.
-
-
-
-
-
diff --git a/demo/src/lib/views/hash-routing/InCodeView.svelte b/demo/src/lib/views/hash-routing/InCodeView.svelte
new file mode 100644
index 0000000..674e33a
--- /dev/null
+++ b/demo/src/lib/views/hash-routing/InCodeView.svelte
@@ -0,0 +1,124 @@
+
+
+
+
In-Code Hash Routing
+
Explore how to implement hash routing directly within your Svelte components.
+
+
+
+
+ ⨠Basic Hash Routing
+
+
+
+ Hash routing is perfect for single-page applications. It works without server
+ configuration and plays nicely with static hosting!
+
+
+
+
+ đĄ Try changing the URL hash to see routing in action!
+
+
+
+
+
+
+
+
+ đ¯ URL Examples
+
+
+ See how URLs look in both single and multi-hash modes:
+
+
+
+
+
+
+
+ đ Links & Navigation
+
+
+
+ You should always stick to Link components when creating navigation links. However,
+ hash HREF's in anchor elements work:
+
+
+
+ âšī¸ Anchor elements, when clicked, carry the existing history state.
+
+ Live Code Sample
+
+
+
+
+
+
+
+
+
+
+ đ Multiple Hash Routers
+
+
+
+ Run multiple independent hash routers simultaneously! Each router gets its own namespace
+ in the hash value using key-value pairs.
+
+
+
+ Cool fact: Multi-hash mode uses semicolon-separated key/value pairs, so
+ `#sidebar=/nav;main=/dashboard` runs two routers independently!
+
+
+ đĄ Pro tip: Keep your multi-hash path names short to prevent URLs from growing
+ too long!
+
+
+
+
+
+
+
+ đ¤ Path + Hash Harmony
+
+
+
+ Mix path and hash routing! Use path routing for main navigation and hash routing for
+ modals, tabs, or secondary navigation.
+
+
+
+ Best practice: Use path routing for main content and hash routing for overlays
+ and temporary UI states.
+
+
+
+
+
+
diff --git a/demo/src/lib/views/home/Hero.svelte b/demo/src/lib/views/home/Hero.svelte
index 87fa2b8..b6837df 100644
--- a/demo/src/lib/views/home/Hero.svelte
+++ b/demo/src/lib/views/home/Hero.svelte
@@ -1,11 +1,13 @@
-
{title}
-
{subtitle}
+
+ webJose's {title}
+ {subtitle}
+
diff --git a/demo/src/lib/views/path-routing/views/HomeView.svelte b/demo/src/lib/views/path-routing/views/HomeView.svelte
index 2ef748d..6a2e6f4 100644
--- a/demo/src/lib/views/path-routing/views/HomeView.svelte
+++ b/demo/src/lib/views/path-routing/views/HomeView.svelte
@@ -5,6 +5,7 @@
import CardBody from '../../../CardBody.svelte';
import xml from 'svelte-highlight/languages/xml';
import typescript from 'svelte-highlight/languages/typescript';
+ import { getTitleContext } from '../../../state/title.svelte';
// Import code samples as raw text
import basicPathRouterCode from '../code-samples/basic-path-router.txt?raw';
@@ -13,6 +14,8 @@
import routeParametersCode from '../code-samples/route-parameters.txt?raw';
import urlExamples from '../code-samples/url-examples.ts?raw';
import routeGuardsCode from '../code-samples/route-guards.txt?raw';
+
+ getTitleContext().current = 'Path Routing';
diff --git a/demo/src/lib/views/redirected/RedirectedView.svelte b/demo/src/lib/views/redirected/RedirectedView.svelte
new file mode 100644
index 0000000..8e67498
--- /dev/null
+++ b/demo/src/lib/views/redirected/RedirectedView.svelte
@@ -0,0 +1,28 @@
+
+
+
+ {#if location.getState(false)?.redirected}
+
+ You have been redirected here from a deprecated path. Please update your bookmarks!
+
+ {:else}
+
+ Note how the warning alert is not shown when navigating directly to this URL. This is because the piece
+ of state indicating a redirection is only set when arriving here via the redirection defined in this demo's
+ App.svelte component.
+
+ {/if}
+ Feature With New URL Goes Here
+
+ This page is accessible via its new path (/new-path), but can also be reached by
+ navigating to the old deprecated path (/deprecated-path), which will redirect to
+ the new URL.
+
+
+ This demonstrates how to set up URL redirections using the Redirector class from
+ the @svelte-router/core NPM package.
+
+