Skip to content

Adaptive Styling Engine for Your Browser. Customize the look and feel of websites with ease.

License

Notifications You must be signed in to change notification settings

DeSource-Labs/themifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŽจ Themifier

Stunning themes for every website with WCAG accessibility and color-blind support

Chrome Web Store Latest Release license

Quick Start โ€ข Features โ€ข Themes โ€ข Installation โ€ข Contributing


Themifier Hero


๐ŸŽฏ Why Themifier?

๐ŸŒˆ 8 Beautifully Crafted Themes

Carefully crafted themes for every preference and accessibility need:

Theme Purpose Key Feature
Dark Low-light environments Comfortable for extended use
Light Well-lit environments Bright background with dark text
High Contrast Maximum accessibility 7:1 contrast ratio (WCAG AAA)
Night Warm Low blue light Reduces eye strain
Protanopia Red-blind accessibility Blue-yellow color axis
Deuteranopia Green-blind accessibility Blue-yellow color axis
Tritanopia Blue-blind accessibility Red-green color axis
Reduced Motion Vestibular disorders Disables animations

๐ŸŒ Built for Everyone

  • WCAG AA compliant โ€” all themes maintain at least 4.5:1 contrast ratio for readability
  • Color-blind friendly โ€” dedicated modes for protanopia, deuteranopia, and tritanopia
  • Smart contrast fixing โ€” automatically adjusts text colors when needed
  • Respects motion preferences โ€” honors reduced motion settings for accessibility

๐ŸŽฏ Your Style, Your Rules

  • Choose different themes for different websites
  • Override global settings locally when needed
  • Quick access theme switcher in the popup

โœจ What Makes Themifier Special

  • ๐ŸŽจ 8 stunning themes thoughtfully designed for different needs and preferences
  • ๐Ÿ”„ Smart detection โ€” respects your OS light/dark mode preference
  • ๐ŸŒ Universal theming โ€” works across any website while preserving original design
  • โœ… Readable everywhere โ€” automatically fixes poor text contrast combinations
  • ๐Ÿ“Š Per-site control โ€” customize your theme preferences for individual websites
  • ๐Ÿ‘๏ธ Inclusive color modes โ€” dedicated support for all types of color blindness
  • โšก Real-time switching โ€” theme changes take effect instantly
  • ๐Ÿ“ฑ Works everywhere โ€” compatible with any modern website
  • ๐Ÿ”ง Built with TypeScript โ€” solid, maintainable codebase
  • ๐ŸŽญ Consistent experience โ€” extension UI adapts to your selected theme
  • ๐Ÿ’พ Efficient โ€” smart stylesheet processing with minimal overhead

๐ŸŽฎ Installation

Chrome Web Store

Install from Chrome Web Store โ†’

Getting Started

# Clone the repository
git clone https://github.com/DeSource-Labs/themifier.git
cd themifier

Install dependencies:

pnpm install

Build the extension:

pnpm build

Load in Chrome:

  • Open chrome://extensions/
  • Enable "Developer mode"
  • Click "Load unpacked"
  • Select the .output/chrome-mv3 folder

๐Ÿ› ๏ธ Development

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 8.0.0
  • Chrome >= 120

Quick Setup

# Install dependencies
pnpm install

# Start development with hot reload
pnpm dev

# Build for production
pnpm build

# Check code quality
pnpm lint

Project Structure

themifier/
โ”œโ”€โ”€ .github/                       # GitHub templates
โ”‚   โ”œโ”€โ”€ ISSUE_TEMPLATE/
โ”‚   โ””โ”€โ”€ PULL_REQUEST_TEMPLATE.md
โ”œโ”€โ”€ components/                    # Vue components
โ”‚   โ”œโ”€โ”€ Badge.vue
โ”‚   โ”œโ”€โ”€ Card.vue
โ”‚   โ”œโ”€โ”€ Collapsible.vue
โ”‚   โ”œโ”€โ”€ ModeItem.vue
โ”‚   โ”œโ”€โ”€ RefreshButton.vue
โ”‚   โ””โ”€โ”€ Switch.vue
โ”œโ”€โ”€ composables/                   # Vue 3 composables
โ”‚   โ”œโ”€โ”€ useExtensionTheme.ts       # Theme injection for UI
โ”‚   โ””โ”€โ”€ useThemifier.ts            # Main extension composable
โ”œโ”€โ”€ entrypoints/                   # Extension entry points
โ”‚   โ”œโ”€โ”€ background.ts              # Service worker
โ”‚   โ”œโ”€โ”€ content.ts                 # Content script (injected into pages)
โ”‚   โ”œโ”€โ”€ popup/                     # Quick access popup
โ”‚   โ”‚   โ”œโ”€โ”€ AppPopup.vue
โ”‚   โ”‚   โ”œโ”€โ”€ main.css
โ”‚   โ”‚   โ””โ”€โ”€ mainPopup.ts
โ”‚   โ””โ”€โ”€ options/                   # Settings page
โ”‚       โ”œโ”€โ”€ AppOptions.vue
โ”‚       โ”œโ”€โ”€ main.css
โ”‚       โ””โ”€โ”€ mainOptions.ts
โ”œโ”€โ”€ services/                      # Core business logic
โ”‚   โ”œโ”€โ”€ colorMatrix.ts             # Color matrix calculations
โ”‚   โ”œโ”€โ”€ colorRegistry.ts           # Color palette registry
โ”‚   โ”œโ”€โ”€ colorTransform.ts          # Color manipulation utilities
โ”‚   โ”œโ”€โ”€ cssProcessor.ts            # CSS transformation with contrast checks
โ”‚   โ”œโ”€โ”€ dynamicThemeEngine.ts      # Main theming engine
โ”‚   โ”œโ”€โ”€ extensionThemes.ts         # UI theme for popup/options
โ”‚   โ”œโ”€โ”€ frameworkDetection.ts      # Detect web frameworks
โ”‚   โ”œโ”€โ”€ palette.ts                 # Color palette utilities
โ”‚   โ”œโ”€โ”€ storageService.ts          # Chrome storage wrapper
โ”‚   โ”œโ”€โ”€ themeDetection.ts          # System theme detection
โ”‚   โ””โ”€โ”€ themeProfiles.ts           # Theme definitions (8 themes)
โ”œโ”€โ”€ store/                         # Pinia state management
โ”‚   โ””โ”€โ”€ settings.ts
โ”œโ”€โ”€ styles/                        # Global styles
โ”‚   โ”œโ”€โ”€ main.css
โ”‚   โ””โ”€โ”€ reset.css
โ”œโ”€โ”€ types/                         # TypeScript types
โ”‚   โ”œโ”€โ”€ messages.ts                # Message types for communication
โ”‚   โ””โ”€โ”€ theme.ts                   # Theme type definitions
โ”œโ”€โ”€ utils/                         # Helper utilities
โ”‚   โ””โ”€โ”€ color.ts
โ””โ”€โ”€ public/                        # Static assets
    โ””โ”€โ”€ icon/

๐Ÿค Join the Community

We'd love your contributions! Check out our Contributing Guide for everything you need to know.

Start Contributing

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/themifier.git
  3. Install dependencies: pnpm install
  4. Create a branch: git checkout -b feature/my-feature
  5. Make your changes
  6. Build and test: pnpm build
  7. Commit: git commit -m "feat: add awesome feature"
  8. Push: git push origin feature/my-feature
  9. Open a Pull Request

๐ŸŒŸ Sponsors

Developed and maintained by DeSource Labs.

Created by Stefan Popov


๐Ÿ“„ License

MIT ยฉ 2025 DeSource Labs


๐Ÿ”— Links


Built with โค๏ธ by the DeSource Labs team

About

Adaptive Styling Engine for Your Browser. Customize the look and feel of websites with ease.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published