2020-08-10 02:43:04 +08:00
< p align = 'center' >
2021-01-07 13:49:19 +08:00
< img src = 'https://repository-images.githubusercontent.com/286295150/b1b1be80-354a-11eb-87c0-5dc96cae2bd9' alt = 'Vitesse - Opinionated Vite Starter Template' width = '600' / >
2020-08-10 02:43:04 +08:00
< / p >
< p align = 'center' >
2021-01-07 13:50:13 +08:00
Mocking up web app with < b > Vitesse< / b > < sup > < em > (speed)< / em > < / sup > < br >
2021-01-07 13:49:19 +08:00
< sub > < em > Now with Vite 2.0! ⚡️< / em > < / sub >
2020-08-10 02:43:04 +08:00
< / p >
< br >
< p align = 'center' >
2020-08-10 15:42:19 +08:00
< a href = "https://vitesse.netlify.app/" > Live Demo< / a >
2020-08-10 02:43:04 +08:00
< / p >
< br >
2020-08-12 16:23:04 +08:00
## Features
2021-01-07 13:49:19 +08:00
- ⚡️ [Vue 3 ](https://github.com/vuejs/vue-next ), [Vite 2 ](https://github.com/vitejs/vite ), [pnpm ](https://pnpm.js.org/ ), [ESBuild ](https://github.com/evanw/esbuild ) - born with fastness
2020-08-12 16:23:04 +08:00
2020-08-20 16:04:00 +08:00
- 🗂 [File based routing ](./src/pages )
2020-10-28 18:05:02 +08:00
- 📦 [Components auto importing ](./src/components )
- 📲 [PWA ](https://github.com/antfu/vite-plugin-pwa )
2020-08-12 16:23:04 +08:00
2020-11-28 14:14:36 +08:00
- 🎨 [TailwindCSS **v2.0** ](https://blog.tailwindcss.com/tailwindcss-v2 ) with dark mode out-of-box
2020-08-12 16:23:04 +08:00
2020-08-20 16:04:00 +08:00
- 😃 [Use icons from any icon sets, with no compromise ](./src/components )
2020-08-12 16:23:04 +08:00
2021-01-09 23:36:30 +08:00
- 🌍 [I18n ready ](./locales )
2020-08-12 16:23:04 +08:00
2020-12-01 11:36:51 +08:00
- 🗒 [Markdown Support ](https://github.com/antfu/vite-plugin-md )
2020-11-28 14:14:36 +08:00
- 🔥 Use the [new `<script setup>` style ](https://github.com/vuejs/rfcs/pull/227 )
2020-12-21 17:07:07 +08:00
- 🖨 Server-side generation (SSG) via [vite-ssg ](https://github.com/antfu/vite-ssg )
2020-12-02 19:56:10 +08:00
2020-08-12 16:23:04 +08:00
- 🦾 TypeScript, of course
2020-10-28 18:05:02 +08:00
- ☁️ Deploy on Netlify, zero-config
2020-08-12 16:23:04 +08:00
< br >
2020-08-10 02:43:04 +08:00
## Pre-packed
### UI Frameworks
2020-09-16 00:00:02 +08:00
- [Tailwind CSS ](https://tailwindcss.com/ ) - with built-in dark mode!
2020-12-14 14:58:40 +08:00
- [Tailwind Typography ](https://github.com/tailwindlabs/tailwindcss-typography ) - Typography for Tailwind
2020-08-10 02:43:04 +08:00
2020-08-10 19:24:52 +08:00
### Icons
- [Iconify ](https://iconify.design ) - use icons from any icon sets [🔍Icônes ](https://icones.netlify.app/ )
2021-01-22 15:44:30 +08:00
- [`vite-plugin-icons` ](https://github.com/antfu/vite-plugin-icons ) - icons as Vue components
2020-08-10 19:24:52 +08:00
2020-08-20 16:04:00 +08:00
### Plugins
2020-08-10 02:43:04 +08:00
- [Vue Router ](https://github.com/vuejs/vue-router )
2021-01-22 15:44:30 +08:00
- [`vite-plugin-pages` ](https://github.com/hannoeru/vite-plugin-pages ) - file system based routing
- [`vite-plugin-components` ](https://github.com/antfu/vite-plugin-components ) - components auto import
- [`vite-plugin-pwa` ](https://github.com/antfu/vite-plugin-pwa ) - PWA
- [`vite-plugin-md` ](https://github.com/antfu/vite-plugin-md ) - Markdown as components / components in Markdown
- [`markdown-it-prism` ](https://github.com/jGleitz/markdown-it-prism ) - [Prism ](https://prismjs.com/ ) for syntax highlighting
- [`prism-theme-vars` ](https://github.com/antfu/prism-theme-vars ) - customizable Prism.js theme using CSS variables
2021-01-09 23:36:30 +08:00
- [Vue I18n ](https://github.com/intlify/vue-i18n-next ) - Internationalization
2021-01-22 15:44:30 +08:00
- [`vite-plugin-vue-i18n` ](https://github.com/intlify/vite-plugin-vue-i18n ) - Vite plugin for Vue I18n
2020-08-10 19:24:52 +08:00
- [VueUse ](https://github.com/antfu/vueuse ) - collection of useful composition APIs
2021-02-05 09:35:43 +08:00
- [`@vueuse/head` ](https://github.com/vueuse/head ) - manipulate document head reactively
2020-08-10 02:43:04 +08:00
2020-08-12 16:23:04 +08:00
### Coding Style
2020-08-10 02:43:04 +08:00
2020-11-28 14:14:36 +08:00
- Use Composition API with [`<script setup>` SFC ](https://github.com/vuejs/rfcs/pull/227 )
2020-12-01 03:25:21 +08:00
- [ESLint ](https://eslint.org/ ) with [@antfu/eslint-config-vue ](https://github.com/antfu/eslint-config ), single quotes, no semi.
2020-08-10 02:43:04 +08:00
### Dev tools
2020-08-12 23:46:12 +08:00
- [TypeScript ](https://www.typescriptlang.org/ )
2020-08-10 19:24:52 +08:00
- [pnpm ](https://pnpm.js.org/ ) - fast, disk space efficient package manager
2021-01-22 15:44:30 +08:00
- [`vite-ssg` ](https://github.com/antfu/vite-ssg ) - Server-side generation
2020-08-12 23:46:12 +08:00
- [Netlify ](https://www.netlify.com/ ) - deploy
2020-08-10 11:17:26 +08:00
- [VS Code Extensions ](./.vscode/extensions.json )
2021-01-22 19:04:21 +08:00
- [Volar ](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar )
2020-08-12 23:46:12 +08:00
- [Iconify IntelliSense ](https://marketplace.visualstudio.com/items?itemName=antfu.iconify )
2021-01-22 19:04:21 +08:00
- [i18n Ally ](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally )
2020-08-12 23:46:12 +08:00
- [Tailwind CSS IntelliSense ](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss )
- [ESLint ](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint )
2020-08-10 02:43:04 +08:00
2020-10-01 14:08:01 +08:00
## Variations
2020-12-01 03:25:21 +08:00
As this template is strongly opinionated, the following provides a curated list for community maintained variations with different preferences and feature sets. Check them out as well. PR to add yours are also welcome!
2020-10-01 14:08:01 +08:00
- [vitesse-lite ](https://github.com/kn0wn/vitesse-lite ) by [@kn0wn ](https://github.com/kn0wn )
2020-08-10 11:17:26 +08:00
## Try it now!
2021-01-07 23:02:56 +08:00
### GitHub Template
2020-08-12 23:46:12 +08:00
2021-01-07 23:02:56 +08:00
[Create a repo from this template on GitHub ](https://github.com/antfu/vitesse/generate ).
2020-08-10 11:17:26 +08:00
2020-08-13 02:38:04 +08:00
### Clone to local
2020-08-12 23:46:12 +08:00
2020-12-21 17:48:15 +08:00
If you prefer to do it manually with the cleaner git history
2020-08-10 02:43:04 +08:00
```bash
2020-08-10 11:17:26 +08:00
npx degit antfu/vitesse my-vitesse-app
cd my-vitesse-app
2020-08-10 10:38:38 +08:00
pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
2020-08-10 02:43:04 +08:00
```
2020-08-21 00:06:21 +08:00
## Checklist
2020-09-16 00:04:25 +08:00
When you use this template, try follow the checklist to update your info properly
2020-08-21 00:06:21 +08:00
- [ ] Rename `name` field in `package.json`
- [ ] Change the author name in `LICENSE`
- [ ] Change the title in `index.html`
- [ ] Change the favicon in `public`
- [ ] Remove the `.github` folder which contains the funding info
- [ ] Clean up the READMEs and remove routes
And, enjoy :)
## Usage
### Development
2020-12-02 08:09:24 +08:00
Just run and visit http://localhost:3333
2020-08-21 00:06:21 +08:00
```bash
pnpm dev
```
### Build
To build the App, run
```bash
pnpm build
```
2020-11-28 14:14:36 +08:00
And you will see the generated file in `dist` that ready to be served.
2020-08-21 00:06:21 +08:00
### Deploy on Netlify
2020-11-28 14:14:36 +08:00
Go to [Netlify ](https://app.netlify.com/start ) and select your clone, `OK` along the way, and your App will be live in a minute.
2020-08-21 00:06:21 +08:00
2020-08-10 02:43:04 +08:00
## Why
2020-08-21 00:06:21 +08:00
I have created several Vite apps recently. Setting the configs up is kinda the bottleneck for me to make the ideas simply come true within a very short time.
2020-08-10 11:17:26 +08:00
2020-10-01 14:08:01 +08:00
So I made this starter template for myself to create apps more easily, along with some good practices that I have learned from making those apps. It's strongly opinionated, but feel free to tweak it or even maintains your own forks. [(see community maintained variation forks) ](#variations )