jenkinsci / custom-folder-icon-plugin

Plugin to customize Jenkins Folder icons
https://plugins.jenkins.io/custom-folder-icon
MIT License
7 stars 9 forks source link

Future new icon set integration #372

Closed jonesbusy closed 3 months ago

jonesbusy commented 3 months ago

What feature do you want to see added?

Hi,

I will publish soon a plugin to the Jenkins UC that provide a new set of icons for common OSS/devops tool: https://github.com/jonesbusy/oss-symbols-api-plugin

It's similar to existing plugin like ionicon-api. I did some tests already on other plugin like "badge" which doesn't require hard dependency (see screenshot).

badge badge2

If/when published is there any change we can integrate the icon set to this plugin (via mandatory or optional dependency ?)

Thanks for your inputs.

Upstream changes

When published I can submit a PR

Are you interested in contributing this feature?

Yes, when plugin is published I can submit a PR

strangelookingnerd commented 3 months ago

Hey,

Great idea, I already found some icons I could use šŸ‘šŸ¼ Since you already got https://github.com/jonesbusy/oss-symbols-api-plugin/blob/72019cf281767f94d2622200f69013b79d6a6ad3/src/main/java/io/jenkins/plugins/oss/symbols/OpenSourceSymbols.java to collect the icons, implementing a FolderIcon for it should be a piece of cake.

Regarding the dependency scope, Iā€˜m fine with mandatory dependencies for icons as I like the idea of this plugin to provide icons proactively.

jonesbusy commented 3 months ago

Excellent thanks. Let me know if there are more tool logo I can add for the first release.

I will keep this issue open until I integrate it to the custom-folder-icon-plugin

strangelookingnerd commented 3 months ago

Let me know if there are more tool logo I can add for the first release.

Mainly looking at https://github.com/cncf/artwork I'd say "all of them" - scraping the icons should not be too much of an issue. What I'm wondering is if your plugin should include the variants black, white and color similar to ionicons-api-plugin regular, sharp and outline. Additionally for black and white the question of "themability" comes to mind - but I know that would require some extra effort.

jonesbusy commented 3 months ago

The black and white are supported by the currentColor added (https://github.com/jonesbusy/oss-symbols-api-plugin/blob/main/src/main/resources/images/symbols/argo-icon.svg?short_path=3767b7f#L2) which is provided by the theme. And allow to display the symbol in correct color depending on the theme

For the color it can be an option as well without theme option

I'm not sure about convention on icon names, but perhaps the themable option should be renamed outline has well

jonesbusy commented 3 months ago

Looks good so far. I still have some issue with preview of some logo (probably I need to cleanup some class or id on SVG like I did for the themable one

But it only happen during preview, not on the folder icon.

preview

icon1

previous1

previous

jonesbusy commented 3 months ago

Looks icon defining are causing issue. I can try to fix some of them but not sure if that's something what could be fixed on the preview component

    <defs>
        <linearGradient id="a" x1="359.765" x2="104.082" y1="134.295" y2="124.577"
            gradientTransform="matrix(1 0 0 -1 0 439.068)" gradientUnits="userSpaceOnUse">
            <stop offset="0" stop-color="#ed1c24" />
            <stop offset="1" stop-color="#f7941d" />
        </linearGradient>
        <linearGradient id="b" x1="355.202" x2="99.519" y1="254.467" y2="244.749" xlink:href="#a" />
        <linearGradient id="c" x1="183.903" x2="10.612" y1="227.598" y2="221.023" xlink:href="#a" />
        <linearGradient id="d" x1="367.119" x2="157.995" y1="265.311" y2="257.091" xlink:href="#a" />
    </defs>
jonesbusy commented 3 months ago

I got it. It's because some plugins are using overlaping ID (like "a") which seems to overlap when the preview of SVG are expanded.

I will need to update the one causing issue to ensure we use unique ID