This is a starter template that pre-includes the Pinegrow Astro Module, Vuetify, Pinegrow Vuetify Plugin and other goodies for Vue Designer.
Demo - https://pg-astro-vuetify.netlify.app/
A desktop visual editor for Vue apps supporting Mac, Windows, and Linux by Pinegrow. Take it for a free trial at Vue Designer!
It lets you visually design π¨ your Vue single file components and boosts your productivity and creativity while building your component-based Vue apps.
It smartly integrates with your β‘οΈ Vite based CLI and provides an amazing developer experience with its powerful visual controls and features.
Clean code π, No lock-in - You are in control of your projects and development workflow β€οΈ
Create a repo from this template on GitHub.
(or)
If you prefer to do it manually with the cleaner git history
npx giget@latest gh:pinegrow/pg-astro-vuetify my-astro-vuetify-app #project-name
cd my-astro-vuetify-app
npm install #or use pnpm
(or)
If you prefer a minimal template (a single empty home page) instead,
npx giget@latest gh:pinegrow/pg-astro-vuetify#minimal my-astro-vuetify-app #project-name
cd my-astro-vuetify-app
npm install #or use pnpm
Open your project in Vue Designer and follow the instructions displayed in the Config Panel (that should pop out automatically). Config Panel βοΈ displays the key packages and the various links to their individual ecosystems and communities.
npm run dev
npm run build # MPA SSG (islands architecture)
Uncomment the rollup-plugin-visualizer
usage in your config file and execute the build
command. This command will generate stats.html
. Open stats.html
in your browser to analyze bundle sizes.
npm run build # open stats.html to analyze bundle sizes
npm run now # build & preview
npm run unlighthouse # Uses npx unlighthouse from https://unlighthouse.dev/ to run lighthouse on entire site (all pages)
You can deploy this repo as a site on your own to explore and experiment with, by clicking this button.
Check out the deployment documentation for more information.
- Astro - Astro is the all-in-one web framework designed for speed. Pull your content from anywhere and deploy everywhere, all powered by your favorite UI components and libraries.
- π [Partial Hydration] - zero JS by default, hydrates the interactive bits
- π [Batteries Included] - layouts, components, site-wide data
- 𧱠[Multi-Framework] - vue, react, preact, svelte, solid, etc
- π [Markdown] - use components in markdown and viceversa
- π£ [Routing] - automatically configured from files
- β‘οΈ [Fast][vite] - instant reloading powered by [Vite]
- Vuetify - Hundreds of beautifully handcrafted Vue components, easily customizable with a powerful set of utilities, composables and directives.
- UnoCSS Preset Icons - use over 100,000 open-source Iconify icons. Uses the unocss format for icon names, for example,
i-mdi-home
.
- Pinegrow Astro Module - enables you to live-design your Vue single-file components visually in Vue Designer.
- Pinegrow Vuetify Plugin - via Design Panel, enables theme customization (optional) and visual controls for Vuetify utilities. Note: This is an addon that's licensed separately to Pinegrow apps (like Vue Designer).
- π² unplugin-vue-components - On-demand components auto importing for Vue.
- π² unplugin-auto-import - Auto import APIs on-demand for Vite, Webpack and Rollup.
- VueUse - collection of essential Vue composition utilities.
- π Pinia stores for global state management. Its light-weight, type-safe, extensible, modular with vue-devtools support.
- VeeValidate takes care of value tracking, validation, errors, submissions and more.
- Vite Devtools - A Vite plugin for Vue that enhances your DX (developer experience) with an amazing set of in-app features. This is an in-app alternative to browser-based/standalone Vue Devtools.
- [VS Code Extensions](./.vscode/extensions.json & ./.vscode/settings.json)
- Use Composition API with
<script setup>
SFC syntax ESLint with @nuxt/eslint-config - opinionated not-so-strict set of linting rules. Nuxt & Astro share a similar directory structure, so are their linting rules.Prettier with eslint-config-prettier - format without conflicting with eslint rules.
This project allows JS, and strict mode is turned off. Update tsconfig.ts
as required.
{
"compilerOptions": {
// ...
"strict": false,
"allowJs": true
}
}