diff --git a/README.md b/README.md index 7959ce4..a1d5c4a 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,46 @@ -# React + TypeScript + Vite +# Online slide presentation editor and viewer built with React and Vite +--- +A web application for creating, editing, and presenting slide presentations with customizable themes and layouts. -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +## Features +- Create new presentations with a selection of built-in themes +- Add slides with various layouts based on the selected theme +- Add text and images to slide layout "slots" +- Add presentation notes to slides +- Present slides in full-screen mode +- Easily switch themes and update presentations accordingly +- Modular and reusable React components +- Customizable themes with support for CSS, fonts, colors, and images +- Support for "master slides" with non-overridable content +- Responsive design for various screen sizes +- Export presentations to PDF or HTML format -Currently, two official plugins are available: +## Getting Started +### Prerequisites +- Node.js (v20 or later) +- npm (v9 or later) +- Git (for cloning the repository) +- A modern web browser (for running the application) +- A code editor (e.g., VSCode) for development +- Basic knowledge of React, TypeScript, HTML, and CSS +- Familiarity with Vite and npm package management -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: - -```js -export default tseslint.config([ - globalIgnores(['dist']), - { - files: ['**/*.{ts,tsx}'], - extends: [ - // Other configs... - - // Remove tseslint.configs.recommended and replace with this - ...tseslint.configs.recommendedTypeChecked, - // Alternatively, use this for stricter rules - ...tseslint.configs.strictTypeChecked, - // Optionally, add this for stylistic rules - ...tseslint.configs.stylisticTypeChecked, - - // Other configs... - ], - languageOptions: { - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - // other options... - }, - }, -]) -``` - -You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: - -```js -// eslint.config.js -import reactX from 'eslint-plugin-react-x' -import reactDom from 'eslint-plugin-react-dom' - -export default tseslint.config([ - globalIgnores(['dist']), - { - files: ['**/*.{ts,tsx}'], - extends: [ - // Other configs... - // Enable lint rules for React - reactX.configs['recommended-typescript'], - // Enable lint rules for React DOM - reactDom.configs.recommended, - ], - languageOptions: { - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - // other options... - }, - }, -]) -``` +### Installation +- Clone the repository: + ```bash + git clone https://git.dasfad.com/mmainguy/slideshare.git + ``` +- Navigate to the project directory: + ```bash + cd slideshare + ``` +- Install dependencies: +- ```bash + npm install + ``` +- Start the development server: +- ```bash + npm run dev + ``` +- Open your web browser and navigate to `http://localhost:5173` to view the application. + diff --git a/public/themes-manifest.json b/public/themes-manifest.json index 0966a75..f879293 100644 --- a/public/themes-manifest.json +++ b/public/themes-manifest.json @@ -11,5 +11,5 @@ "hasMasterSlide": true } }, - "generated": "2025-08-20T14:58:18.957Z" + "generated": "2025-08-20T15:25:28.729Z" } \ No newline at end of file