diff --git a/CHANGELOG.md b/CHANGELOG.md index 818c9e1..651245e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v3.1.0 + +## What's Changed + +* Updated logic to also replace gradient fills with custom colors when applicable + # v3.0.0 ## Breaking Changes diff --git a/build/VERSION b/build/VERSION index 56fea8a..a0cd9f0 100644 --- a/build/VERSION +++ b/build/VERSION @@ -1 +1 @@ -3.0.0 \ No newline at end of file +3.1.0 \ No newline at end of file diff --git a/build/main.go b/build/main.go index 40325e8..5619c05 100644 --- a/build/main.go +++ b/build/main.go @@ -169,16 +169,27 @@ func fetchRemoteFile(url string) (string, error) { func applySVGColor(svgContent, colorCode string) string { color := "#" + colorCode - + + // Replace fill:#fff re1 := regexp.MustCompile(`style="[^"]*fill:\s*#fff[^"]*"`) svgContent = re1.ReplaceAllStringFunc(svgContent, func(match string) string { re2 := regexp.MustCompile(`fill:\s*#fff`) return re2.ReplaceAllString(match, "fill:"+color) }) - + re3 := regexp.MustCompile(`fill="#fff"`) svgContent = re3.ReplaceAllString(svgContent, `fill="`+color+`"`) - + + // Replace stop-color:#fff in gradients + re4 := regexp.MustCompile(`style="[^"]*stop-color:\s*#fff[^"]*"`) + svgContent = re4.ReplaceAllStringFunc(svgContent, func(match string) string { + re5 := regexp.MustCompile(`stop-color:\s*#fff`) + return re5.ReplaceAllString(match, "stop-color:"+color) + }) + + re6 := regexp.MustCompile(`stop-color="#fff"`) + svgContent = re6.ReplaceAllString(svgContent, `stop-color="`+color+`"`) + return svgContent }