diff --git a/apps/documentation/Cargo.toml b/apps/documentation/Cargo.toml
index 6fba2449..e0889c89 100644
--- a/apps/documentation/Cargo.toml
+++ b/apps/documentation/Cargo.toml
@@ -8,7 +8,7 @@ name = "tuono"
path = ".tuono/main.rs"
[dependencies]
-tuono_lib = "0.11.0"
+tuono_lib = "0.11.1"
glob = "0.3.1"
time = { version = "0.3", features = ["macros"] }
serde = { version = "1.0.202", features = ["derive"] }
diff --git a/apps/documentation/package.json b/apps/documentation/package.json
index 4be8baf0..6bc26d18 100644
--- a/apps/documentation/package.json
+++ b/apps/documentation/package.json
@@ -17,7 +17,7 @@
"clsx": "^2.1.1",
"react": "18.3.1",
"react-dom": "18.3.1",
- "tuono": "0.11.0"
+ "tuono": "0.11.1"
},
"devDependencies": {
"@types/mdx": "^2.0.13",
diff --git a/apps/documentation/public/og-cover.png b/apps/documentation/public/og-cover.png
new file mode 100644
index 00000000..af365851
Binary files /dev/null and b/apps/documentation/public/og-cover.png differ
diff --git a/apps/documentation/src/components/breadcrumbs/breadcrumbs.tsx b/apps/documentation/src/components/breadcrumbs/breadcrumbs.tsx
index 1d47d126..cae73206 100644
--- a/apps/documentation/src/components/breadcrumbs/breadcrumbs.tsx
+++ b/apps/documentation/src/components/breadcrumbs/breadcrumbs.tsx
@@ -1,31 +1,67 @@
import { Breadcrumbs, Button } from '@mantine/core'
-import { Link } from 'tuono'
+import { Link, Head } from 'tuono'
import { IconChevronRight, IconBolt } from '@tabler/icons-react'
-import type { ReactNode } from 'react'
+
+interface Breadcrumb {
+ href?: string
+ label: string
+}
+interface BreadcrumbsProps {
+ breadcrumbs: Breadcrumb[]
+}
export default function TuonoBreadcrumbs({
- children,
-}: {
- children: ReactNode
-}): JSX.Element {
+ breadcrumbs = [],
+}: BreadcrumbsProps): JSX.Element {
return (
- }
- mb="md"
- mt="md"
- >
-
- {children}
-
+
+ {breadcrumbs.map((br) => (
+
+ ))}
+
+ >
)
}
diff --git a/apps/documentation/src/components/meta-tags/index.ts b/apps/documentation/src/components/meta-tags/index.ts
new file mode 100644
index 00000000..490f1f87
--- /dev/null
+++ b/apps/documentation/src/components/meta-tags/index.ts
@@ -0,0 +1,3 @@
+import MetaTags from './meta-tags'
+
+export default MetaTags
diff --git a/apps/documentation/src/components/meta-tags/meta-tags.tsx b/apps/documentation/src/components/meta-tags/meta-tags.tsx
new file mode 100644
index 00000000..7ad94f9a
--- /dev/null
+++ b/apps/documentation/src/components/meta-tags/meta-tags.tsx
@@ -0,0 +1,41 @@
+import type { ReactNode } from 'react'
+import { Head } from 'tuono'
+
+interface MetaTagsProps {
+ title: string
+ description?: string
+ type?: 'website' | 'article' | 'book' | 'video.movie' | 'music.song'
+ canonical: string
+}
+
+export default function MetaTags({
+ title,
+ description,
+ type = 'article',
+ canonical,
+}: MetaTagsProps): ReactNode {
+ return (
+
+ {title}
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/apps/documentation/src/routes/documentation/cli.mdx b/apps/documentation/src/routes/documentation/cli.mdx
index 540258e7..51b6993c 100644
--- a/apps/documentation/src/routes/documentation/cli.mdx
+++ b/apps/documentation/src/routes/documentation/cli.mdx
@@ -1,15 +1,14 @@
-import { Head } from 'tuono'
+import MetaTags from '../../components/meta-tags'
-
- Tuono - CLI
-
-
+
import Breadcrumbs, { Element } from '../../components/breadcrumbs'
-
-
-
+
# CLI
diff --git a/apps/documentation/src/routes/documentation/contributing.mdx b/apps/documentation/src/routes/documentation/contributing.mdx
index 67189fd4..7c5ae0d5 100644
--- a/apps/documentation/src/routes/documentation/contributing.mdx
+++ b/apps/documentation/src/routes/documentation/contributing.mdx
@@ -1,15 +1,14 @@
-import { Head } from 'tuono'
+import MetaTags from '../../components/meta-tags'
-
- Tuono - Contributing
-
-
+
import Breadcrumbs, { Element } from '../../components/breadcrumbs'
-
-
-
+
# Contributing
diff --git a/apps/documentation/src/routes/documentation/index.mdx b/apps/documentation/src/routes/documentation/index.mdx
index db283c68..112d60b7 100644
--- a/apps/documentation/src/routes/documentation/index.mdx
+++ b/apps/documentation/src/routes/documentation/index.mdx
@@ -1,9 +1,10 @@
-import { Head } from 'tuono'
+import MetaTags from '../../components/meta-tags'
-
- Tuono - Documentation
-
-
+
import Breadcrumbs from '../../components/breadcrumbs'
diff --git a/apps/documentation/src/routes/documentation/installation.mdx b/apps/documentation/src/routes/documentation/installation.mdx
index 28b1e2d2..518256b4 100644
--- a/apps/documentation/src/routes/documentation/installation.mdx
+++ b/apps/documentation/src/routes/documentation/installation.mdx
@@ -1,14 +1,14 @@
-import { Head } from 'tuono'
import Breadcrumbs, { Element } from '../../components/breadcrumbs'
-
- Tuono - Installation
-
-
+import MetaTags from '../../components/meta-tags'
-
-
-
+
+
+
# Installation
diff --git a/apps/documentation/src/routes/documentation/routing/index.mdx b/apps/documentation/src/routes/documentation/routing/index.mdx
index 99561e01..2ed7d302 100644
--- a/apps/documentation/src/routes/documentation/routing/index.mdx
+++ b/apps/documentation/src/routes/documentation/routing/index.mdx
@@ -1,15 +1,13 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tuono - Routing
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
+
# Routing index
diff --git a/apps/documentation/src/routes/documentation/routing/intro.mdx b/apps/documentation/src/routes/documentation/routing/intro.mdx
index d1d7866b..505f2365 100644
--- a/apps/documentation/src/routes/documentation/routing/intro.mdx
+++ b/apps/documentation/src/routes/documentation/routing/intro.mdx
@@ -1,16 +1,18 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tuono - Routing
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Project structure
diff --git a/apps/documentation/src/routes/documentation/tutorial/api-fetching.mdx b/apps/documentation/src/routes/documentation/tutorial/api-fetching.mdx
index 9b24ed61..b4ae1d9b 100644
--- a/apps/documentation/src/routes/documentation/tutorial/api-fetching.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/api-fetching.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - API fetching
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# API fetching
diff --git a/apps/documentation/src/routes/documentation/tutorial/components.mdx b/apps/documentation/src/routes/documentation/tutorial/components.mdx
index 6bfba001..2207986e 100644
--- a/apps/documentation/src/routes/documentation/tutorial/components.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/components.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Components
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Components
diff --git a/apps/documentation/src/routes/documentation/tutorial/conclusion.mdx b/apps/documentation/src/routes/documentation/tutorial/conclusion.mdx
index a8e53ecb..17e950ab 100644
--- a/apps/documentation/src/routes/documentation/tutorial/conclusion.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/conclusion.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Conclusion
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Conclusion
diff --git a/apps/documentation/src/routes/documentation/tutorial/development-setup.mdx b/apps/documentation/src/routes/documentation/tutorial/development-setup.mdx
index b51b590e..c1157918 100644
--- a/apps/documentation/src/routes/documentation/tutorial/development-setup.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/development-setup.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Development setup
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Development setup
diff --git a/apps/documentation/src/routes/documentation/tutorial/dynamic-routes.mdx b/apps/documentation/src/routes/documentation/tutorial/dynamic-routes.mdx
index acf7a898..aeef93cc 100644
--- a/apps/documentation/src/routes/documentation/tutorial/dynamic-routes.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/dynamic-routes.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Dynamic routes
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Dynamic routes
diff --git a/apps/documentation/src/routes/documentation/tutorial/error-handling.mdx b/apps/documentation/src/routes/documentation/tutorial/error-handling.mdx
index e02061ea..f9511748 100644
--- a/apps/documentation/src/routes/documentation/tutorial/error-handling.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/error-handling.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Error handling
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Error handling
diff --git a/apps/documentation/src/routes/documentation/tutorial/index.mdx b/apps/documentation/src/routes/documentation/tutorial/index.mdx
index d083d60e..ae6e7757 100644
--- a/apps/documentation/src/routes/documentation/tutorial/index.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/index.mdx
@@ -1,15 +1,14 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tuono - Tutorial
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
+
# Tutorial
diff --git a/apps/documentation/src/routes/documentation/tutorial/production.mdx b/apps/documentation/src/routes/documentation/tutorial/production.mdx
index 7e1f0727..0f1492d3 100644
--- a/apps/documentation/src/routes/documentation/tutorial/production.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/production.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Building for production
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Production build
diff --git a/apps/documentation/src/routes/documentation/tutorial/redirections.mdx b/apps/documentation/src/routes/documentation/tutorial/redirections.mdx
index 4eb81a55..416fd6fe 100644
--- a/apps/documentation/src/routes/documentation/tutorial/redirections.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/redirections.mdx
@@ -1,19 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - Redirections
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# Redirections
diff --git a/apps/documentation/src/routes/documentation/tutorial/seo.mdx b/apps/documentation/src/routes/documentation/tutorial/seo.mdx
index 2645f9a9..479edc1e 100644
--- a/apps/documentation/src/routes/documentation/tutorial/seo.mdx
+++ b/apps/documentation/src/routes/documentation/tutorial/seo.mdx
@@ -1,16 +1,19 @@
-import { Head } from 'tuono'
+import MetaTags from '../../../components/meta-tags'
-
- Tutorial - SEO and meta tags
-
-
+
import Breadcrumbs, { Element } from '../../../components/breadcrumbs'
-
-
-
-
+
# SEO and meta tags
diff --git a/apps/documentation/src/routes/index.tsx b/apps/documentation/src/routes/index.tsx
index 04b13638..ef91ef72 100644
--- a/apps/documentation/src/routes/index.tsx
+++ b/apps/documentation/src/routes/index.tsx
@@ -1,17 +1,14 @@
-import { Head } from 'tuono'
import Hero from '../components/hero'
+import MetaTags from '../components/meta-tags'
export default function IndexPage(): JSX.Element {
return (
<>
-
- Tuono - The React/Rust full-stack framework
-
-
-
+
>
)