Skip to content

Deepak-Kambala/MarkIt-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

License: MIT

MarkIt - Chrome Extension πŸ“–


🎯 Overview

MarkIt (Highlight Saver Pro) is a powerful Chrome extension that lets users save, manage, and export text highlights from any webpage. With a simple right-click, you can capture important text snippets along with their source URLs, organize them in a sleek interface, and export to PDF for offline reference.


πŸ’Ό Use Cases

πŸŽ“ Academic Research

  • Save key quotes from research papers
  • Collect references with source links
  • Organize findings by topic or project
  • Export compiled research to PDF

πŸ’Ό Professional Work

  • Capture important information from documents
  • Save code snippets with source references
  • Collect competitive intelligence
  • Build knowledge bases from web content

πŸ“š Personal Learning

  • Save inspiring quotes from articles
  • Collect recipe instructions with sources
  • Build reading lists with key insights
  • Create study guides from online resources

πŸ” Content Creation

  • Gather reference materials for writing
  • Save statistics and facts with sources
  • Collect examples for analysis
  • Build content outlines from research

✨ Features

πŸ”₯ Core Features

  • One-Click Highlight Saving: Right-click any selected text to save instantly
  • Smart Source Tracking: Automatically captures page URL and timestamp
  • Beautiful Interface: Modern UI with smooth animations
  • Duplicate Prevention: Prevents saving the same highlight twice
  • Real-time Updates: Live refresh of highlights list

πŸ“Š Management Features

  • Visual Organization: Card-based layout with metadata
  • Quick Deletion: Remove highlights individually
  • Bulk Operations: Clear all highlights with confirmation
  • Statistics Display: Total count & today's highlights counter
  • "NEW" Badges: Indicators for recently added items

πŸ“€ Export Features

  • PDF Generation: Professional document creation
  • Automatic Formatting: Clean, readable PDF layout
  • Source Links: Clickable URLs in exported PDF
  • Timestamped Files: Unique filenames with export dates
  • Progress Indicators: Visual feedback during export

πŸ›  Technology Stack

  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • Chrome Extension APIs: Manifest V3, Storage API, Context Menus, Scripting API, Notifications
  • Libraries: jsPDF 2.5.1 for PDF generation
  • Development Features: Modular architecture, error handling, offline capable, cross-browser compatible

πŸ“₯ Installation Guide

Method 1: Developer Installation

  1. Download the extension files
  2. Open Chrome β†’ chrome://extensions/
  3. Enable Developer mode (top right corner)
  4. Click Load unpacked β†’ Select the extension folder
  5. Extension icon appears in toolbar

Method 2: Manual Setup

  1. Create folder structure:
highlight-saver-pro/ β”œβ”€β”€ manifest.json β”œβ”€β”€ popup.html β”œβ”€β”€ popup.js β”œβ”€β”€ background.js └── libs/ └── jspdf.umd.min.js 

Download jsPDF library: https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js

Copy all code files into this structure

πŸ“ File Structure

manifest.json: Extension metadata & permissions

popup.html: Main popup UI

popup.js: Core logic (storage, PDF export, UI events)

background.js: Background service worker (context menus, notifications)

libs/jspdf.umd.min.js: PDF generation library

πŸš€ Usage Guide

Saving Highlights

Select text on a webpage

Right-click β†’ Click Save Highlight

Notification confirms save

Managing Highlights

View all highlights by clicking toolbar icon

Delete individual highlights

Clear all highlights with confirmation

Exporting to PDF

Open extension β†’ Click Export PDF

Wait for processing indicator

PDF downloads automatically in browser's default folder

Advanced Features

Auto-refresh: Highlights list updates every 3 seconds

Source links: Clickable URLs for original pages

Date filtering: "NEW" badges for today's items

Duplicate prevention: Avoid saving identical highlights

πŸ— Technical Architecture

Data Flow

Web Page β†’ Context Menu β†’ Background Script β†’ Storage β†’ Popup UI β†’ PDF Export

Storage Schema

{ "highlights": [ { "text": "Selected text content", "source": "https://original-page-url.com", "date": "2024-01-15 14:30:25" } ] }

Component Architecture

Background Service Worker: Context menu, notifications, storage management

Popup Interface: UI controller, data binder, PDF generator

Content Scripts: Text capture, source detection, data packaging

πŸ›  Troubleshooting

PDF not downloading β†’ Ensure libs/jspdf.umd.min.js is correctly loaded

Highlights not saving β†’ Check Chrome storage permissions

Extension not appearing β†’ Reload unpacked extension

πŸ— Development Guide

Maintain modular file structure

Use console logs for debugging

Follow Chrome Extension Manifest V3 guidelines

🀝 Contributing

We love contributions! Here's how you can help:

🎯 For Hacktoberfest Participants:

Look for issues labeled hacktoberfest or good-first-issue

Check the help-wanted tag for specific needs

πŸ“ Contribution Steps:

⭐ Star the repository

🍴 Fork the repository

🌿 Create a feature branch

git checkout -b amazing-feature 

πŸ’Ύ Commit your changes

git commit -m 'Add amazing feature' 

πŸ“€ Push to branch

git push origin amazing-feature 

πŸ”” Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

πŸ‘¨β€πŸ’» Maintainer

Deepak Kambala

Passionate about creating fun web experiences πŸš€

About

A Chrome extension to instantly save, organize, and export text highlights from any webpage.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 10