Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nuxt UI #106

Merged
merged 15 commits into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ sw.*
.env
.output
static
package-lock.json
124 changes: 104 additions & 20 deletions README.md
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,41 +1,125 @@
# genieframework.com documentation
![nuxt-ui-docs-social-card](https://github.com/nuxt-ui-pro/docs/assets/739984/f64e13d9-9ae0-4e03-bf7f-6be4c36cd9ba)

This repository merges the docs from genieframework.com and learn.geniecloud.io into a single site. It is a Nuxt site built with the [Docus](docus.dev) template.
# Nuxt UI Pro - Docs template

To preview the site with all the work in progress, see the [Staging site](https://github.com/GenieFramework/GenieFrameworkDocs/pull/31) pull request.
[![Nuxt UI Pro](https://img.shields.io/badge/Made%20with-Nuxt%20UI%20Pro-00DC82?logo=nuxt.js&labelColor=020420)](https://ui.nuxt.com/pro)
[![Nuxt Studio](https://img.shields.io/badge/Open%20in%20Nuxt%20Studio-18181B?&logo=nuxt.js&logoColor=3BB5EC)](https://nuxt.studio/themes/docs)

# Running locally
- [Live demo](https://docs-template.nuxt.dev/)
- [Play on Stackblitz](https://stackblitz.com/github/nuxt-ui-pro/docs)
- [Documentation](https://ui.nuxt.com/pro/getting-started)
- [Clone on Nuxt Studio](https://nuxt.studio/themes/docs)

To run the site locally, execute
## Quick Start

```bash [Terminal]
npx nuxi init -t github:nuxt-ui-pro/docs
```

## Setup

Make sure to install the dependencies:

```bash
# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install
```

## Development Server

Start the development server on `http://localhost:3000`:

```bash
# npm
npm run dev

# pnpm
pnpm run dev

# yarn
yarn dev

# bun
bun run dev
```

# Deploying to production
## Production

On each commit to `main`, the site will be automatically deployed to learn.genieframework.com. When a pull request is created, a new preview site will be automatically linked in the comments.
Build the application for production:

# Adding content
```bash
# npm
npm run build

To add a new page, write its content into the `content/` folder in the relevant path.
# pnpm
pnpm run build

# API docs
# yarn
yarn build

The API docs in the Reference page are built in [this repo](https://github.com/GenieFramework/APIDocs)
# bun
bun run build
```

# Code examples
Locally preview production build:

The content in the Code Examples page is built in [this repo](https://github.com/BuiltWithGenie/CodeExamples).
```bash
# npm
npm run preview

# pnpm
pnpm run preview

# yarn
yarn preview

# bun
bun run preview
```

Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

## Nuxt Studio integration

Add `@nuxthq/studio` dependency to your package.json:

# Contributing
```bash
# npm
npm install --save-dev @nuxthq/studio

# pnpm
pnpm add -D @nuxthq/studio

# yarn
yarn add -D @nuxthq/studio

# bun
bun add -d @nuxthq/studio
```

Add this module to your `nuxt.config.ts`:

```ts
export default defineNuxtConfig({
...
modules: [
...
'@nuxthq/studio'
]
})
```

If you would like to contribute with a new article or fix mistakes, please open an issue with your suggested changes or open a new pull request. The team will review the text and make or request any necessary changes to make it fit better with the rest of the documentation.
Read more on [Nuxt Studio docs](https://nuxt.studio/docs/get-started/setup).

It is recommended that you ask first, either in an issue or on Discord, before contributing new materials to make sure they are a good fit. Here are some writing guidelines:
## Renovate integration

- Be clear and concise: avoid jargon and complex sentences. Assume the reader is new to the topic.
- Consistent terminology: use consistent terms for the same concept throughout the documentation.
- Active voice: use the active voice as much as possible, e.g., "You can configure settings" rather than "Settings can be configured."
- Linking: provide links to relevant articles, guides, or documentation pages for further reading.
Install [Renovate GitHub app](https://github.com/apps/renovate/installations/select_target) on your repository and you are good to go.
6 changes: 3 additions & 3 deletions _redirects
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/examples/* /docs/examples/:splat 301!
/reference/* /docs/reference/:splat 301!
/guides/* /docs/guides/:splat 301!
/docs/reference/reactive-ui/* /framework/stipple.jl/:splat
/docs/reference/server/* /framework/genie.jl/:splat
/docs/reference/database/* /framework/searchlight.jl/:splat
67 changes: 0 additions & 67 deletions app.config.ts

This file was deleted.

87 changes: 87 additions & 0 deletions app/app.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
export default defineAppConfig({
ui: {
primary: 'sky',
gray: 'cool',
footer: {
bottom: {
left: 'text-sm text-gray-500 dark:text-gray-400',
wrapper: 'border-t border-gray-200 dark:border-gray-800'
}
},
content: {
prose: {
code: {
icon: {
jl: 'vscode-icons:file-type-julia',
html: 'vscode-icons:file-type-html'

}
}
}
}
},
seo: {
siteName: 'Genie'
},
header: {
logo: {
alt: '',
light: '',
dark: ''
},
search: true,
colorMode: true,
links: [{
'icon': 'i-simple-icons-github',
'to': 'https://github.com/GenieFramework',
'target': '_blank',
'aria-label': 'Genie Framework'
}]
},
footer: {
credits: 'Copyright © 2023',
colorMode: false,
links: [{
'icon': 'i-simple-icons-nuxtdotjs',
'to': 'https://genieframework.com',
'target': '_blank',
'aria-label': 'Genie'
}, {
'icon': 'i-simple-icons-discord',
'to': 'https://discord.com/invite/9zyZbD6J7H',
'target': '_blank',
'aria-label': 'Genie on Discord'
}, {
'icon': 'i-simple-icons-x',
'to': 'https://twitter.com/GenieMVC',
'target': '_blank',
'aria-label': 'Genie on X'
}, {
'icon': 'i-simple-icons-github',
'to': 'https://github.com/GenieFramework/Genie.jl',
'target': '_blank',
'aria-label': 'Genie on GitHub'
}]
},
toc: {
title: 'Table of Contents',
bottom: {
title: 'Community',
edit: 'https://github.com/GenieFramework/GenieFrameworkDocs/edit/main/content',
links: [
{
icon: 'i-heroicons-chat-bubble-bottom-center',
label: 'Discord',
to: 'https://discord.com/invite/9zyZbD6J7H',
target: '_blank'
},
{
icon: 'i-heroicons-star',
label: 'Star on GitHub',
to: 'https://github.com/GenieFramework/Genie.jl',
target: '_blank'
}
]
}
}
})
70 changes: 70 additions & 0 deletions app/app.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<script setup lang="ts">
import type { ParsedContent } from '@nuxt/content'

const { seo } = useAppConfig()

const { data: navigation } = await useAsyncData('navigation', () => fetchContentNavigation())
const { data: files } = useLazyFetch<ParsedContent[]>('/api/search.json', {
default: () => [],
server: false
})

useHead({
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
],
link: [
{ rel: 'icon', href: '/favicon.ico' }
],
htmlAttrs: {
lang: 'en'
}
})

useSeoMeta({
titleTemplate: `%s - ${seo?.siteName}`,
ogSiteName: seo?.siteName,
ogImage: 'https://docs-template.nuxt.dev/social-card.png',
twitterImage: 'https://docs-template.nuxt.dev/social-card.png',
twitterCard: 'summary_large_image'
})

const links = [{
label: 'Pro',
icon: 'i-heroicons-square-3-stack-3d',
to: '/pro',
}, {
label: 'Pricing',
icon: 'i-heroicons-ticket',
to: '/pro/pricing'
}, {
label: 'Templates',
icon: 'i-heroicons-computer-desktop',
to: '/pro/templates'
}]

provide('navigation', navigation)
</script>

<template>
<div>
<NuxtLoadingIndicator />

<AppHeader />

<UMain>
<NuxtPage />
</UMain>

<AppFooter />

<ClientOnly>
<LazyUContentSearch
:files="files"
:navigation="navigation"
/>
</ClientOnly>

<UNotifications />
</div>
</template>
File renamed without changes.
Loading