Skip to content

Om-A-osc/FocKus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FocKus

FocKus is a browser extension that allows users to highlight, organize, and persist important text across web pages. It is designed to improve reading and research workflows by turning any webpage into an annotated workspace.


Overview

FocKus enables users to:

  • Highlight selected text on any webpage
  • Choose highlight colors through a simple floating interface
  • Persist highlights so they remain visible across sessions
  • Reconstruct highlights reliably even after page reloads

The extension focuses on simplicity, performance, and robustness in handling real-world web content.


Features

  • Text highlighting directly within webpages
  • Multiple color options for organization
  • Persistent storage of highlights
  • DOM-aware selection tracking for accuracy
  • Lightweight floating UI for interaction

How It Works

When a user highlights text, the extension captures structured metadata including:

  • Selection offsets
  • DOM node references
  • Page URL
  • Highlight color
  • Unique identifier

This data is stored locally. On subsequent visits, the extension:

  1. Loads stored highlights
  2. Matches them to the current DOM
  3. Reconstructs and reapplies the highlights

This approach ensures that highlights remain stable even when the page structure changes slightly.


Installation

Load as an unpacked extension (Chrome)

  1. Clone the repository: git clone https://github.com/Om-A-osc/FocKus.git cd FocKus

  2. Open Chrome and navigate to chrome://extensions/

  3. Enable Developer Mode

  4. Click "Load unpacked"

  5. Select the project folder


Usage

  1. Select any text on a webpage
  2. Choose a highlight color from the floating interface
  3. The highlight is saved automatically
  4. Reload the page to see the highlight persist

Project Structure

flowchart TD
    A[User selects text] --> B[Create highlight object]
    B --> C[Store in localStorage]
    C --> D[Save metadata offsets selectors color]
    D --> E[On page reload]
    E --> F[Reconstruct selection]
    F --> G[Apply highlight spans]
Loading

Design Considerations

Most highlighting tools struggle with persistence and DOM changes. FocKus addresses these issues by:

  • Storing structural information instead of raw text alone
  • Using selection offsets to maintain precision
  • Reapplying highlights dynamically based on DOM matching

This makes the system more resilient compared to simpler implementations.


Future Work

  • Cross-device synchronization
  • Centralized dashboard for highlights
  • Search and filtering capabilities
  • Integration with summarization tools

Contributing

Contributions are welcome. You can:

  1. Fork the repository
  2. Create a new branch
  3. Make your changes
  4. Submit a pull request

Author

Om-A-osc

About

Chrome productivity extension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors