Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Logo Studio: recolor ignores colors set in <style> elements

Closed
#172 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
70/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
design, security

Research direction

Start in lib/logo/recolor.ts, where extractColors and recolorSvg read only attributes and inline style, then check how lib/svg/sanitize.ts handles <style> text. Read lib/logo/recolor.test.ts for the current fixtures, and run its tests with pnpm test. Done when an Illustrator-style SVG with class-based fills in a <style> block is listed, recolored and made monochrome, tests cover several classes and !important, and the output is still sanitized.

Written by the indexing model from the issue text.

Description

area: logo bug difficulty: medium help wanted

Summary

Logos exported from Illustrator often color shapes through classes in a <style> element (.cls-1 { fill: #e94e1b; }). extractColors and recolorSvg only read attributes and inline style, so these colors are not listed and cannot be recolored or made monochrome.

Where to look

  • lib/logo/recolor.ts and lib/logo/recolor.test.ts
  • lib/svg/sanitize.ts: style handling during sanitizing

Behaviour

  • Parse <style> text for fill, stroke and stop-color declarations and include them in extraction, recoloring and monochrome. Keep everything else in the stylesheet unchanged.

Acceptance criteria

  • An Illustrator-style SVG with class-based fills lists, recolors and turns monochrome correctly.
  • Unit tests cover a <style> block with several classes and !important.
  • Output stays sanitized.

Getting started: fork the repo, then pnpm install and pnpm dev (Node 22+, pnpm 11, no API keys). Before opening a PR, run pnpm typecheck && pnpm test && pnpm lint && pnpm format:check && pnpm check:dashes && pnpm build. See CONTRIBUTING.md and the first contribution walkthrough.

Everything needed is in the repository. This doesn't need maintainer access, secrets or paid services. Comment below to claim it, and ask questions here any time.

Dominant language
TypeScript
Stars
11
Forks
3
Avg merge
4h 4m
Merged PRs (30d)
74

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from yakew7/DesignHub

All issues in yakew7/DesignHub

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.