Getting Started
Chameleon applies saved CSS to matching websites. A rule has a name, a domain, CSS text, and an enabled switch. Once saved, matching pages update through the extension content script when the stored rule changes.
Install Or Load The Extension
Section titled “Install Or Load The Extension”If you are using a packaged build, install it through the distribution method provided by the project. If you are working from source, build the extension and load the generated extension in Chrome:
- Build the extension from the project root.
- Open
chrome://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Select the built extension folder.
After Chameleon is loaded, pin it from Chrome’s extensions menu so the popup is easy to open.
Create Your First Rule
Section titled “Create Your First Rule”- Open the website you want to customize.
- Click the Chameleon icon in the toolbar.
- Click Create a Rule if the current site has no saved rules yet, or open the options page from the popup.
- Create a new rule.
- Enter a clear name, such as
Readable article view. - Enter the domain you want the rule to match, such as
example.com. - Keep Enabled on.
- Add CSS and save.
Use this small rule for a first test:
main { max-width: 72ch !important; line-height: 1.7 !important;}
a { text-decoration-thickness: 0.12em !important;}Reload the target page if you want to confirm the rule applies from a fresh page load. Chameleon also listens for storage changes, so edits should apply to matching open pages after you save.
Choose The Right Domain
Section titled “Choose The Right Domain”The domain field controls where a rule runs:
example.commatchesexample.comand subdomains such asdocs.example.com.docs.example.commatches that host and its own subdomains.*matches every website.- Full URLs are cleaned down to their hostname before matching.
Use * carefully. A global CSS rule can affect unrelated sites.
Verify The Rule
Section titled “Verify The Rule”After saving, check these points:
- The rule is enabled.
- The current page hostname matches the rule domain.
- The CSS selector matches elements on the page.
- The target page is a normal website, not an internal Chrome page.
- The CSS is strong enough to override the site’s styles.
When a site has strong existing CSS, add !important only to the declarations that need it.
Rules are best for one saved style. Palettes are best when you want multiple versions of a site style, such as compact, focus, and dark variants.