{"id":51464673,"url":"https://github.com/simplearyan/mark-it","last_synced_at":"2026-07-06T09:31:51.725Z","repository":{"id":348684246,"uuid":"1199355947","full_name":"simplearyan/mark-it","owner":"simplearyan","description":"Professional, Pixel-Perfect \u0026 SPA-Resilient Annotation Suite","archived":false,"fork":false,"pushed_at":"2026-04-02T10:30:53.000Z","size":929,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T00:24:13.734Z","etag":null,"topics":["annotation-tool","chrome-extension","excildraw","extension","roughjs","whiteboard"],"latest_commit_sha":null,"homepage":"https://simplearyan.github.io/mark-it/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplearyan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-02T09:13:44.000Z","updated_at":"2026-04-02T10:30:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/simplearyan/mark-it","commit_stats":null,"previous_names":["simplearyan/mark-it"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/simplearyan/mark-it","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplearyan%2Fmark-it","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplearyan%2Fmark-it/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplearyan%2Fmark-it/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplearyan%2Fmark-it/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplearyan","download_url":"https://codeload.github.com/simplearyan/mark-it/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplearyan%2Fmark-it/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35185688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotation-tool","chrome-extension","excildraw","extension","roughjs","whiteboard"],"created_at":"2026-07-06T09:31:50.224Z","updated_at":"2026-07-06T09:31:51.706Z","avatar_url":"https://github.com/simplearyan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖌️ IITM Annotator \n**Professional, Pixel-Perfect \u0026 SPA-Resilient Annotation Suite**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Version](https://img.shields.io/badge/Version-1.0.0-blue.svg)]()\n[![Platform](https://img.shields.io/badge/Browser-Chrome%20%7C%20Edge%20%7C%20Firefox-orange.svg)]()\n\n**IITM Annotator** is a high-performance browser extension designed specifically for students and professionals. Unlike basic annotation tools, it is built to handle modern Single Page Applications (SPAs) like the IITM LMS with zero-jitter, sticky scrolling, and mobile responsiveness.\n\n---\n\n## 🌟 Key Features\n\n### 💎 Pixel-Perfect Precision\n- **Zero-Jitter Engine**: Advanced coordinate resolution ensures your marks stay exactly where you put them, even on extremely long pages.\n- **Rough.js Integration**: Beautiful, hand-drawn aesthetic for pens, lines, rectangles, and circles.\n- **Advanced Highlighter**: Features real-time multiply blend-mode and stroke stacking (identical to a physical marker).\n\n### 🎨 Next-Gen UI/UX\n- **Dockable Toolbar**: Pin the toolbar to the Bottom, Top, Left, or Right of the screen.\n- **Custom Color Picker**: A built-in rainbow gradient icon that hooks into your system's native color picker.\n- **Keyboard Shortcuts**: Full hotkey support for fast tool switching (hover over any tool to see its shortcut).\n- **Glassmorphic Aesthetics**: Modern \"tinted glass\" active states, ultra-thin custom scrollbars, and sleek SVG iconography.\n\n### 🔄 SPA Resilience (Heartbeat System)\n- Automatically detects DOM changes in React/Angular/Vue environments.\n- Re-injects drawing layers instantly if the framework clears the page content.\n\n### 📱 Mobile \u0026 Tablet Ready\n- **Universal Touch Support**: Smooth drawing with finger or stylus.\n- **Swipeable Toolbar**: Horizontal tool scrolling for narrow devices.\n- **Palm Rejection**: Intelligent pointer tracking to ignore accidental touches.\n\n### 💾 Persistent Workspace\n- Drawings are automatically saved to `chrome.storage.local` based on the specific URL.\n- Your notes remain ready exactly where you left them, even after browser restarts.\n\n---\n\n## 🚀 Installation (Developer Mode)\n\n1. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/simplearyan/IITM-Annotation-Extension.git\n   ```\n2. **Open Extensions Page**:\n   - Go to `chrome://extensions/` in Chrome/Edge, or `about:debugging` in Firefox.\n3. **Enable Developer Mode**:\n   - Toggle the switch in the top-right corner.\n4. **Load Unpacked**:\n   - Click **Load Unpacked** and select the project folder.\n\n---\n\n## 🛠️ How to Use\n\n1. **Activation**: Click the **Pen Icon (FAB)** in the bottom-right corner to toggle the whiteboard.\n2. **Safety Mode**: The tool starts in **Cursor/Pointer Mode**. This allows you to interact with links and buttons without accidentally drawing.\n3. **Drawing**: Choose a tool (Pen, Line, Rectangle, etc.) and start annotating.\n4. **Settings**: Switch colors and stroke weights instantly via the glassmorphic toolbar.\n5. **Clean Up**: Use the **Clear All** button for a fresh start with a non-blocking confirmation popover.\n\n---\n\n## 👨‍💻 About the Author\n\nBuilt with ❤️ by **Aryan**.\n\n- **GitHub**: [@simplearyan](https://github.com/simplearyan)\n- **Portfolio**: [simplearyan.github.io](https://simplearyan.github.io)\n- **YouTube**: [@SimpleAryan](https://youtube.com/@SimpleAryan)\n\n---\n\n## 📜 License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplearyan%2Fmark-it","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplearyan%2Fmark-it","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplearyan%2Fmark-it/lists"}