feat: Implement Gogh Theme Engine with options page, theme parsing, and semantic theme derivation
We're cooked. <skull emoji> - Added options page for YAML palette editing, live color preview, and diagnostics. - Implemented theme engine to parse Gogh YAML palettes and derive semantic themes. - Configured TypeScript and Vite for building the extension. - Created new tab and popup HTML pages with corresponding scripts and styles. - Established storage management for user configurations in Chrome storage. - Added icons for the extension and updated manifest for MV3 compatibility.
This commit is contained in:
6
gogh-theme-engine/public/icons/icon.svg
Normal file
6
gogh-theme-engine/public/icons/icon.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
|
||||
<rect width="128" height="128" rx="20" fill="#282a36"/>
|
||||
<text x="64" y="80" font-family="Arial, sans-serif" font-size="64" text-anchor="middle" fill="#f8f8f2">G</text>
|
||||
<circle cx="96" cy="32" r="12" fill="#ff79c6"/>
|
||||
<circle cx="96" cy="32" r="6" fill="#bd93f9"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 341 B |
BIN
gogh-theme-engine/public/icons/icon128.png
Normal file
BIN
gogh-theme-engine/public/icons/icon128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 306 B |
BIN
gogh-theme-engine/public/icons/icon16.png
Normal file
BIN
gogh-theme-engine/public/icons/icon16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 B |
BIN
gogh-theme-engine/public/icons/icon48.png
Normal file
BIN
gogh-theme-engine/public/icons/icon48.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 123 B |
33
gogh-theme-engine/public/manifest.json
Normal file
33
gogh-theme-engine/public/manifest.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Gogh Theme Engine",
|
||||
"version": "1.0.0",
|
||||
"description": "Apply Gogh-style 16-color terminal palettes to any web page using perceptual OKLCH color remapping.",
|
||||
"permissions": ["storage", "activeTab", "scripting"],
|
||||
"background": {
|
||||
"service_worker": "background.js",
|
||||
"type": "module"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["content.js"],
|
||||
"run_at": "document_start",
|
||||
"all_frames": true
|
||||
}
|
||||
],
|
||||
"options_page": "options/options.html",
|
||||
"action": {
|
||||
"default_title": "Gogh Theme Engine",
|
||||
"default_icon": {
|
||||
"16": "icons/icon16.png",
|
||||
"48": "icons/icon48.png",
|
||||
"128": "icons/icon128.png"
|
||||
}
|
||||
},
|
||||
"icons": {
|
||||
"16": "icons/icon16.png",
|
||||
"48": "icons/icon48.png",
|
||||
"128": "icons/icon128.png"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user