fix: use trailing slashes
This commit is contained in:
parent
fcbb5396b3
commit
5d7da9e59c
|
|
@ -47,21 +47,21 @@ export default function FlowsAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Flows' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Image Generation Guide',
|
||||
description: 'Learn about chaining generations with flows.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations',
|
||||
href: '/docs/api/generations/',
|
||||
title: 'Generations API',
|
||||
description: 'Create generations within flows.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -44,21 +44,21 @@ export default function GenerationsAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Generations' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Image Generation Guide',
|
||||
description: 'Concepts and examples for image generation.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/images',
|
||||
href: '/docs/api/images/',
|
||||
title: 'Images API',
|
||||
description: 'Upload and manage images.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -45,21 +45,21 @@ export default function ImagesAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Images' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/images',
|
||||
href: '/docs/images/',
|
||||
title: 'Working with Images Guide',
|
||||
description: 'Concepts and examples for image management.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations',
|
||||
href: '/docs/api/generations/',
|
||||
title: 'Generations API',
|
||||
description: 'Create AI-generated images.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -46,21 +46,21 @@ export default function LiveScopesAPIPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'API Reference', href: '/docs/api' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Live Scopes' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/live-urls',
|
||||
href: '/docs/live-urls/',
|
||||
title: 'Live URLs Guide',
|
||||
description: 'Learn about live URL generation.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/generations',
|
||||
href: '/docs/api/generations/',
|
||||
title: 'Generations API',
|
||||
description: 'Full control via the generations API.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -44,20 +44,20 @@ export default function APIOverviewPage() {
|
|||
<JsonLd data={API_REFERENCE_SCHEMA} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/generations',
|
||||
href: '/docs/api/generations/',
|
||||
title: 'Generations API',
|
||||
description: 'Create and manage image generations.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api/images',
|
||||
href: '/docs/api/images/',
|
||||
title: 'Images API',
|
||||
description: 'Upload and organize images.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -97,7 +97,7 @@ export default function APIOverviewPage() {
|
|||
/>
|
||||
|
||||
<p className="text-gray-300 leading-relaxed mt-6">
|
||||
See <a href="/docs/authentication" className="text-purple-400 hover:underline">Authentication</a> for details on obtaining and using API keys.
|
||||
See <a href="/docs/authentication/" className="text-purple-400 hover:underline">Authentication</a> for details on obtaining and using API keys.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
@ -227,25 +227,25 @@ export default function APIOverviewPage() {
|
|||
|
||||
<LinkCardGrid columns={2}>
|
||||
<LinkCard
|
||||
href="/docs/api/generations"
|
||||
href="/docs/api/generations/"
|
||||
title="Generations"
|
||||
description="Create and manage AI image generations"
|
||||
accent="primary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/images"
|
||||
href="/docs/api/images/"
|
||||
title="Images"
|
||||
description="Upload and organize images"
|
||||
accent="secondary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/flows"
|
||||
href="/docs/api/flows/"
|
||||
title="Flows"
|
||||
description="Manage generation chains"
|
||||
accent="primary"
|
||||
/>
|
||||
<LinkCard
|
||||
href="/docs/api/live-scopes"
|
||||
href="/docs/api/live-scopes/"
|
||||
title="Live Scopes"
|
||||
description="Control live URL generation"
|
||||
accent="secondary"
|
||||
|
|
|
|||
|
|
@ -38,20 +38,20 @@ export default function AuthenticationPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Authentication' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Start Generating',
|
||||
description: 'Create your first AI-generated image.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api',
|
||||
href: '/docs/api/',
|
||||
title: 'API Reference',
|
||||
description: 'Full endpoint documentation.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -42,20 +42,20 @@ export default function GenerationPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Image Generation' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/generations',
|
||||
href: '/docs/api/generations/',
|
||||
title: 'API Reference: Generations',
|
||||
description: 'Full endpoint documentation for generations.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/images',
|
||||
href: '/docs/images/',
|
||||
title: 'Working with Images',
|
||||
description: 'Upload your own images and organize with aliases.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -214,7 +214,7 @@ export default function GenerationPage() {
|
|||
|
||||
<div className="mt-6">
|
||||
<TipBox variant="compact" type="info">
|
||||
<strong>Pro Tip:</strong> Use aliases like <InlineCode>@logo</InlineCode> instead of UUIDs. See <a href="/docs/images" className="text-purple-400 hover:underline">Working with Images</a> to learn about aliases.
|
||||
<strong>Pro Tip:</strong> Use aliases like <InlineCode>@logo</InlineCode> instead of UUIDs. See <a href="/docs/images/" className="text-purple-400 hover:underline">Working with Images</a> to learn about aliases.
|
||||
</TipBox>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -40,20 +40,20 @@ export default function ImagesPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Working with Images' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/images',
|
||||
href: '/docs/api/images/',
|
||||
title: 'API Reference: Images',
|
||||
description: 'Full endpoint documentation for images.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Image Generation',
|
||||
description: 'Use your images as references in generations.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -42,20 +42,20 @@ export default function LiveUrlsPage() {
|
|||
<JsonLd data={articleSchema} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Live URLs' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/api/live-scopes',
|
||||
href: '/docs/api/live-scopes/',
|
||||
title: 'API Reference: Live Scopes',
|
||||
description: 'Manage scopes and generation limits.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Image Generation',
|
||||
description: 'Full control via the generations API.',
|
||||
accent: 'secondary',
|
||||
|
|
|
|||
|
|
@ -41,32 +41,32 @@ export default function GettingStartedPage() {
|
|||
<JsonLd data={HOW_TO_SCHEMA} />
|
||||
<DocPage
|
||||
breadcrumbItems={[
|
||||
{ label: 'Documentation', href: '/docs' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'Getting Started' },
|
||||
]}
|
||||
tocItems={tocItems}
|
||||
nextSteps={{
|
||||
links: [
|
||||
{
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
title: 'Image Generation',
|
||||
description: 'Aspect ratios, prompt templates, using references.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/images',
|
||||
href: '/docs/images/',
|
||||
title: 'Working with Images',
|
||||
description: 'Upload your own, organize with aliases.',
|
||||
accent: 'secondary',
|
||||
},
|
||||
{
|
||||
href: '/docs/live-urls',
|
||||
href: '/docs/live-urls/',
|
||||
title: 'Live URLs',
|
||||
description: 'Generate images directly from URL parameters.',
|
||||
accent: 'primary',
|
||||
},
|
||||
{
|
||||
href: '/docs/api',
|
||||
href: '/docs/api/',
|
||||
title: 'API Reference',
|
||||
description: 'Full endpoint documentation.',
|
||||
accent: 'secondary',
|
||||
|
|
@ -186,7 +186,7 @@ export default function GettingStartedPage() {
|
|||
</TipBox>
|
||||
|
||||
<p className="text-gray-300 leading-relaxed mt-6">
|
||||
<a href="/docs/live-urls" className="text-purple-400 hover:underline">Learn more about Live URLs →</a>
|
||||
<a href="/docs/live-urls/" className="text-purple-400 hover:underline">Learn more about Live URLs →</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,62 +12,62 @@ export default function sitemap(): MetadataRoute.Sitemap {
|
|||
},
|
||||
// Documentation - Guides
|
||||
{
|
||||
url: `${baseUrl}/docs`,
|
||||
url: `${baseUrl}/docs/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.9,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/generation`,
|
||||
url: `${baseUrl}/docs/generation/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/images`,
|
||||
url: `${baseUrl}/docs/images/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/live-urls`,
|
||||
url: `${baseUrl}/docs/live-urls/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/authentication`,
|
||||
url: `${baseUrl}/docs/authentication/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
// Documentation - API Reference
|
||||
{
|
||||
url: `${baseUrl}/docs/api`,
|
||||
url: `${baseUrl}/docs/api/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/generations`,
|
||||
url: `${baseUrl}/docs/api/generations/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/images`,
|
||||
url: `${baseUrl}/docs/api/images/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/flows`,
|
||||
url: `${baseUrl}/docs/api/flows/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs/api/live-scopes`,
|
||||
url: `${baseUrl}/docs/api/live-scopes/`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.7,
|
||||
|
|
|
|||
|
|
@ -40,33 +40,33 @@ interface DocsSidebarProps {
|
|||
const navigationItems: NavItem[] = [
|
||||
{
|
||||
label: 'Getting Started',
|
||||
href: '/docs',
|
||||
href: '/docs/',
|
||||
},
|
||||
{
|
||||
label: 'Image Generation',
|
||||
href: '/docs/generation',
|
||||
href: '/docs/generation/',
|
||||
},
|
||||
{
|
||||
label: 'Working with Images',
|
||||
href: '/docs/images',
|
||||
href: '/docs/images/',
|
||||
},
|
||||
{
|
||||
label: 'Live URLs',
|
||||
href: '/docs/live-urls',
|
||||
href: '/docs/live-urls/',
|
||||
},
|
||||
{
|
||||
label: 'Authentication',
|
||||
href: '/docs/authentication',
|
||||
href: '/docs/authentication/',
|
||||
},
|
||||
{
|
||||
label: 'API Reference',
|
||||
href: '/docs/api',
|
||||
href: '/docs/api/',
|
||||
children: [
|
||||
{ label: 'Overview', href: '/docs/api' },
|
||||
{ label: 'Generations', href: '/docs/api/generations' },
|
||||
{ label: 'Images', href: '/docs/api/images' },
|
||||
{ label: 'Flows', href: '/docs/api/flows' },
|
||||
{ label: 'Live Scopes', href: '/docs/api/live-scopes' },
|
||||
{ label: 'Overview', href: '/docs/api/' },
|
||||
{ label: 'Generations', href: '/docs/api/generations/' },
|
||||
{ label: 'Images', href: '/docs/api/images/' },
|
||||
{ label: 'Flows', href: '/docs/api/flows/' },
|
||||
{ label: 'Live Scopes', href: '/docs/api/live-scopes/' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import Image from 'next/image';
|
||||
import { /* footerLinks, */ footerCopyright } from '@/config/footer';
|
||||
import { footerLinks, footerCopyright } from '@/config/footer';
|
||||
|
||||
export const Footer = () => {
|
||||
return (
|
||||
|
|
@ -20,7 +20,6 @@ export const Footer = () => {
|
|||
/>
|
||||
</div>
|
||||
|
||||
{/* Navigation - hidden until sections are ready
|
||||
<nav aria-label="Footer navigation">
|
||||
<div className="grid grid-cols-2 gap-x-4 gap-y-3 sm:flex sm:flex-wrap sm:justify-center sm:gap-6 md:gap-8 text-sm text-gray-400">
|
||||
{footerLinks.map((link) => (
|
||||
|
|
@ -34,7 +33,6 @@ export const Footer = () => {
|
|||
))}
|
||||
</div>
|
||||
</nav>
|
||||
*/}
|
||||
</div>
|
||||
|
||||
<div className="mt-8 md:mt-10 text-center text-sm text-gray-500">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
export const footerLinks = [
|
||||
{ label: 'Documentation', href: '#' },
|
||||
{ label: 'API Reference', href: '#' },
|
||||
{ label: 'Documentation', href: '/docs/' },
|
||||
{ label: 'API Reference', href: '/docs/api/' },
|
||||
{ label: 'Pricing', href: '#' },
|
||||
{ label: 'Contact', href: '#' },
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in New Issue