updated README.md, removed boilersplate and added instructions for using
This commit is contained in:
parent
6e6c09b5ba
commit
3f1c299850
107
README.md
107
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
|
### Installation
|
||||||
- [@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
|
- 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.
|
||||||
|
|
||||||
## 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...
|
|
||||||
},
|
|
||||||
},
|
|
||||||
])
|
|
||||||
```
|
|
||||||
|
@ -11,5 +11,5 @@
|
|||||||
"hasMasterSlide": true
|
"hasMasterSlide": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"generated": "2025-08-20T14:58:18.957Z"
|
"generated": "2025-08-20T15:25:28.729Z"
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user