Compare commits
8 Commits
v3.0.0
...
renovate/d
| Author | SHA1 | Date | |
|---|---|---|---|
| beca07ed60 | |||
| 69f2142631 | |||
| 4cbad67510 | |||
| da9d8d5fff | |||
| 52dd07bcef | |||
| 9e802c4fec | |||
| 9540d855e7 | |||
| 055f039b70 |
@@ -6,12 +6,12 @@ on:
|
|||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
paths:
|
paths:
|
||||||
- 'build/**'
|
- 'build/**'
|
||||||
- '.github/workflows/**'
|
- '.gitea/workflows/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
paths:
|
paths:
|
||||||
- 'build/**'
|
- 'build/**'
|
||||||
- '.github/workflows/**'
|
- '.gitea/workflows/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout code
|
name: Checkout code
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v6.0.2
|
||||||
-
|
-
|
||||||
name: Read Version from file
|
name: Read Version from file
|
||||||
id: version
|
id: version
|
||||||
@@ -41,19 +41,19 @@ jobs:
|
|||||||
uses: docker/setup-qemu-action@v3.7.0
|
uses: docker/setup-qemu-action@v3.7.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3.11.1
|
uses: docker/setup-buildx-action@v3.12.0
|
||||||
with:
|
with:
|
||||||
driver-opts: image=moby/buildkit:v0.23.2@sha256:ddd1ca44b21eda906e81ab14a3d467fa6c39cd73b9a39df1196210edcb8db59e
|
driver-opts: image=moby/buildkit:v0.23.2@sha256:ddd1ca44b21eda906e81ab14a3d467fa6c39cd73b9a39df1196210edcb8db59e
|
||||||
-
|
-
|
||||||
name: Login to GitHub Container Registry
|
name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v3.6.0
|
uses: docker/login-action@v3.7.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ vars.GH_USERNAME }}
|
username: ${{ vars.GH_USERNAME }}
|
||||||
password: ${{ secrets.GH_TOKEN }}
|
password: ${{ secrets.GH_TOKEN }}
|
||||||
-
|
-
|
||||||
name: Login to Docker Hub
|
name: Login to Docker Hub
|
||||||
uses: docker/login-action@v3.6.0
|
uses: docker/login-action@v3.7.0
|
||||||
with:
|
with:
|
||||||
username: ${{ vars.DOCKERHUB_USERNAME }}
|
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
@@ -69,14 +69,14 @@ jobs:
|
|||||||
type=sha,format=long,prefix=sha-
|
type=sha,format=long,prefix=sha-
|
||||||
type=raw,value=${{ steps.version.outputs.major_version }}
|
type=raw,value=${{ steps.version.outputs.major_version }}
|
||||||
type=raw,value=${{ steps.version.outputs.minor_version }}
|
type=raw,value=${{ steps.version.outputs.minor_version }}
|
||||||
type=raw,value=${{ steps.version.outputs.version }}
|
type=raw,value=${{ steps.version.outputs.version }},priority=1000
|
||||||
type=raw,value=latest
|
type=raw,value=latest
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v6.18.0
|
uses: docker/build-push-action@v6.19.2
|
||||||
with:
|
with:
|
||||||
context: ./build
|
context: ./build
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: ${{ gitea.event_name != 'pull_request' }}
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,3 +1,16 @@
|
|||||||
|
# v3.1.1
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
|
||||||
|
* Fixed crash caused by concurrent writes under high load ([#684](https://github.com/selfhst/icons/issues/684))
|
||||||
|
* Suppress favicon error log message when viewing icons directly from a browser
|
||||||
|
|
||||||
|
# v3.1.0
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
|
||||||
|
* Updated logic to also replace gradient fills with custom colors when applicable
|
||||||
|
|
||||||
# v3.0.0
|
# v3.0.0
|
||||||
|
|
||||||
## Breaking Changes
|
## Breaking Changes
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3.0.0
|
3.1.1
|
||||||
@@ -54,7 +54,6 @@ func (c *Cache) Get(key string) (string, bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if time.Since(item.Timestamp) > c.ttl {
|
if time.Since(item.Timestamp) > c.ttl {
|
||||||
delete(c.items, key)
|
|
||||||
return "", false
|
return "", false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,16 +168,27 @@ func fetchRemoteFile(url string) (string, error) {
|
|||||||
|
|
||||||
func applySVGColor(svgContent, colorCode string) string {
|
func applySVGColor(svgContent, colorCode string) string {
|
||||||
color := "#" + colorCode
|
color := "#" + colorCode
|
||||||
|
|
||||||
|
// Replace fill:#fff
|
||||||
re1 := regexp.MustCompile(`style="[^"]*fill:\s*#fff[^"]*"`)
|
re1 := regexp.MustCompile(`style="[^"]*fill:\s*#fff[^"]*"`)
|
||||||
svgContent = re1.ReplaceAllStringFunc(svgContent, func(match string) string {
|
svgContent = re1.ReplaceAllStringFunc(svgContent, func(match string) string {
|
||||||
re2 := regexp.MustCompile(`fill:\s*#fff`)
|
re2 := regexp.MustCompile(`fill:\s*#fff`)
|
||||||
return re2.ReplaceAllString(match, "fill:"+color)
|
return re2.ReplaceAllString(match, "fill:"+color)
|
||||||
})
|
})
|
||||||
|
|
||||||
re3 := regexp.MustCompile(`fill="#fff"`)
|
re3 := regexp.MustCompile(`fill="#fff"`)
|
||||||
svgContent = re3.ReplaceAllString(svgContent, `fill="`+color+`"`)
|
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
|
return svgContent
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,6 +429,11 @@ func main() {
|
|||||||
|
|
||||||
mux.HandleFunc("GET /custom/{filename}", handleCustomIcon)
|
mux.HandleFunc("GET /custom/{filename}", handleCustomIcon)
|
||||||
|
|
||||||
|
// Suppress favicon load error message in logs when viewing via browser
|
||||||
|
mux.HandleFunc("GET /favicon.ico", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.WriteHeader(http.StatusNoContent)
|
||||||
|
})
|
||||||
|
|
||||||
mux.HandleFunc("GET /{iconname}/{colorcode}", handleIcon)
|
mux.HandleFunc("GET /{iconname}/{colorcode}", handleIcon)
|
||||||
mux.HandleFunc("GET /{iconname}", handleIcon)
|
mux.HandleFunc("GET /{iconname}", handleIcon)
|
||||||
|
|
||||||
|
|||||||
6
renovate.json
Normal file
6
renovate.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:recommended"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user