diff --git a/README.md b/README.md index 52a3a01..e3631fd 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,146 @@ -# . +# Framework Combination -This template should help get you started developing with Vue 3 in Vite. +This is a learning project that combines multiple frameworks to create a demo application. -## Recommended IDE Setup +- **Base framework:** Vue 3 + Vite 7 +- **CSS framework:** Tailwind CSS 4 +- **Package manager:** pnpm -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). +--- -## Type Support for `.vue` Imports in TS +## Development Setup -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. - -## Customize configuration - -See [Vite Configuration Reference](https://vite.dev/config/). - -## Project Setup +To set up this project from scratch: ```sh +pnpm create vue@latest +# Enter your project name +# Select: TypeScript, Router, Pinia, ESLint (Optional), Prettier +# Choose "Empty Project" pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh pnpm dev ``` -### Type-Check, Compile and Minify for Production +--- + +## Tailwind CSS Integration + +### Tailwind CSS v3 + +For reference, Tailwind CSS v3 setup (as learned from ChatGPT) involves: ```sh -pnpm build +pnpm add -D tailwindcss@3.4.1 postcss autoprefixer +pnpm exec tailwindcss init -p # Generates tailwind.config.js and postcss.config.js ``` -### Lint with [ESLint](https://eslint.org/) +### Tailwind CSS v4 + +Tailwind CSS 4 simplifies the setup significantly: ```sh -pnpm lint +pnpm add tailwindcss @tailwindcss/vite +``` + +Register the Tailwind CSS plugin in `vite.config.ts`: + +```ts +import tailwindcss from '@tailwindcss/vite' + +export default defineConfig({ + plugins: [ + // ... + tailwindcss(), + ], + // ... +}) +``` + +Create `src/styles/main.css` with the following content: + +```css +@import 'tailwindcss'; + +/* Define theme (Tailwind CSS 4 no longer uses tailwind.config.js) */ +@theme { + /* Primary color palette */ + --color-primary-50: #f0f9ff; + --color-primary-100: #e0f2fe; + --color-primary-200: #bae6fd; + --color-primary-300: #7dd3fc; + --color-primary-400: #38bdf8; + --color-primary-500: #0ea5e9; + --color-primary-600: #0284c7; + --color-primary-700: #0369a1; + --color-primary-800: #075985; + --color-primary-900: #0c4a6e; + + /* Animation variable */ + --animate-float: float 6s ease-in-out infinite; + + /* Keyframes */ + @keyframes float { + 0%, + 100% { + transform: translateY(0); + } + 50% { + transform: translateY(-10px); + } + } +} + +/* Custom utility/class for gradient text (optional) */ +@layer utilities { + .text-gradient { + @apply bg-gradient-to-r from-primary-600 to-primary-400 bg-clip-text text-transparent; + } +} + +/* Alternative syntax: +@utility text-gradient { + @apply bg-gradient-to-r from-primary-600 to-primary-400 bg-clip-text text-transparent; +} +*/ +``` + +Import the stylesheet in `main.ts`: + +```ts +import '@/styles/main.css' +``` + +Now you can use Tailwind CSS atomic classes in your project. + +--- + +## Example Usage + +```vue + + + ```