Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2b501b2

Browse files
committed
feat: added docs application based on nuxt content
1 parent f312eea commit 2b501b2

40 files changed

+14094
-0
lines changed

docs/.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Public URL, used for OG Image when running nuxt generate
2+
NUXT_PUBLIC_SITE_URL=https://manchenkoff.github.com/nuxt-laravel-echo

docs/.github/workflows/ci.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: ci
2+
3+
on: push
4+
5+
jobs:
6+
ci:
7+
runs-on: ${{ matrix.os }}
8+
9+
strategy:
10+
matrix:
11+
os: [ubuntu-latest]
12+
node: [22]
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v5
17+
18+
- name: Install pnpm
19+
uses: pnpm/action-setup@v4
20+
21+
- name: Install node
22+
uses: actions/setup-node@v5
23+
with:
24+
node-version: ${{ matrix.node }}
25+
cache: pnpm
26+
27+
- name: Install dependencies
28+
run: pnpm install
29+
30+
- name: Lint
31+
run: pnpm run lint
32+
33+
- name: Typecheck
34+
run: pnpm run typecheck

docs/.gitignore

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
21+
# Local env files
22+
.env
23+
.env.*
24+
!.env.example
25+
26+
# VSC
27+
.history

docs/.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
shamefully-hoist=true

docs/README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Nuxt - Laravel Echo Docs
2+
3+
This directory contains Nuxt Content project to deploy
4+
module documentation to Github Pages.
5+
6+
## Setup
7+
8+
Make sure to install the dependencies:
9+
10+
```bash
11+
pnpm install
12+
```
13+
14+
## Development Server
15+
16+
Start the development server on `http://localhost:3000`:
17+
18+
```bash
19+
pnpm dev
20+
```
21+
22+
## Production
23+
24+
Build the application for production:
25+
26+
```bash
27+
pnpm build
28+
```
29+
30+
Or generate all pages for static hosting via:
31+
32+
```bash
33+
pnpm generate
34+
```
35+
36+
Locally preview production build:
37+
38+
```bash
39+
pnpm preview
40+
```
41+
42+
## Validation
43+
44+
To check code quality, run the following command:
45+
46+
```bash
47+
pnpm validate
48+
```
49+
50+
or separately:
51+
52+
```bash
53+
pnpm lint
54+
pnpm typecheck
55+
```

docs/app/app.config.ts

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
const siteName = 'Nuxt - Laravel Echo'
2+
3+
export default defineAppConfig({
4+
ui: {
5+
colors: {
6+
primary: 'red',
7+
neutral: 'zinc'
8+
},
9+
footer: {
10+
slots: {
11+
root: 'border-t border-default',
12+
left: 'text-sm text-muted'
13+
}
14+
}
15+
},
16+
seo: {
17+
siteName: siteName
18+
},
19+
header: {
20+
title: siteName,
21+
to: '/',
22+
logo: {
23+
alt: 'Laravel Echo',
24+
light: 'logo.svg',
25+
dark: 'logo.svg'
26+
},
27+
search: true,
28+
colorMode: true,
29+
links: [
30+
{
31+
'icon': 'i-simple-icons-github',
32+
'to': 'https://github.com/manchenkoff/nuxt-laravel-echo',
33+
'target': '_blank',
34+
'aria-label': 'GitHub'
35+
},
36+
{
37+
'icon': 'i-simple-icons-nuxt',
38+
'to': 'https://nuxt.com/modules/nuxt-laravel-echo',
39+
'target': '_blank',
40+
'aria-label': 'Nuxt Module'
41+
}
42+
]
43+
},
44+
footer: {
45+
credits: `Artem Manchenkov © ${new Date().getFullYear()}`,
46+
colorMode: false,
47+
links: [
48+
{
49+
'icon': 'i-simple-icons-github',
50+
'to': 'https://github.com/manchenkoff',
51+
'target': '_blank',
52+
'aria-label': 'manchenkoff on GitHub'
53+
},
54+
{
55+
'icon': 'i-simple-icons-twitter',
56+
'to': 'https://twitter.com/amanchenkov',
57+
'target': '_blank',
58+
'aria-label': 'manchenkoff on X'
59+
},
60+
{
61+
'icon': 'i-simple-icons-facebook',
62+
'to': 'https://fb.com/manchenkoff',
63+
'target': '_blank',
64+
'aria-label': 'manchenkoff on Facebook'
65+
},
66+
{
67+
'icon': 'i-simple-icons-linkedin',
68+
'to': 'https://linkedin.com/in/manchenkoff',
69+
'target': '_blank',
70+
'aria-label': 'manchenkoff on LinkedIn'
71+
},
72+
{
73+
'icon': 'i-simple-icons-instagram',
74+
'to': 'https://instagram.com/manchenkof',
75+
'target': '_blank',
76+
'aria-label': 'manchenkoff on Instagram'
77+
},
78+
{
79+
'icon': 'i-simple-icons-threads',
80+
'to': 'https://threads.net/@manchenkof',
81+
'target': '_blank',
82+
'aria-label': 'manchenkoff on Threads'
83+
},
84+
{
85+
'icon': 'i-simple-icons-youtube',
86+
'to': 'https://youtube.com/@manchenkoff',
87+
'target': '_blank',
88+
'aria-label': 'manchenkoff on YouTube'
89+
},
90+
{
91+
'icon': 'i-simple-icons-medium',
92+
'to': 'https://manchenkoff.medium.com/',
93+
'target': '_blank',
94+
'aria-label': 'manchenkoff on Medium'
95+
},
96+
{
97+
'icon': 'i-simple-icons-telegram',
98+
'to': 'https://t.me/manchenkoff',
99+
'target': '_blank',
100+
'aria-label': 'manchenkoff on Telegram'
101+
},
102+
{
103+
'icon': 'i-simple-icons-bluesky',
104+
'to': 'https://bsky.app/profile/manchenkoff.bsky.social',
105+
'target': '_blank',
106+
'aria-label': 'manchenkoff on Bluesky'
107+
}
108+
]
109+
},
110+
toc: {
111+
title: 'Table of Contents',
112+
bottom: {
113+
title: 'Ready to contribute?',
114+
edit: 'https://github.com/nuxt-ui-templates/docs/edit/main/content',
115+
links: [
116+
{
117+
icon: 'i-lucide-star',
118+
label: 'Star on GitHub',
119+
to: 'https://github.com/manchenkoff/nuxt-laravel-echo',
120+
target: '_blank'
121+
},
122+
{
123+
icon: 'i-lucide-git-pull-request-create',
124+
label: 'Suggest a feature',
125+
to: 'https://github.com/manchenkoff/nuxt-laravel-echo/issues/new?template=feature_request.md',
126+
target: '_blank'
127+
},
128+
{
129+
icon: 'i-simple-icons-github',
130+
label: 'Support project',
131+
to: 'https://github.com/sponsors/manchenkoff?o=esb',
132+
target: '_blank'
133+
},
134+
{
135+
icon: 'i-simple-icons-buymeacoffee',
136+
label: 'Buy me a coffee',
137+
to: 'https://buymeacoffee.com/manchenkoff',
138+
target: '_blank'
139+
}
140+
]
141+
}
142+
}
143+
})

docs/app/app.vue

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<script setup lang="ts">
2+
const { seo } = useAppConfig()
3+
4+
const { data: navigation } = await useAsyncData('navigation', () => queryCollectionNavigation('docs'))
5+
const { data: files } = useLazyAsyncData(
6+
'search', () => queryCollectionSearchSections('docs'),
7+
{ server: false }
8+
)
9+
10+
useHead({
11+
meta: [
12+
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
13+
],
14+
link: [
15+
{ rel: 'icon', href: '/logo.svg' }
16+
],
17+
htmlAttrs: {
18+
lang: 'en'
19+
}
20+
})
21+
22+
useSeoMeta({
23+
titleTemplate: `%s - ${seo?.siteName}`,
24+
ogSiteName: seo?.siteName,
25+
twitterCard: 'summary_large_image'
26+
})
27+
28+
provide('navigation', navigation)
29+
</script>
30+
31+
<template>
32+
<UApp>
33+
<NuxtLoadingIndicator />
34+
35+
<AppHeader />
36+
37+
<UMain>
38+
<NuxtLayout>
39+
<NuxtPage />
40+
</NuxtLayout>
41+
</UMain>
42+
43+
<AppFooter />
44+
45+
<ClientOnly>
46+
<LazyUContentSearch
47+
:files="files"
48+
:navigation="navigation"
49+
/>
50+
</ClientOnly>
51+
</UApp>
52+
</template>

docs/app/assets/css/main.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@import "tailwindcss";
2+
@import "@nuxt/ui";
3+
4+
@source "../../../content/**/*";
5+
6+
@theme static {
7+
--container-8xl: 90rem;
8+
--font-sans: 'Public Sans', sans-serif;
9+
}
10+
11+
:root {
12+
--ui-container: var(--container-8xl);
13+
}

docs/app/components/AppFooter.vue

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<script setup lang="ts">
2+
const { footer } = useAppConfig()
3+
</script>
4+
5+
<template>
6+
<UFooter>
7+
<template #left>
8+
{{ footer.credits }}
9+
</template>
10+
11+
<template #right>
12+
<UColorModeButton v-if="footer?.colorMode" />
13+
14+
<template v-if="footer?.links">
15+
<UButton
16+
v-for="(link, index) of footer?.links"
17+
:key="index"
18+
v-bind="{ color: 'neutral', variant: 'ghost', ...link }"
19+
/>
20+
</template>
21+
</template>
22+
</UFooter>
23+
</template>

0 commit comments

Comments
 (0)