-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add prefix to SVG id/class attributes #16997
Conversation
How about removing |
Is it possible to inline a |
Should be possible using a datauri, but if svgo can not do it, I guess it's not worth it and your solution is better. |
Codecov Report
@@ Coverage Diff @@
## main #16997 +/- ##
=======================================
Coverage ? 45.14%
=======================================
Files ? 765
Lines ? 86300
Branches ? 0
=======================================
Hits ? 38964
Misses ? 41027
Partials ? 6309 Continue to review full report at Codecov.
|
I think this needs a backport |
Currently the svg minifier (`make svg`) rewrites all `id` and `class` attributes in svg files. Every file gets the ids `a, b, ...`. If multiple svgs with ids are used on a page these ids are conflicting and the results are broken images. | minified ids | unique ids | | - | - | | ![grafik](https://user-images.githubusercontent.com/1666336/132579375-59d3996f-c4e5-43b8-8c8d-82280c90d9e3.png) | ![grafik](https://user-images.githubusercontent.com/1666336/132579413-05bf9285-4e3b-4d0d-8f95-90b212405b05.png) | This PR adds a prefix (the filename) to every id/class. Follow up problem: Because we embed svg images there are duplicated ids if one svg image is used multiple times on a page. As those ids refer to the same content it may be no real problem because browser handle that fine.
Currently the svg minifier (`make svg`) rewrites all `id` and `class` attributes in svg files. Every file gets the ids `a, b, ...`. If multiple svgs with ids are used on a page these ids are conflicting and the results are broken images. | minified ids | unique ids | | - | - | | ![grafik](https://user-images.githubusercontent.com/1666336/132579375-59d3996f-c4e5-43b8-8c8d-82280c90d9e3.png) | ![grafik](https://user-images.githubusercontent.com/1666336/132579413-05bf9285-4e3b-4d0d-8f95-90b212405b05.png) | This PR adds a prefix (the filename) to every id/class. Follow up problem: Because we embed svg images there are duplicated ids if one svg image is used multiple times on a page. As those ids refer to the same content it may be no real problem because browser handle that fine.
## [1.15.3](https://github.com/go-gitea/gitea/releases/tag/v1.15.3) - 2021-09-19 * ENHANCEMENTS * Add fluid to ui container class to remove margin (go-gitea#16396) (go-gitea#16976) * Add caller to cat-file batch calls (go-gitea#17082) (go-gitea#17089) * BUGFIXES * Render full plain readme. (go-gitea#17083) (go-gitea#17090) * Upgrade xorm to v1.2.4 (go-gitea#17059) * Fix bug of migrate comments which only fetch one page (go-gitea#17055) (go-gitea#17058) * Do not show issue context popup on external issues (go-gitea#17050) (go-gitea#17054) * Decrement Fork Num when converting from Fork (go-gitea#17035) (go-gitea#17046) * Correctly rollback in ForkRepository (go-gitea#17034) (go-gitea#17045) * Fix missing close in WalkGitLog (go-gitea#17008) (go-gitea#17009) * Add prefix to SVG id/class attributes (go-gitea#16997) (go-gitea#17000) * Fix bug of migrated repository not index (go-gitea#16991) (go-gitea#16996) * Skip AllowedUserVisibilityModes validation on update user if it is an organisation (go-gitea#16988) (go-gitea#16990) * Fix storage Iterate bug and Add storage doctor to delete garbage attachments (go-gitea#16971) (go-gitea#16977) * Fix issue with issue default mail template (go-gitea#16956) (go-gitea#16975) * Ensure that rebase conflicts are handled in updates (go-gitea#16952) (go-gitea#16960) * Prevent panic on diff generation (go-gitea#16950) (go-gitea#16951) Signed-off-by: Andrew Thornton <[email protected]>
## [1.15.3](https://github.com/go-gitea/gitea/releases/tag/v1.15.3) - 2021-09-19 * ENHANCEMENTS * Add fluid to ui container class to remove margin (#16396) (#16976) * Add caller to cat-file batch calls (#17082) (#17089) * BUGFIXES * Render full plain readme. (#17083) (#17090) * Upgrade xorm to v1.2.4 (#17059) * Fix bug of migrate comments which only fetch one page (#17055) (#17058) * Do not show issue context popup on external issues (#17050) (#17054) * Decrement Fork Num when converting from Fork (#17035) (#17046) * Correctly rollback in ForkRepository (#17034) (#17045) * Fix missing close in WalkGitLog (#17008) (#17009) * Add prefix to SVG id/class attributes (#16997) (#17000) * Fix bug of migrated repository not index (#16991) (#16996) * Skip AllowedUserVisibilityModes validation on update user if it is an organisation (#16988) (#16990) * Fix storage Iterate bug and Add storage doctor to delete garbage attachments (#16971) (#16977) * Fix issue with issue default mail template (#16956) (#16975) * Ensure that rebase conflicts are handled in updates (#16952) (#16960) * Prevent panic on diff generation (#16950) (#16951) Signed-off-by: Andrew Thornton <[email protected]> Co-authored-by: techknowlogick <[email protected]>
## [1.15.3](https://github.com/go-gitea/gitea/releases/tag/v1.15.3) - 2021-09-19 * ENHANCEMENTS * Add fluid to ui container class to remove margin (go-gitea#16396) (go-gitea#16976) * Add caller to cat-file batch calls (go-gitea#17082) (go-gitea#17089) * BUGFIXES * Render full plain readme. (go-gitea#17083) (go-gitea#17090) * Upgrade xorm to v1.2.4 (go-gitea#17059) * Fix bug of migrate comments which only fetch one page (go-gitea#17055) (go-gitea#17058) * Do not show issue context popup on external issues (go-gitea#17050) (go-gitea#17054) * Decrement Fork Num when converting from Fork (go-gitea#17035) (go-gitea#17046) * Correctly rollback in ForkRepository (go-gitea#17034) (go-gitea#17045) * Fix missing close in WalkGitLog (go-gitea#17008) (go-gitea#17009) * Add prefix to SVG id/class attributes (go-gitea#16997) (go-gitea#17000) * Fix bug of migrated repository not index (go-gitea#16991) (go-gitea#16996) * Skip AllowedUserVisibilityModes validation on update user if it is an organisation (go-gitea#16988) (go-gitea#16990) * Fix storage Iterate bug and Add storage doctor to delete garbage attachments (go-gitea#16971) (go-gitea#16977) * Fix issue with issue default mail template (go-gitea#16956) (go-gitea#16975) * Ensure that rebase conflicts are handled in updates (go-gitea#16952) (go-gitea#16960) * Prevent panic on diff generation (go-gitea#16950) (go-gitea#16951) Signed-off-by: Andrew Thornton <[email protected]> Co-authored-by: techknowlogick <[email protected]>
## [1.15.3](https://github.com/go-gitea/gitea/releases/tag/v1.15.3) - 2021-09-19 * ENHANCEMENTS * Add fluid to ui container class to remove margin (#16396) (#16976) * Add caller to cat-file batch calls (#17082) (#17089) * BUGFIXES * Render full plain readme. (#17083) (#17090) * Upgrade xorm to v1.2.4 (#17059) * Fix bug of migrate comments which only fetch one page (#17055) (#17058) * Do not show issue context popup on external issues (#17050) (#17054) * Decrement Fork Num when converting from Fork (#17035) (#17046) * Correctly rollback in ForkRepository (#17034) (#17045) * Fix missing close in WalkGitLog (#17008) (#17009) * Add prefix to SVG id/class attributes (#16997) (#17000) * Fix bug of migrated repository not index (#16991) (#16996) * Skip AllowedUserVisibilityModes validation on update user if it is an organisation (#16988) (#16990) * Fix storage Iterate bug and Add storage doctor to delete garbage attachments (#16971) (#16977) * Fix issue with issue default mail template (#16956) (#16975) * Ensure that rebase conflicts are handled in updates (#16952) (#16960) * Prevent panic on diff generation (#16950) (#16951) Signed-off-by: Andrew Thornton <[email protected]> Co-authored-by: techknowlogick <[email protected]> Co-authored-by: zeripath <[email protected]> Co-authored-by: techknowlogick <[email protected]>
Currently the svg minifier (
make svg
) rewrites allid
andclass
attributes in svg files. Every file gets the idsa, b, ...
. If multiple svgs with ids are used on a page these ids are conflicting and the results are broken images.This PR adds a prefix (the filename) to every id/class.
Follow up problem: Because we embed svg images there are duplicated ids if one svg image is used multiple times on a page. As those ids refer to the same content it may be no real problem because browser handle that fine.