π Automated Release Pipeline Status: β ACTIVE - v1.1.3 deployed successfully
A browser extension that detects blog posts and extracts linked blog content with AI-powered summarization capabilities.
- Blog Detection: Automatically identifies blog posts on any webpage
- Link Extraction: Extracts all blog post links with titles and metadata
- AI Summarization: Summarize current page and linked blogs using multiple AI providers
- Nested Exploration: Multi-level link exploration with breadcrumb navigation
- Smart Filtering: Filter by internal links, extracted content, and search functionality
- Export Options: Export link data for further analysis
- Cross-Browser: Works on Chrome (Manifest V3) and Firefox (Manifest V2)
- Chrome: Manifest V3 compatible
- Firefox: Manifest V2 compatible
- Edge: Chrome Web Store compatible
- Safari: Not currently supported
- Windows 10+ or macOS 10.15+ or Ubuntu 18.04+
- Node.js: 16.0.0 or higher
- npm: 8.0.0 or higher
- Git: 2.0.0 or higher (for cloning)
- webpack: 5.89.0+ (JavaScript bundling)
- archiver: 6.0.1+ (ZIP file creation)
- web-ext: 9.1.0+ (Firefox XPI generation)
- @babel/core: 7.28.5+ (JavaScript transpilation)
- @babel/preset-env: Latest (Browser compatibility)
git clone https://github.com/codingnooob/blogbranch.git
cd blogbranchnpm installnpm run --help
# Should show all available scriptsnpm run build:devCreates development bundles with source maps and watches for changes.
npm run buildCreates optimized production bundles in dist/ directory.
npm run package:chromeCreates blog-link-analyzer-v1.1.1.zip ready for Chrome Web Store upload.
npm run package:firefoxCreates blog-link-analyzer-firefox-v1.1.1.zip ready for Firefox Add-ons upload.
npm run package:all-formatsCreates all package formats:
- Chrome ZIP:
blog-link-analyzer-v1.1.1.zip - Chrome CRX:
blog-link-analyzer-v1.1.1.crx - Firefox ZIP:
blog-link-analyzer-firefox-v1.1.1.zip - Firefox XPI:
blog-link-analyzer-firefox-v1.1.1.xpi
blogbranch/
βββ π Core Extension Files
β βββ manifest.json # Chrome manifest (V3)
β βββ manifest-firefox.json # Firefox manifest (V2)
β βββ popup.html # Main popup interface
β βββ popup.js, popup.css # Popup assets
β βββ ai-service.js # AI provider abstraction
β βββ storage-manager.js # Settings & caching
β βββ content-fetcher.js # Content extraction
βββ π Essential Directories
β βββ background/ # Service worker
β β βββ service-worker.js
β βββ content/ # Content scripts
β β βββ blog-detector.js # Blog detection
β β βββ link-extractor.js # Link extraction
β β βββ content-styles.css # Content styling
β βββ scripts/ # Build & packaging scripts
β βββ utils/ # Additional utilities
β βββ icons/ # Extension icons
βββ π¦ Build Artifacts
β βββ *.zip, *.crx, *.xpi # Generated packages
β βββ build-firefox/ # Temporary build dir
βββ π§ Configuration
β βββ package.json # Project configuration
β βββ webpack.config.js # Build configuration
β βββ .gitignore # Git ignore rules
βββ π Documentation
βββ README.md # This file
βββ LICENSE, PRIVACY.md # Legal documents
βββ *.md # Additional docs
- OpenAI: GPT-4, GPT-3.5-turbo, GPT-3.5
- Anthropic: Claude-3-sonnet, Claude-3-haiku, Claude-3-opus
- Ollama: Local models (llama2, mistral, custom)
- Custom: Any OpenAI-compatible API endpoint
- Current Page Summary: Summarize the blog post you're currently viewing
- Link Summaries: Summarize individual blog posts from extracted links
- Batch Processing: Summarize multiple links efficiently
- Caching: Intelligent summary caching to reduce API calls
- Connection Testing: Verify AI provider connectivity before use
- Custom Models: Support for custom model configurations
npm run devStarts development server with hot reloading and watches for file changes.
npm run testRuns the test suite with Jest framework.
npm run lintChecks code quality with ESLint.
npm run typecheckValidates TypeScript types (if applicable).
npm run validateRuns linting, type checking, and tests in sequence.
- Bundle Creation: Webpack bundles popup.js and dependencies
- Manifest Processing: Uses manifest.json (Manifest V3)
- File Packaging: Includes all necessary files in ZIP
- Output:
blog-link-analyzer-v1.1.1.zip
- Structure Build: Copies files to build-firefox/ directory
- Manifest Conversion: Converts to Manifest V2 format
- Utils Organization: Places AI files in utils/ directory
- File Packaging: Creates ZIP with Firefox-specific structure
- XPI Generation: Uses web-ext to create signed XPI
- Output:
blog-link-analyzer-firefox-v1.1.1.xpi
- Chrome ZIP:
blog-link-analyzer-v1.1.1.zip(~78KB) - Chrome CRX:
blog-link-analyzer-v1.1.1.crx(~78KB) - Firefox ZIP:
blog-link-analyzer-firefox-v1.1.1.zip(~78KB) - Firefox XPI:
blog-link-analyzer-firefox-v1.1.1.xpi(~78KB)
- NODE_ENV: Set to 'production' for optimized builds
- EXTENSION_VERSION: Automatically set from package.json
- AI Providers: Configure in extension settings
- API Keys: Set in extension popup settings
- Model Selection: Choose specific models per provider
- Caching: Enable/disable summary caching
# Fix: Ensure proper file permissions
chmod +x scripts/*.js# Fix: Clean install
rm -rf node_modules package-lock.json
npm install# Fix: Install globally
npm install -g web-ext- Content Scripts: Ensure all files exist in content/ directory
- Icons: Verify all icon sizes are present in icons/ directory
- Permissions: Check required permissions in manifest-firefox.json
- Node Version: Ensure Node.js 16+ is installed
- Build Directory: Clean build-firefox/ directory first
- Web-ext Version: Update to latest web-ext version
- Service Worker: Ensure background/service-worker.js exists
- Action Handlers: Verify proper action API usage
- CSP Rules: Check content security policy compliance
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make changes and test thoroughly
- Run validation:
npm run validate - Commit changes:
git commit -m "Add feature description" - Push branch:
git push origin feature-name - Create pull request
- Indentation: 2 spaces
- Quotes: Single quotes for strings
- Trailing Commas: Required in objects/arrays
- Line Length: Maximum 80 characters
- ESLint: Follow project ESLint configuration
MIT License - see LICENSE file for details.
- GitHub Repository: https://github.com/codingnooob/blogbranch
- Chrome Web Store: [Link when published]
- Firefox Add-ons: [Link when published]
- Documentation: https://codingnooob.github.io/blogbranch/
- Issues: https://github.com/codingnooob/blogbranch/issues
- β Automated Build System: Webpack compilation with zero errors
- β Quality Assurance: ESLint, TypeScript, Jest testing, and security scanning
- β Automated Release: Semantic-release with changelog generation
- β Store Deployment: Chrome Web Store and Firefox Add-ons deployment
- β CI/CD Pipeline: GitHub Actions with comprehensive testing and deployment
- π Store Secrets: Configured but need verification for production deployment
- v1.2.9: Store deployment infrastructure with automated CI/CD pipeline
- v1.1.1: Version synchronization across all platforms, bug fixes
- v1.1.0: AI summarization functionality, project structure optimization
- v1.0.2: Initial release with basic blog detection
- v1.0.1: Beta testing release
For issues, questions, or contributions:
- GitHub Issues: https://github.com/codingnooob/blogbranch/issues
- Documentation: See additional .md files in repository
- Privacy Policy: See PRIVACY.md
Built with β€οΈ for the blogging community