Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/simonb97/markdown-collector

Easily capture web content as Markdown to provide context to AI assistants like ChatGPT, streamlining your research and coding workflow.
https://github.com/simonb97/markdown-collector

chatgpt firefox-extension html-to-markdown scraping

Last synced: about 10 hours ago
JSON representation

Easily capture web content as Markdown to provide context to AI assistants like ChatGPT, streamlining your research and coding workflow.

Awesome Lists containing this project

README

        

# Markdown Collector - Website to Markdown

A **Firefox extension** that helps you save web pages as Markdown and manage them efficiently. Perfect for sharing content with AI assistants like ChatGPT.

## Features

- **Quick Save:** Use keyboard shortcuts to save and convert pages:
- `Alt+I`: Save and convert current page(s)
- `Alt+C`: Save, convert, and copy to clipboard
- `Alt+M`: Open markdown collection
- **AI-Powered Refinement:** Optional LLM integration to refine and structure content based on custom prompts
- **Multi-Tab Processing:** Select multiple tabs (Ctrl+Click or Shift+Click) and process them:
- Individual mode: Apply the same AI refinement to each page separately
- Batch mode: Combine all selected pages into one document (Shift+Enter) and apply the same AI refinement to the combined content
- **Content Management:**
- Centralized collection page for all saved URLs and their Markdown content
- Edit content directly within the collection
- Select multiple entries for copying or deleting
- Update and review changes with diff view
- **Smart Content Cleanup:** Optional Readability integration to extract main content and remove clutter

## Installation

**Get it from Firefox Add-ons: [Markdown Collector](https://addons.mozilla.org/de/firefox/addon/markdown-collector/)**

_For developers:_

1. Clone: `git clone https://github.com/simonb97/markdown-collector.git`
2. Load in Firefox:
- Go to `about:debugging#/runtime/this-firefox`
- Click "Load Temporary Add-on"
- Select `manifest.json`

## Quick Start Guide

2. **Load the Extension in Firefox:**

- Open Firefox and navigate to `about:debugging#/runtime/this-firefox`
- Click on **"Load Temporary Add-on..."**
- Select the `manifest.json` file from the cloned repository

- Single page: Press `Alt+I` or `Alt+C`
- Multiple pages:
- Hold Ctrl and click on tabs you want to save
- Press `Alt+I` or `Alt+C`
- Choose to process them separately or combine them

1. **Save Pages:**

- Single Page:
- Press `Alt+I` to save and convert the current page
- Press `Alt+C` to save, convert, and copy to clipboard
- Multiple Pages:
- Select multiple tabs using Ctrl+Click or Shift+Click
- Press `Alt+I` or `Alt+C`
- Choose processing mode:
- Press Enter: Process each page individually with the same prompt
- Press Shift+Enter: Combine all pages into one document

1. **AI Refinement (Optional):**

- Enable LLM refinement in settings
- Add your API key (supports OpenAI and compatible local models)
- When saving pages, enter a prompt to refine the content
- For multiple pages:
- Individual mode: Same prompt applies to each page
- Batch mode: Prompt applies to combined content

1. **Manage Collection:**
- Press `Alt+M` to open the collection page
- Edit content directly in the markdown boxes
- Select entries and use the action buttons to:
- Copy selected entries
- Update content from source
- Delete entries
- Use the search feature to filter entries

## Keyboard Shortcuts

- **Save and Convert:** `Alt+I`
- **Save, Convert, and Copy:** `Alt+C`
- **Open Collection:** `Alt+M`
- **In Prompt Dialog:**
- Enter: Process individually
- Shift+Enter: Process as batch (when multiple tabs selected)
- Esc: Cancel operation

_Shortcuts can be customized in Firefox Add-ons settings._

## Roadmap

See [Roadmap.md](Roadmap.md).

Changelog is at the end of [Roadmap.md](Roadmap.md).

## Contributing

Contributions are welcome! Whether it's reporting bugs, suggesting features, or submitting pull requests, your help is appreciated.

1. **Fork the Repository**
2. **Create a New Branch:**
```bash
git checkout -b feature/YourFeature
```
3. **Commit Your Changes:**
```bash
git commit -m "Add some feature"
```
4. **Push to the Branch:**
```bash
git push origin feature/YourFeature
```
5. **Open a Pull Request**

## License

This project is licensed under the [GNU General Public License v3.0](LICENSE).

## Acknowledgments

- [Turndown](https://github.com/domchristie/turndown) for HTML to Markdown conversion.
- [JsDiff](https://github.com/kpdecker/jsdiff) for showing differences between Markdown texts.
- [Readability](https://github.com/mozilla/readability) for extracting the main content of a page.