Skip to content

lclichen/papers-auto-jump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Papers2Assistant

Chrome Extension Version Manifest V3 License Language

A powerful browser extension that helps you jump from arXiv and HuggingFace paper pages to various paper reading assistant platforms with one click.

δΈ­ζ–‡ζ–‡ζ‘£ | Features | Installation | Usage | Contributing

πŸ“Έ Screenshots

Main Interface Button Management
Interface Management

Note: Screenshots will be added. Please take screenshots of your extension and update the image paths above.

✨ Features

  • πŸš€ One-Click Navigation: Quickly jump from paper pages to your favorite reading platforms
  • 🎯 Multi-Platform Support: Supports arXiv, HuggingFace, and more
  • βš™οΈ Customizable Buttons: Add, edit, or delete custom redirect buttons
  • 🎨 Visual Customization: Customize button colors, logos, and names
  • 🌍 Bilingual Interface: Full support for English and Chinese
  • πŸ”’ Secure & Safe: Content Security Policy, input validation, and XSS protection
  • πŸ’Ύ Sync Across Devices: Settings are synced via Chrome storage sync

🌐 Supported Target Platforms

The extension is pre-configured with the following platforms:

Platform Template Example
ModelScope https://modelscope.cn/papers/{id}
PaperScope https://paperscope.ai/hf/{id}
alphaXiv https://www.alphaxiv.org/abs/{id}

Supported Paper Sources:

πŸ“¦ Installation

From Chrome Web Store[Not yet available]

  1. Visit the Chrome Web Store (link to be added)
  2. Click "Add to Chrome"
  3. That's it!

Manual Installation (Development Version)

  1. Clone or download this repository

    git clone https://github.com/lclichen/papers-auto-jump.git
    cd papers-auto-jump
  2. Open Chrome/Edge browser and navigate to chrome://extensions/

  3. Enable "Developer mode" (toggle in the top right corner)

  4. Click "Load unpacked" and select the papers-auto-jump directory

  5. The extension is now installed and ready to use!

πŸš€ Usage

Basic Usage

  1. Visit a Paper Page

  2. See Jump Buttons

    • Above the paper title, you'll see redirect buttons
    • Click any button to jump to the corresponding platform

Managing Custom Buttons

  1. Click the extension icon in your browser toolbar

  2. In the popup interface:

    • Add Button: Fill in the form and click "Add Button"
    • Edit Button: Click "Edit" on any button to modify it
    • Delete Button: Click "Delete" to remove a button
  3. Button Configuration Fields:

    • Button Name: Display text on the button (e.g., "Semantic Scholar")
    • Target URL Template: The URL pattern, use {id} as placeholder for the paper ID
      • Example: https://www.semanticscholar.org/paper/{id}
    • Logo URL (optional): URL to a button icon
    • Button Color: Choose a color using the color picker or enter a hex/RGB value

Language Switching

  • Use the language selector in the top-right corner to switch between English and Chinese
  • Your preference is saved automatically

πŸ› οΈ Development

Project Structure

papers-auto-jump/
β”œβ”€β”€ manifest.json              # Extension configuration
β”œβ”€β”€ popup.html                 # Popup interface HTML
β”œβ”€β”€ popup.js                   # Popup logic and management
β”œβ”€β”€ content.js                 # Content script (injected into paper pages)
β”œβ”€β”€ assets/
β”‚   └── icons/
β”‚       └── icon-v2.png        # Extension icons
└── _locales/
    β”œβ”€β”€ en/
    β”‚   └── messages.json      # English translations
    └── zh_CN/
        └── messages.json      # Chinese translations

Key Technologies

  • Manifest V3: Latest Chrome extension standard
  • Chrome Storage API: For syncing user settings
  • Content Scripts: For injecting buttons into web pages
  • Internationalization (i18n): Multi-language support

Building from Source

No build process required! This is a vanilla JavaScript extension.

Running Tests

# Currently, manual testing is required
# Automated tests are planned for future releases

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Report Bugs: Open an issue with the bug report template
  2. Suggest Features: Share your ideas for improvement
  3. Submit Pull Requests: Fork the repo, make changes, and submit a PR

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Coding Style

  • Follow the existing code style
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Ensure all user inputs are sanitized (see sanitizeInput() function)

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Thanks to all paper platforms that provide public APIs
  • Thanks to the open-source community for various browser extension examples

πŸ“§ Contact

πŸ—ΊοΈ Roadmap

  • Support more paper platforms (OpenReview, Semantic Scholar, etc.)
  • Add button drag-and-drop sorting
  • Import/Export button configurations
  • Usage statistics
  • Dark mode support
  • Keyboard shortcuts

πŸ“Š Changelog

Version 0.7 (Current)

  • βœ… Initial release
  • βœ… Support for arXiv and HuggingFace
  • βœ… Custom button management
  • βœ… Bilingual interface (English/Chinese)
  • βœ… Content Security Policy
  • βœ… Input validation and XSS protection

Made with ❀️ for the research community

⬆ Back to Top

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors