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
}
}