feat: Major Chrome Extension overhaul with Click2Crawl, instant Schema extraction, and modular architecture

 New Features:
- Click2Crawl: Visual element selection with markdown conversion
  - Ctrl/Cmd+Click to select multiple elements
  - Visual text mode for WYSIWYG extraction
  - Real-time markdown preview with syntax highlighting
  - Export to .md file or clipboard

- Schema Builder Enhancement: Instant data extraction without LLMs
  - Test schemas directly in browser
  - See JSON results immediately
  - Export data or Python code
  - Cloud deployment ready (coming soon)

- Modular Architecture:
  - Separated into schemaBuilder.js, scriptBuilder.js, click2CrawlBuilder.js
  - Added contentAnalyzer.js and markdownConverter.js modules
  - Shared utilities and CSS reset system
  - Integrated marked.js for markdown rendering

🎨 UI/UX Improvements:
- Added edgy cloud announcement banner with seamless shimmer animation
- Direct, technical copy: "You don't need Puppeteer. You need Crawl4AI Cloud."
- Enhanced feature cards with emojis
- Fixed CSS conflicts with targeted reset approach
- Improved badge hover effects (red on hover)
- Added wrap toggle for code preview

📚 Documentation Updates:
- Split extraction diagrams into LLM and no-LLM versions
- Updated llms-full.txt with latest content
- Added versioned LLM context (v0.1.1)

🔧 Technical Enhancements:
- Refactored 3464 lines of monolithic content.js into modules
- Added proper event handling and cleanup
- Improved z-index management
- Better scroll position tracking for badges
- Enhanced error handling throughout

This release transforms the Chrome Extension from a simple tool into a powerful
visual data extraction suite, making web scraping accessible to everyone.
This commit is contained in:
UncleCode
2025-06-09 23:18:27 +08:00
parent 40640badad
commit 0ac12da9f3
25 changed files with 23686 additions and 6524 deletions

View File

@@ -145,6 +145,10 @@ header h1 {
background: #3a1e5f;
}
.mode-button.c2c .icon {
background: #1e5f3a;
}
.mode-info h3 {
font-size: 16px;
color: #fff;

View File

@@ -37,6 +37,14 @@
<p>Record actions to build automation scripts</p>
</div>
</button>
<button id="c2c-mode" class="mode-button c2c">
<div class="icon"></div>
<div class="mode-info">
<h3>Click2Crawl</h3>
<p>Select elements and convert to clean markdown</p>
</div>
</button>
</div>
<div id="active-session" class="active-session hidden">

View File

@@ -22,6 +22,10 @@ document.addEventListener('DOMContentLoaded', () => {
startScriptCapture();
});
document.getElementById('c2c-mode').addEventListener('click', () => {
startClick2Crawl();
});
// Session actions
document.getElementById('generate-code').addEventListener('click', () => {
generateCode();
@@ -79,6 +83,19 @@ function startScriptCapture() {
});
}
function startClick2Crawl() {
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
chrome.tabs.sendMessage(tabs[0].id, {
action: 'startClick2Crawl'
}, (response) => {
if (response && response.success) {
// Close the popup to let user interact with the page
window.close();
}
});
});
}
function showActiveSession(stats) {
document.querySelector('.mode-selector').style.display = 'none';
document.getElementById('active-session').classList.remove('hidden');