Skip to content

Commit 7368a6e

Browse files
committed
feat: add initial project setup for documentation with configuration files and example components
1 parent ca4a56c commit 7368a6e

44 files changed

Lines changed: 19646 additions & 0 deletions

Some content is hidden

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

docs/.editorconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# editorconfig.org
2+
root = true
3+
4+
[*]
5+
indent_size = 2
6+
indent_style = space
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
[*.md]
13+
trim_trailing_whitespace = false

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=

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@v6
17+
18+
- name: Install pnpm
19+
uses: pnpm/action-setup@v5
20+
21+
- name: Install node
22+
uses: actions/setup-node@v6
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/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Nuxt UI Templates
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

docs/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Nuxt UI FormKit Documentation
2+
Official documentation for the Nuxt UI FormKit module.
3+
## Development
4+
```bash
5+
# Install dependencies
6+
pnpm install
7+
# Start dev server (http://localhost:3000)
8+
pnpm dev
9+
# Build for production
10+
pnpm build
11+
# Preview production build
12+
pnpm preview
13+
```
14+
## Content Structure
15+
- `content/` - Markdown documentation files
16+
- `app/app.config.ts` - Site configuration
17+
- `nuxt.config.ts` - Nuxt configuration
18+
## License
19+
MIT

docs/app/app.config.ts

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
export default defineAppConfig({
2+
ui: {
3+
colors: {
4+
primary: 'green',
5+
neutral: 'slate'
6+
},
7+
footer: {
8+
slots: {
9+
root: 'border-t border-default',
10+
left: 'text-sm text-muted'
11+
}
12+
}
13+
},
14+
seo: {
15+
siteName: 'Nuxt Docs Template'
16+
},
17+
header: {
18+
title: '',
19+
to: '/',
20+
logo: {
21+
alt: '',
22+
light: '',
23+
dark: ''
24+
},
25+
search: true,
26+
colorMode: true,
27+
links: [{
28+
'icon': 'i-simple-icons-github',
29+
'to': 'https://github.com/nuxt-ui-templates/docs',
30+
'target': '_blank',
31+
'aria-label': 'GitHub'
32+
}]
33+
},
34+
footer: {
35+
credits: `Built with Nuxt UI • © ${new Date().getFullYear()}`,
36+
colorMode: false,
37+
links: [{
38+
'icon': 'i-simple-icons-discord',
39+
'to': 'https://go.nuxt.com/discord',
40+
'target': '_blank',
41+
'aria-label': 'Nuxt on Discord'
42+
}, {
43+
'icon': 'i-simple-icons-x',
44+
'to': 'https://go.nuxt.com/x',
45+
'target': '_blank',
46+
'aria-label': 'Nuxt on X'
47+
}, {
48+
'icon': 'i-simple-icons-github',
49+
'to': 'https://github.com/nuxt/ui',
50+
'target': '_blank',
51+
'aria-label': 'Nuxt UI on GitHub'
52+
}]
53+
},
54+
toc: {
55+
title: 'Table of Contents',
56+
bottom: {
57+
title: 'Community',
58+
edit: 'https://github.com/nuxt-ui-templates/docs/edit/main/content',
59+
links: [{
60+
icon: 'i-lucide-star',
61+
label: 'Star on GitHub',
62+
to: 'https://github.com/nuxt/ui',
63+
target: '_blank'
64+
}, {
65+
icon: 'i-lucide-book-open',
66+
label: 'Nuxt UI docs',
67+
to: 'https://ui.nuxt.com/docs/getting-started/installation/nuxt',
68+
target: '_blank'
69+
}]
70+
}
71+
}
72+
})

docs/app/app.vue

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

docs/app/assets/css/main.css

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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+
--color-green-50: #EFFDF5;
11+
--color-green-100: #D9FBE8;
12+
--color-green-200: #B3F5D1;
13+
--color-green-300: #75EDAE;
14+
--color-green-400: #00DC82;
15+
--color-green-500: #00C16A;
16+
--color-green-600: #00A155;
17+
--color-green-700: #007F45;
18+
--color-green-800: #016538;
19+
--color-green-900: #0A5331;
20+
--color-green-950: #052E16;
21+
}
22+
23+
:root {
24+
--ui-container: var(--container-8xl);
25+
}

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)