Skip to content

Commit 8c6e66b

Browse files
author
Oscar
committed
Merge branch 'refactor/backup-and-restore'
2 parents a9b3a48 + ad8e3be commit 8c6e66b

70 files changed

Lines changed: 1993 additions & 23554 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,22 @@ Read the Nenya privacy policy on Notion: [Nenya Privacy Policy](https://triiii.n
3535
- Encrypt & Save to Raindrop Unsorted via password-protected links
3636
- Mirror Raindrop collections as browser bookmarks
3737
- Automatic background synchronization
38-
- **Backup & Restore:** Export and import all your extension settings with conflict-free (Automerge) sync across browsers
39-
- **Notion Integration:** Add a Notion integration secret so popup search can surface shared Notion pages and databases alongside Raindrop results
38+
- **JSON Import/Export:** Export and import extension settings as local JSON files
4039

4140
### 🖥️ Advanced Tab Features
4241

4342
- **Auto Reload:** Automatically reload specific pages based on URL patterns and intervals
44-
- **Bookmark Search:** Fast popup search across Raindrop and shared Notion content with keyboard navigation
43+
- **Bookmark Search:** Fast popup search across Raindrop content with keyboard navigation
4544
- **Custom Search Engines:** Add your own search shortcuts (`keyword + query`) directly from options
4645

47-
### 🤖 AI/LLM Integration
46+
### 📄 Page Content Export
4847

49-
- **Chat with LLM:** Send page content directly to ChatGPT, Claude, Gemini, or Perplexity
50-
- **Custom LLM Prompts:** Create and manage reusable prompts for AI interactions
5148
- **Page Content Extraction:**
5249
- General web pages (using Readability)
5350
- YouTube videos (title, description, transcript)
5451
- Notion pages (full content extraction)
5552
- Confluence pages (page-aware scraping with preserved lists, tables, code, and images)
5653
- **Download as Markdown:** Export page content as markdown files, including Confluence-aware markdown conversion
57-
- **Screenshot Integration:** Automatically attach screenshots when sending to LLM
5854

5955
### 📋 Clipboard Tools
6056

@@ -68,9 +64,6 @@ Read the Nenya privacy policy on Notion: [Nenya Privacy Policy](https://triiii.n
6864

6965
### ✨ Content Enhancement
7066

71-
- **Bright Mode:** Force light/bright mode on any website (override dark themes)
72-
- **Dark Mode:** Force dark mode rendering on websites when needed
73-
- **Element Blocker:** Visual element picker to permanently hide distracting page elements (instant apply—no refresh needed)
7467
- **Custom JavaScript:** Inject custom JS code into specific websites
7568
- **Custom CSS:** Inject custom CSS styles into specific websites
7669
- **YouTube Enhancements:** Special optimizations and fixes for YouTube
-64.1 KB
Binary file not shown.
-19 KB
Binary file not shown.
-40.9 KB
Binary file not shown.
-25.5 KB
Binary file not shown.
-32.5 KB
Binary file not shown.
-27 KB
Binary file not shown.
-28.8 KB
Binary file not shown.
-15.7 KB
Binary file not shown.

docs/STORE.md

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,20 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
2626
✓ Encrypt & save to Raindrop Unsorted with password-protected links
2727
✓ Mirror Raindrop collections as bookmarks
2828
✓ Automatic background synchronization
29-
Backup & restore all extension settings with conflict-free Automerge sync
29+
Export and import extension settings as local JSON files
3030

3131
🖥️ Advanced Tab Features
3232
• Auto Reload: Automatically reload pages based on URL patterns
33-
• Bookmark Search: Fast search with keyboard navigation
33+
• Bookmark Search: Fast Raindrop search with keyboard navigation
3434
• Custom Search Engines: Add your own keyword + query search shortcuts
3535

36-
🤖 AI/LLM Integration
37-
• Chat with LLM: Send content to ChatGPT, Claude, Gemini, or Perplexity
38-
• Custom reusable prompts for AI interactions
36+
📄 Page Content Export
3937
• Smart content extraction:
4038
✓ General web pages (Readability)
4139
✓ YouTube (title, description, transcript)
4240
✓ Notion pages (full content)
4341
✓ Confluence pages (page-aware markdown conversion)
4442
• Download pages as markdown files, including Confluence-aware exports
45-
• Automatic screenshot attachment for visual context
4643

4744
📋 Clipboard Tools
4845
• Copy page title
@@ -54,9 +51,6 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
5451
• Save clipboard URLs directly to Raindrop Unsorted
5552

5653
✨ Content Enhancement
57-
• Bright Mode: Force light mode on any website
58-
• Dark Mode: Force dark mode rendering on websites when needed
59-
• Element Blocker: Visual picker to hide distracting elements (instant apply)
6054
• Custom JavaScript: Inject JS code into specific sites
6155
• Custom CSS: Inject custom styles into specific sites
6256
• YouTube Enhancements: Special optimizations for YouTube
@@ -86,7 +80,7 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
8680
Required for Raindrop.io integration to mirror collections and items as browser bookmarks. The extension creates, updates, and manages bookmark folders to sync with your Raindrop account. Also enables the built-in bookmark search functionality allowing seamless cross-platform bookmark management.
8781

8882
- **storage**:
89-
Essential for saving user settings and preferences. Uses both `chrome.storage.sync` for cross-device synchronization of settings (shortcuts, rules, configurations) and `chrome.storage.local` for tab snapshots and LLM prompts that don't need to sync.
83+
Essential for saving user settings and preferences. Uses both `chrome.storage.sync` for cross-device synchronization of settings (shortcuts, rules, configurations) and `chrome.storage.local` for tab snapshots and runtime data that don't need to sync.
9084

9185
- **tabs**:
9286
Core functionality for tab management - creates, queries, updates, and manages browser tabs. Enables features like tab switching, screenshots, content capture, and auto-reload.
@@ -95,7 +89,7 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
9589
Used in conjunction with tab management to organize related tabs into groups for user workflows such as context-menu actions and split-tab operations.
9690

9791
- **notifications**:
98-
Provides user feedback for important actions like successful Raindrop synchronization, backup completion, auto-reload events, auto-login notifications, and error states. Keeps users informed about background operations without interrupting their browsing.
92+
Provides user feedback for important actions like successful Raindrop synchronization, JSON import/export completion, auto-reload events, auto-login notifications, and error states. Keeps users informed about background operations without interrupting their browsing.
9993

10094
- **contextMenus**:
10195
Adds right-click menu options for quick access to extension features including clipboard tools (copy title/URL, screenshots) and Raindrop save actions. Provides convenient access to frequently used features.
@@ -104,20 +98,17 @@ Nenya is the ultimate browser extension for users who refuse to be tied down to
10498
Enables scheduled background tasks including automatic Raindrop synchronization at regular intervals, and auto-reload functionality for specific tabs based on user-defined URL patterns and time intervals.
10599

106100
- **scripting**:
107-
Required for content script injection to implement features like element blocking, custom CSS/JS injection, video controls, picture-in-picture, bright mode, and LLM page content extraction across all websites.
101+
Required for content script injection to implement features like custom CSS/JS injection, video controls, picture-in-picture, auto Google login, and Markdown page content extraction across all websites.
108102

109103
- **activeTab**:
110-
Allows the extension to interact with the currently active tab for features like video controls, element picker, bright mode toggle, and clipboard operations without requiring broad host permissions. Used for popup-triggered actions on the current tab.
104+
Allows the extension to interact with the currently active tab for features like video controls, Markdown download, screenshots, and clipboard operations without requiring broad host permissions. Used for popup-triggered actions on the current tab.
111105

112106
- **clipboardWrite**:
113107
Enables copying various content to clipboard including page titles, URLs (various formats), markdown links, and screenshots. Essential for the extension's productivity and sharing features.
114108

115-
- **declarativeNetRequest**:
116-
Used for implementing content filtering and blocking rules through the visual element picker interface.
117-
118109
- **webNavigation**:
119110
Required for monitoring page navigation events to implement features such as auto-reload functionality based on URL patterns and URL processing rules that transform URLs when opening in new tabs.
120111

121112
- **host permissions** (`<all_urls>`, `https://api.raindrop.io/*`):
122-
- `<all_urls>`: Required for content script injection across all websites to provide universal features like element blocking, custom styling (CSS), custom code (JS), video controls, bright mode, auto Google login, and LLM page content extraction.
113+
- `<all_urls>`: Required for content script injection across all websites to provide universal features like custom styling (CSS), custom code (JS), video controls, auto Google login, and Markdown page content extraction.
123114
- `https://api.raindrop.io/*`: Essential for Raindrop.io integration to sync bookmarks, collections, and user data with the cloud service. Used for pulling collections, pushing new bookmarks, and maintaining two-way synchronization.

0 commit comments

Comments
 (0)