Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

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

Repository files navigation

๐ŸŽจ 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

Code of conduct

Contributing

Security policy

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages