Skip to content

Commit 7e0cd42

Browse files
committed
refactor(services/documentation): clean up installation guides
1 parent e63206d commit 7e0cd42

File tree

1 file changed

+81
-36
lines changed

1 file changed

+81
-36
lines changed

src/services/documentation.ts

Lines changed: 81 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*/
66
import octokit from '#plugins/octokit'
77

8+
const VUETIFY_DEPENDENCIES = 'vue vuetify @mdi/font'
9+
const VITE_DEPENDENCIES = 'vite @vitejs/plugin-vue vite-plugin-vuetify unplugin-fonts'
10+
811
export const SSR_NOTE = `
9-
> **SSR Configuration**: When using Server-Side Rendering, you must pass the \`ssr: true\` option to all \`createVuetify()\` instances in your code.
10-
> For example: \`createVuetify({ ssr: true })\` or \`createVuetify({ ssr: true, components, directives })\`
12+
> **SSR Configuration**: When using Server-Side Rendering use *ssr: true*: \`createVuetify({ ssr: true })\`
1113
`
1214

1315
export const FRESH_INSTALLATION_PLATFORMS = {
@@ -43,17 +45,17 @@ export const INSTALLATION_PLATFORMS = {
4345
markdown: `
4446
# Dependencies
4547
\`\`\`bash
46-
[npm|pnpm|yarn|bun] install vue vite @vitejs/plugin-vue vuetify vite-plugin-vuetify @mdi/font
48+
[npm|pnpm|yarn|bun] install ${VUETIFY_DEPENDENCIES} ${VITE_DEPENDENCIES}
4749
\`\`\`
4850
# Files
49-
\`\`\`ts [plugins/vuetify.ts]
51+
\`\`\`ts [src/plugins/vuetify.ts]
5052
import '@mdi/font/css/materialdesignicons.css'
5153
import 'vuetify/styles'
5254
import { createVuetify } from 'vuetify'
5355
5456
export default createVuetify()
5557
\`\`\`
56-
\`\`\`ts [app|main.ts]
58+
\`\`\`ts [src/main.ts]
5759
import { createApp } from 'vue'
5860
import App from './App.vue'
5961
import vuetify from './plugins/vuetify'
@@ -63,16 +65,37 @@ export const INSTALLATION_PLATFORMS = {
6365
\`\`\`
6466
\`\`\`ts [vite.config.ts]
6567
import { defineConfig } from 'vite'
66-
import vue from '@vitejs/plugin-vue'
67-
import vuetify from 'vite-plugin-vuetify'
68+
import Vue from '@vitejs/plugin-vue'
69+
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
70+
import { fileURLToPath, URL } from 'node:url'
6871
6972
export default defineConfig({
7073
plugins: [
71-
vue(),
72-
vuetify({
73-
autoImport: true,
74-
}),
74+
Vue({ template: { transformAssetUrls } }),
75+
Vuetify({ autoImport: true }),
76+
Fonts({
77+
google: {
78+
families: [{
79+
name: 'Roboto',
80+
styles: 'wght@100;300;400;500;700;900',
81+
}],
82+
},
83+
})
7584
],
85+
resolve: {
86+
alias: {
87+
'@': fileURLToPath(new URL('src', import.meta.url)),
88+
},
89+
extensions: [
90+
'.js',
91+
'.json',
92+
'.jsx',
93+
'.mjs',
94+
'.ts',
95+
'.tsx',
96+
'.vue',
97+
],
98+
},
7699
})
77100
\`\`\`
78101
`,
@@ -83,7 +106,7 @@ export const INSTALLATION_PLATFORMS = {
83106
markdown: `
84107
# Dependencies
85108
\`\`\`bash
86-
[npm|pnpm|yarn|bun] vuetify vite-plugin-vuetify @mdi/font
109+
[npm|pnpm|yarn|bun] install ${VUETIFY_DEPENDENCIES} ${VITE_DEPENDENCIES}
87110
\`\`\`
88111
# Files
89112
\`\`\`ts [nuxt.config.ts]
@@ -120,7 +143,7 @@ export const INSTALLATION_PLATFORMS = {
120143
app.vueApp.use(vuetify)
121144
})
122145
\`\`\`
123-
\`\`\`vue [app.vue]
146+
\`\`\`vue [App.vue]
124147
<template>
125148
<NuxtLayout>
126149
<v-app>
@@ -156,45 +179,67 @@ export const INSTALLATION_PLATFORMS = {
156179
'laravel': {
157180
name: 'Laravel Vite',
158181
description: 'Installation guide for Laravel Vite projects.',
159-
markdown: `
160-
# Laravel Vite Installation
161-
The following dependencies are required to use Vuetify with Laravel Vite:
162-
TODO
163-
`,
164-
},
165-
'laravel-mix': {
166-
name: 'Laravel Mix',
167-
description: 'Installation guide for Laravel Mix projects.',
168182
markdown: `
169183
# Dependencies
170184
\`\`\`bash
171-
[npm|pnpm|yarn|bun] vuetify @mdi/font
185+
[npm|pnpm|yarn|bun] install ${VUETIFY_DEPENDENCIES} ${VITE_DEPENDENCIES}
172186
\`\`\`
173187
# Files
174-
\`\`\`ts [plugins/vuetify.ts]
188+
\`\`\`ts [resources/js/plugins/vuetify.ts]
175189
import '@mdi/font/css/materialdesignicons.css'
176190
import 'vuetify/styles'
177191
import { createVuetify } from 'vuetify'
178-
import * as components from 'vuetify/components'
179-
import * as directives from 'vuetify/directives'
180192
181-
export default createVuetify({
182-
components,
183-
directives,
184-
})
193+
export default createVuetify()
185194
\`\`\`
186-
\`\`\`ts [app.ts]
195+
\`\`\`ts [resources/js/app.ts]
187196
import { createApp } from 'vue'
188197
import App from './App.vue'
189198
import vuetify from './plugins/vuetify'
190199
191200
const app = createApp(App)
192201
app.use(vuetify).mount('#app')
193202
\`\`\`
194-
\`\`\`webpack.mix.[js|ts]
195-
const mix = require('laravel-mix')
203+
\`\`\`ts [vite.config.ts]
204+
import { defineConfig } from 'vite'
205+
import laravel from 'laravel-vite-plugin'
206+
import vue from '@vitejs/plugin-vue'
207+
import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
208+
import fonts from 'unplugin-fonts/vite'
209+
import { fileURLToPath, URL } from 'node:url'
196210
197-
mix.copy('node_modules/@mdi/font/fonts/', 'dist/fonts/')
211+
export default defineConfig({
212+
plugins: [
213+
laravel({
214+
input: ['resources/js/app.ts', 'resources/css/app.css'],
215+
refresh: true,
216+
}),
217+
vue({ template: { transformAssetUrls } }),
218+
vuetify({ autoImport: true }),
219+
fonts({
220+
google: {
221+
families: [{
222+
name: 'Roboto',
223+
styles: 'wght@100;300;400;500;700;900',
224+
}],
225+
},
226+
}),
227+
],
228+
resolve: {
229+
alias: {
230+
'@': fileURLToPath(new URL('src', import.meta.url)),
231+
},
232+
extensions: [
233+
'.js',
234+
'.json',
235+
'.jsx',
236+
'.mjs',
237+
'.ts',
238+
'.tsx',
239+
'.vue',
240+
],
241+
},
242+
})
198243
\`\`\`
199244
`,
200245
},
@@ -236,7 +281,7 @@ export const INSTALLATION_PLATFORMS = {
236281
<script type="importmap">
237282
{
238283
"imports": {
239-
"vue": "https://cdn.jsdelivr.net/npm/vue@latest/dist/vue.esm-browser.js",
284+
"vue": "https://cdn.jsdelivr.net/npm/vue@3.0.0/dist/vue.esm-browser.js",
240285
"vuetify": "https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.esm.js"
241286
}
242287
}
@@ -247,6 +292,7 @@ export const INSTALLATION_PLATFORMS = {
247292
248293
const vuetify = createVuetify()
249294
const app = createApp()
295+
250296
app.use(vuetify).mount('#app')
251297
</script>
252298
\`\`\`
@@ -260,7 +306,6 @@ export const INSTALLATION_PLATFORMS = {
260306
The following dependencies are required to use Vuetify with VitePress:
261307
- vue, vitepress, vuetify, @mdi/font
262308
# Files
263-
-
264309
\`\`\`ts [.vitepress/theme/index.ts]
265310
import DefaultTheme from 'vitepress/theme'
266311
import '@mdi/font/css/materialdesignicons.css'

0 commit comments

Comments
 (0)