Skip to content

Commit a2ca51e

Browse files
committed
Add performance documentation and optimization solutions
- Created navigation and performance overview documentation in `docs-v3/content/docs/7.performance/1.performance.md`. - Added optimization solutions documentation in `docs-v3/content/docs/7.performance/2.solutions.md`. - Introduced extensions documentation for the Boost package in `docs-v3/content/docs/8.boost/1.boost.md`. - Added testing guide documentation in `docs-v3/content/docs/9.testing/1.testing.md`. - Updated navigation files for performance, extensions, and testing sections. - Fixed link in main documentation index to point to the correct quickstart page.
1 parent 461bff8 commit a2ca51e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+74
-179
lines changed
0 Bytes
Binary file not shown.

docs-v3/components/docs/DocsSidebar.vue

Lines changed: 26 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<nav class="fixed top-16 left-0 w-64 h-[calc(100vh-4rem)] overflow-y-auto px-4 py-6 bg-gray-50 dark:bg-gray-800/50 border-r border-gray-200 dark:border-gray-700">
44
<div class="space-y-6">
55
<NavigationSection
6-
v-for="section in docsNavigationSections"
6+
v-for="section in navigationSections"
77
:key="section.title"
88
:title="section.title"
99
:items="section.items"
@@ -22,7 +22,7 @@
2222
>
2323
<div class="space-y-6">
2424
<NavigationSection
25-
v-for="section in docsNavigationSections"
25+
v-for="section in navigationSections"
2626
:key="section.title"
2727
:title="section.title"
2828
:items="section.items"
@@ -38,83 +38,30 @@
3838
<script setup lang="ts">
3939
const INITIALLY_COLLAPSED = ['Performance', 'Extensions', 'Testing']
4040
41-
const docsNavigationSections = [
42-
{
43-
title: "Getting Started",
44-
items: [
45-
{ title: "Quick Start", path: "/docs/quickstart" },
46-
]
47-
},
48-
{
49-
title: "Authentication",
50-
items: [
51-
{ title: "Authentication", path: "/docs/auth/authentication" },
52-
{ title: "Authorization", path: "/docs/auth/authorization" },
53-
{ title: "Profile Management", path: "/docs/auth/profile" }
54-
]
55-
},
56-
{
57-
title: "API Resources",
58-
items: [
59-
{ title: "Basic Repositories", path: "/docs/api/repositories-basic" },
60-
{ title: "Repositories", path: "/docs/api/repositories" },
61-
{ title: "Advanced Repositories", path: "/docs/api/repositories-advanced" },
62-
{ title: "Repository Generation", path: "/docs/api/repository-generation" },
63-
{ title: "Fields", path: "/docs/api/fields" },
64-
{ title: "Relations", path: "/docs/api/relations" },
65-
{ title: "REST Methods", path: "/docs/api/rest-methods" },
66-
{ title: "Validation Methods", path: "/docs/api/validation-methods" },
67-
{ title: "Actions", path: "/docs/api/actions" },
68-
{ title: "Getters", path: "/docs/api/getters" },
69-
{ title: "Serializer", path: "/docs/api/serializer" }
70-
]
71-
},
72-
{
73-
title: "Search & Filtering",
74-
items: [
75-
{ title: "Basic Filters", path: "/docs/search/basic-filters" },
76-
{ title: "Advanced Filters", path: "/docs/search/advanced-filters" },
77-
{ title: "Sorting", path: "/docs/search/sorting" }
78-
]
79-
},
80-
{
81-
title: "GraphQL",
82-
items: [
83-
{ title: "GraphQL Overview", path: "/docs/graphql/graphql" },
84-
{ title: "Schema Generation", path: "/docs/graphql/graphql-generation" }
85-
]
86-
},
87-
{
88-
title: "MCP Integration",
89-
items: [
90-
{ title: "MCP Server", path: "/docs/mcp/mcp" },
91-
{ title: "MCP Repositories", path: "/docs/mcp/repositories" },
92-
{ title: "MCP Fields", path: "/docs/mcp/fields" },
93-
{ title: "MCP Getters", path: "/docs/mcp/getters" },
94-
{ title: "JSON Schema Converter", path: "/docs/mcp/json-schema-converter" },
95-
{ title: "MCP Actions", path: "/docs/mcp/actions" }
96-
]
97-
},
98-
{
99-
title: "Performance",
100-
items: [
101-
{ title: "Performance Overview", path: "/docs/performance/performance" },
102-
{ title: "Optimization Solutions", path: "/docs/performance/solutions" }
103-
]
104-
},
105-
{
106-
title: "Extensions",
107-
items: [
108-
{ title: "Boost Package", path: "/docs/boost/boost" }
109-
]
110-
},
111-
{
112-
title: "Testing",
113-
items: [
114-
{ title: "Testing Guide", path: "/docs/testing/testing" }
115-
]
116-
}
117-
]
41+
// Fetch docs navigation from Nuxt Content
42+
const { data: navigation } = await useAsyncData('docs-navigation', () =>
43+
queryCollectionNavigation('content')
44+
)
45+
46+
// Transform navigation tree to sidebar format
47+
const navigationSections = computed(() => {
48+
if (!navigation.value) return []
49+
50+
// Find the docs section in the navigation
51+
const docsNav = navigation.value.find(item => item.path === '/docs')
52+
if (!docsNav?.children) return []
53+
54+
// Transform each section (folder) into sidebar format
55+
return docsNav.children
56+
.filter(section => section.children && section.children.length > 0)
57+
.map(section => ({
58+
title: section.title,
59+
items: section.children.map(item => ({
60+
title: item.title,
61+
path: item.path
62+
}))
63+
}))
64+
})
11865
11966
const isMobileMenuOpen = inject('isMobileMenuOpen', ref(false))
12067
const toggleMobileMenu = inject('toggleMobileMenu', () => {})
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
title: Documentation
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
title: Getting Started

docs-v3/content/docs/quickstart.md renamed to docs-v3/content/docs/1.getting-started/1.quickstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Quickstart
2+
title: Quick Start
33
category: Getting Started
44
---
55

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
title: Authentication

docs-v3/content/docs/auth/authentication.md renamed to docs-v3/content/docs/2.auth/1.authentication.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
2-
title: Authentication setup
3-
menuTitle: Authentication
2+
title: Authentication
43
category: Auth
5-
position: 1
64
---
75

86
Laravel Restify provides comprehensive authentication with [Laravel Sanctum](https://laravel.com/docs/sanctum#api-token-authentication), including register, login, logout, forgot password, reset password, and email verification.

docs-v3/content/docs/auth/authorization.md renamed to docs-v3/content/docs/2.auth/2.authorization.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
22
title: Authorization
3-
menuTitle: Authorization
43
category: Auth
5-
position: 1
64
---
75

86
Laravel Restify provides a unified authorization system that protects both your REST API endpoints and MCP server tools using Laravel's built-in authorization features. This ensures that both human users and AI agents follow the same security rules when accessing your resources.
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
2-
title: User Profile
3-
menuTitle: Profile
2+
title: Profile Management
43
category: Auth
5-
position: 1
64
---
75

86
Laravel Restify provides a convenient profile endpoint that allows authenticated users to retrieve and update their profile information using the same repository system that powers the rest of your API.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
title: API Resources

0 commit comments

Comments
 (0)