Skip to content

Commit ac9a484

Browse files
committed
chore: improve readme and add license
1 parent 882123b commit ac9a484

File tree

8 files changed

+76
-57
lines changed

8 files changed

+76
-57
lines changed

LICENSE.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 [MiladSadeghi]
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+50-52
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,52 @@
1-
# React + TypeScript + Vite
2-
3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4-
5-
Currently, two official plugins are available:
6-
7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9-
10-
## Expanding the ESLint configuration
11-
12-
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13-
14-
```js
15-
export default tseslint.config({
16-
extends: [
17-
// Remove ...tseslint.configs.recommended and replace with this
18-
...tseslint.configs.recommendedTypeChecked,
19-
// Alternatively, use this for stricter rules
20-
...tseslint.configs.strictTypeChecked,
21-
// Optionally, add this for stylistic rules
22-
...tseslint.configs.stylisticTypeChecked,
23-
],
24-
languageOptions: {
25-
// other options...
26-
parserOptions: {
27-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
28-
tsconfigRootDir: import.meta.dirname,
29-
},
30-
},
31-
})
32-
```
1+
# ✏️ LeetCode Whiteboard – Chrome Extension
2+
3+
![preview](public/image/preview.png)
4+
5+
A whiteboard overlay for [LeetCode](https://leetcode.com) problem pages.
6+
Draw, write, and visualize your algorithm ideas without leaving the tab.
7+
Built with [tldraw](https://github.com/tldraw/tldraw).
8+
9+
---
10+
11+
## 🚀 Features
12+
13+
- 🖌️ Draw directly on LeetCode problems
14+
- ✍️ Supports freehand drawing, shapes, text, and more
15+
- 💾 Saves your whiteboard per problem
16+
- ⚡ Quick and lightweight
17+
18+
---
19+
20+
## 📦 Installation
21+
22+
You can download the latest pre-built version from the [Releases](https://github.com/MiladSadeghi/leetcode-whiteboard/releases) section.
23+
24+
To install manually:
3325

34-
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:
35-
36-
```js
37-
// eslint.config.js
38-
import reactX from 'eslint-plugin-react-x'
39-
import reactDom from 'eslint-plugin-react-dom'
40-
41-
export default tseslint.config({
42-
plugins: {
43-
// Add the react-x and react-dom plugins
44-
'react-x': reactX,
45-
'react-dom': reactDom,
46-
},
47-
rules: {
48-
// other rules...
49-
// Enable its recommended typescript rules
50-
...reactX.configs['recommended-typescript'].rules,
51-
...reactDom.configs.recommended.rules,
52-
},
53-
})
26+
1. Download the `.zip` from the latest release
27+
2. Unzip it
28+
3. Go to `chrome://extensions/` in your browser
29+
4. Enable **Developer mode**
30+
5. Click **Load unpacked** and select the unzipped folder
31+
32+
---
33+
34+
## 🛠 For Developers
35+
36+
To build the extension from source:
37+
38+
```bash
39+
pnpm install
40+
pnpm build
5441
```
42+
43+
The output will be in the `dist/` folder. You can then load it into Chrome as an unpacked extension.
44+
45+
## 🙌 Contributing
46+
47+
Pull requests and suggestions are welcome!
48+
Feel free to open an issue or create a PR for features, improvements, or bugs.
49+
50+
## 📄 License
51+
52+
MIT License. See [LICENSE](https://github.com/MiladSadeghi/leetcode-whiteboard/LICENSE.md) for details.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

public/image/preview.png

205 KB
Loading

public/manifest.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
"manifest_version": 3,
33
"name": "Leetcode Whiteboard",
44
"version": "1.0",
5-
"description": "Solve algorithm with whiteboard",
5+
"description": "Draw and solve algorithms with a whiteboard on LeetCode.",
66
"content_scripts": [
77
{
88
"matches": ["https://leetcode.com/problems/*"],
99
"js": ["assets/index.js"]
1010
}
1111
],
1212
"icons": {
13-
"16": "icon-16.png",
14-
"32": "icon-32.png",
15-
"48": "icon-48.png",
16-
"128": "icon-128.png"
13+
"16": "icons/icon-16.png",
14+
"32": "icons/icon-32.png",
15+
"48": "icons/icon-48.png",
16+
"128": "icons/icon-128.png"
1717
},
1818
"permissions": ["scripting"],
1919
"host_permissions": ["https://leetcode.com/*"]

0 commit comments

Comments
 (0)