1
0
mirror of https://github.com/konpa/devicon.git synced 2025-01-19 14:27:04 +01:00

Merge branch 'develop' into master

This commit is contained in:
David Leal 2021-04-22 14:27:45 -05:00 committed by GitHub
commit d4bf300e50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 86 additions and 18 deletions

View File

@ -14,7 +14,7 @@ First of all, thanks for taking the time to contribute! This project can only gr
<li><a href="#example">Example</a></li>
<li><a href="#requestingIcon">Requesting An Icon</a></li>
<li><a href="#teams">Maintainer/Reviewer/Teams</a></li>
<li><a href="#buildScript">Regarding the Build Script</a></li>
<li><a href="#buildScript">The Build Script: how it works and its quirks</a></li>
<li><a href="#discordServer">Discord server</a></li>
<li><a href="#release">Release strategy, conventions, preparation and execution</a></li>
</ul>
@ -115,14 +115,29 @@ First of all, thanks for taking the time to contribute! This project can only gr
<pre>
<code>
{
"name": string, // the official name of the technology. Must be lower case, no space and don't have the dash '-' character.
"tags": string[], // list of tags relating to the technology for search purpose
// the official name of the technology. Must be lower case, no space and don't have the dash '-' character.
"name": string,
// list of tags relating to the technology for search purpose
"tags": string[],
// keep tracks of the different versions that you have.
"versions": {
"svg": VersionString[], // list the svgs that you have
"font": VersionString[] // list the fonts acceptable versions that you have
// list the svgs that you have
"svg": VersionString[],
// list the fonts acceptable versions that you have
"font": VersionString[]
},
"color": string, // the main color of the logo. Only track 1 color
"aliases": AliasObj[] // keeps track of the aliases for the font versions ONLY
// the main color of the logo. Only track 1 color
"color": string,
// keeps track of the aliases for the font versions ONLY
// see the <a href="#example">Example</a> section for more details
// NOTE: this attribute is not required from now on (see <a href='https://github.com/devicons/devicon/discussions/465'>this</a>)
// it is only being kept for backward compatibility
"aliases": AliasObj[]
}
</code>
</pre>
@ -294,21 +309,50 @@ As an example, let's assume you have created the svgs for Redhat and Amazon Web
</p>
<hr>
<h2 id='buildScript'>Regarding The Build Script</h2>
<h2 id='buildScript'>The Build Script: how it works and its quirks</h2>
<p>To make adding icons easier for repo maintainers, we rely on GitHub Actions, Python, Selenium, and Gulp to automate our tasks.</p>
<p>So far, the tasks in the build script are:</p>
<ul>
<li>Upload svgs to <a href="https://icomoon.io/app/#/select">icomoon.io</a> and get the icons back. For details, see <a href="https://github.com/devicons/devicon/issues/252"> the original disscussion</a>, <a href="https://github.com/devicons/devicon/pull/268">this PR that introduce the feature</a> and <a href="https://github.com/devicons/devicon/issues/300">the final changes to it.</a></li>
<li>Preview what an svg would look like as an icon using the upload svgs script (see <a href="https://github.com/devicons/devicon/pull/412">this</a></li>
<li>Build, combine, and minify CSS files. For details, see <a href="https://github.com/devicons/devicon/pull/290">this</a></li>
</ul>
<p>There are also other tasks that we are automating, such as:</p>
<ul>
<li>Send screenshots to Imgur and upload it to a PR. See <a href="https://github.com/devicons/devicon/pull/398">the PR for the Imgur action</a> and <a href="https://github.com/devicons/devicon/pull/481"> the PR for uploading the pictures to a PR</a>
<li>Ensure code quality is up to standard</li>
<li>Upload svgs to <a href="https://icomoon.io/app/#/select">icomoon.io</a> and take a screenshot to check that it looks good.
<li>Comment on the PR so maintainers don't have to manually upload icon result.</li>
<li>Publishing a new release to <a href="https://www.npmjs.com/package/devicon">npm</a>; See <a href="https://github.com/devicons/devicon/issues/288">#288</a></li>
</ul>
<p>There are some quirks and bugs that the build scripts might run into. Listed below are the common ones and their solution</p>
<ol>
<li><b>No connection could be made because the target machine actively refused it. (os error 10061)</b>
<ul>
<li>See <a href="https://github.com/devicons/devicon/runs/2292634069?check_suite_focus=true">this action</a> for an example.</li>
<li>Caused by Selenium being unable to connect to the Icomoon website. It is unknown why this happens but the hypothesis is Icomoon blocks Selenium's multiple connection request and treats them as bots. See <a href="https://github.com/devicons/devicon/pull/544#issuecomment-812147713">this</a>.</li>
<li>Solution: wait for a few minutes and rerun the script. Repeat until it works.</li>
</ul>
</li>
<li><b>SHA Integrity</b>
<ul>
<li>See <a href="https://github.com/devicons/devicon/runs/2310036084?check_suite_focus=true">this action</a> for an example.</li>
<li>Caused by the <code>package-lock.json</code>. Most likely the result of a dependabot update but not 100% sure.</li>
<li>Solution: Remove the <code>package-lock.json</code> and run `npm install` to generate a new file. Commit and push.</li>
</ul>
</li>
<li><b>Wrong PR Title</b>
<ul>
<li>The <code>bot-peek</code> script relies on the PR title to find the icon that was added in the PR. If the format doesn't match what is specified in <a href="#overview">Overview on Submitting Icon</a>, the bot will fail.</li>
<li>Solution: Ensure the name of the PR follows the convention.</li>
</ul>
</li>
<li><b>Peek bot fails when an icon is updated</b>
<ul>
<li>See <a href="https://github.com/devicons/devicon/pull/554">this PR</a> for an example.</li>
<li>The <code>bot-peek</code> script compares the <code>devicon.json</code> and <code>icomoon.json</code> to limit the icon uploading process. An update in the repo won't change anything in the <code>devicon.json</code> and <code>icomoon.json</code> so the script would report that nothing is found.</li>
<li>Solution: Follow the steps laid out <a href="https://github.com/devicons/devicon/pull/554#issuecomment-816860577">here</a></li>
</ul>
</li>
</ol>
<h2 id="discordServer">Discord server</h2>
<p>
We are running a Discord server. You can go here to talk, discuss, and more with the maintainers and other people, too. Here's the invitation: https://discord.gg/hScy8KWACQ. If you don't have a GitHub account but want to suggest ideas or new icons, you can do that here in our Discord channel.
@ -335,10 +379,10 @@ We are running a Discord server. You can go here to talk, discuss, and more with
<li>Push the branch <code>draft-release</code></li>
<li>Manually trigger the workflow <code><a href="https://github.com/devicons/devicon/actions/workflows/build_icons.yml">build_icons.yml</a></code> (which has a <code>workflow_dispatch</code> event trigger) and select the branch <code>draft-release</code> as target branch. This will build a font version of all icons using icomoon and automatically creates a pull request to merge the build result back into <code>draft-release</code></li>
<li>Review and approve the auto-create pull request created by the action of the step above</li>
<li>Create a pull request towards <code>development</code>. Mention the release number in the pull request title and add information about all new icons, fixes, features and enhancements in the description of the pull request. Take the commits as a guideline. It's also a good idea to mention and thank all contributions who participated in the release (take description of <code><a href="https://github.com/devicons/devicon/pull/504">#504</a></code> as an example).</li>
<li>Wait for review and approval of the pull request (<b>DON'T</b> perform a squash-merge)</li>
<li>Create a pull request towards <code>development</code>. Mention the release number in the pull request title (like "Build preparation for release v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i>) and add information about all new icons, fixes, features and enhancements in the description of the pull request. Take the commits as a guideline. It's also a good idea to mention and thank all contributions who participated in the release (take description of <code><a href="https://github.com/devicons/devicon/pull/504">#504</a></code> as an example).</li>
<li>Wait for review and approval of the pull request (you can perform a squash-merge)</li>
<li>Once merged create a pull request with BASE <code>master</code> and HEAD <code>development</code>. Copy the description of the earlier pull request.</li>
<li>Since it was already approved in the 'development' stage a maintainer is allowed to merge it (<b>DON'T</b> perform a squash-merge).</li>
<li>Create a <a href="https://github.com/devicons/devicon/releases/new">new release</a> using v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i> as tag and release title. Use the earlier created description as description of the release.</li>
<li>Publishing the release will trigger the <a href="/.github/workflows/npm_publish.yml">npm_publish.yml</a> workflow which will execute a <code>npm publish</code> leading to a updated <a href="https://www.npmjs.com/package/devicon">npm package</a> (v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i>).</li>
</ol>
</ol>

View File

@ -2345,6 +2345,26 @@
}
]
},
{
"name": "nixos",
"tags": [
"os"
],
"versions": {
"svg": [
"original",
"original-wordmark",
"plain",
"plain-wordmark"
],
"font": [
"plain",
"plain-wordmark"
]
},
"color": "#5277C3",
"aliases": []
},
{
"name": "nodejs",
"tags": [

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#7EBAE4" d="M18.096 57.082 8.12 74.362l-2.33-3.95 2.69-4.627-5.34-.014L2 63.798l1.162-2.019 7.602.024 2.731-4.71 4.601-.011zm.766 13.813h19.953l-2.255 3.993-5.352-.015 2.658 4.632-1.14 1.972-2.329.002-3.78-6.594-5.444-.012-2.311-3.978zm11.613-7.572L20.5 46.043 25.084 46l2.663 4.643 2.683-4.618h2.277l1.167 2.016-3.822 6.571 2.713 4.72-2.29 3.991z" clip-rule="evenodd" fill-rule="evenodd"></path><path fill="#5277C3" d="m14.496 64.2 9.975 17.28-4.584.043-2.663-4.642-2.683 4.618-2.277-.001-1.167-2.016 3.821-6.57-2.712-4.722 2.29-3.99zm11.587-7.615-19.954-.001 2.255-3.992 5.353.015-2.658-4.632 1.14-1.972L14.546 46l3.78 6.595 5.445.011 2.31 3.979zm.778 13.853 9.977-17.28 2.33 3.95-2.69 4.627 5.341.014 1.138 1.973-1.162 2.018-7.601-.024-2.732 4.71-4.601.012z" clip-rule="evenodd" fill-rule="evenodd"></path><path d="M68.355 53.027H65.84v11.418c0 1.612.065 4.16.162 6.999h-.097c-1.258-2.355-2.677-4.612-3.677-6.16l-7.902-12.257h-3.452v21.868h2.516V63.477c0-1.613-.064-4.645-.161-7.45h.097c1.87 3.257 2.967 5.063 4 6.611l7.902 12.257h3.128V53.027zm4.79 21.868h2.71V59.284h-2.71v15.611zM74.5 56.994c.935 0 1.677-.742 1.677-1.677 0-.936-.742-1.678-1.677-1.678-.936 0-1.677.742-1.677 1.678 0 .935.741 1.677 1.677 1.677zm18.234 2.29h-3.096l-3.806 5.741h-.097l-3.677-5.741h-3.355l5.58 7.612v.097l-5.773 7.902h3.096l4.064-6.193h.097l4.064 6.193h3.355l-5.903-8.031v-.097l5.451-7.483zm10.48-5.868c-5.134 0-9.355 4.134-9.355 11.014 0 6.879 4.221 11.013 9.355 11.013s9.355-4.134 9.355-11.013c0-6.88-4.221-11.014-9.355-11.014zm0 2.146c3.822 0 6.731 3.156 6.731 8.868 0 5.711-2.909 8.867-6.731 8.867s-6.731-3.156-6.731-8.867c0-5.712 2.91-8.868 6.731-8.868zm10.417 3.443c0 3.03 1.578 4.67 5.239 6.154 2.809 1.136 3.945 2.145 3.945 4.228 0 2.525-2.052 3.787-4.766 3.787-1.42 0-3.029-.22-4.796-.82l-.284 2.177c1.546.568 3.25.789 4.954.789 4.229 0 7.763-2.146 7.763-6.47 0-2.997-1.83-4.449-5.522-5.932-2.462-.978-3.661-2.02-3.661-4.197 0-2.114 1.83-3.282 4.134-3.282 1.357 0 2.84.347 3.882.758l.284-2.146c-1.199-.505-2.683-.758-4.324-.758-3.881 0-6.848 2.24-6.848 5.712z"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#7EBAE4" d="M50.732 43.771 20.525 96.428l-7.052-12.033 8.14-14.103-16.167-.042L2 64.237l3.519-6.15 23.013.073 8.27-14.352 13.93-.037zm2.318 42.094 60.409.003-6.827 12.164-16.205-.045 8.047 14.115-3.45 6.01-7.05.008-11.445-20.097-16.483-.034-6.996-12.124zm35.16-23.074-30.202-52.66L71.888 10l8.063 14.148 8.12-14.072 6.897.002 3.532 6.143-11.57 20.024 8.213 14.386-6.933 12.16z" clip-rule="evenodd" fill-rule="evenodd"></path><path fill="#5277C3" d="m39.831 65.463 30.202 52.66-13.88.131-8.063-14.148-8.12 14.072-6.897-.002-3.532-6.143 11.57-20.024-8.213-14.386 6.933-12.16zm35.08-23.207-60.409-.003L21.33 30.09l16.204.045-8.047-14.115 3.45-6.01 7.051-.01 11.444 20.097 16.484.034 6.996 12.124zm2.357 42.216 30.207-52.658 7.052 12.034-8.141 14.102 16.168.043L126 64.006l-3.519 6.15-23.013-.073-8.27 14.352-13.93.037z" clip-rule="evenodd" fill-rule="evenodd"></path></svg>

After

Width:  |  Height:  |  Size: 945 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#5277C3" d="M18.096 57.082 8.12 74.362l-2.33-3.95 2.69-4.627-5.34-.014L2 63.798l1.162-2.019 7.602.024 2.731-4.71 4.601-.011zm.766 13.813h19.953l-2.255 3.993-5.352-.015 2.658 4.632-1.14 1.972-2.329.002-3.78-6.594-5.444-.012-2.311-3.978zm11.613-7.572L20.5 46.043 25.084 46l2.663 4.643 2.683-4.618h2.277l1.167 2.016-3.822 6.571 2.713 4.72-2.29 3.991zm-15.979.877 9.975 17.28-4.584.043-2.663-4.642-2.683 4.618-2.277-.001-1.167-2.016 3.821-6.57-2.712-4.722 2.29-3.99zm11.587-7.615-19.954-.001 2.255-3.992 5.353.015-2.658-4.632 1.14-1.972L14.546 46l3.78 6.595 5.445.011 2.31 3.979zm.778 13.853 9.977-17.28 2.33 3.95-2.69 4.627 5.341.014 1.138 1.973-1.162 2.018-7.601-.024-2.732 4.71-4.601.012z" clip-rule="evenodd" fill-rule="evenodd"></path><path fill="#5277C3" d="M68.355 53.027H65.84v11.418c0 1.612.065 4.16.162 6.999h-.097c-1.258-2.355-2.677-4.612-3.677-6.16l-7.902-12.257h-3.452v21.868h2.516V63.477c0-1.613-.064-4.645-.161-7.45h.097c1.87 3.257 2.967 5.063 4 6.611l7.902 12.257h3.128V53.027zm4.79 21.868h2.71V59.284h-2.71v15.611zM74.5 56.994c.935 0 1.677-.742 1.677-1.677 0-.936-.742-1.678-1.677-1.678-.936 0-1.677.742-1.677 1.678 0 .935.741 1.677 1.677 1.677zm18.234 2.29h-3.096l-3.806 5.741h-.097l-3.677-5.741h-3.355l5.58 7.612v.097l-5.773 7.902h3.096l4.064-6.193h.097l4.064 6.193h3.355l-5.903-8.031v-.097l5.451-7.483zm10.48-5.868c-5.134 0-9.355 4.134-9.355 11.014 0 6.879 4.221 11.013 9.355 11.013s9.355-4.134 9.355-11.013c0-6.88-4.221-11.014-9.355-11.014zm0 2.146c3.822 0 6.731 3.156 6.731 8.868 0 5.711-2.909 8.867-6.731 8.867s-6.731-3.156-6.731-8.867c0-5.712 2.91-8.868 6.731-8.868zm10.418 3.443c0 3.03 1.577 4.67 5.238 6.154 2.809 1.136 3.945 2.145 3.945 4.228 0 2.525-2.052 3.787-4.766 3.787-1.42 0-3.029-.22-4.796-.82l-.284 2.177c1.546.568 3.25.789 4.954.789 4.229 0 7.763-2.146 7.763-6.47 0-2.997-1.83-4.449-5.522-5.932-2.462-.978-3.661-2.02-3.661-4.197 0-2.114 1.83-3.282 4.134-3.282 1.357 0 2.84.347 3.882.758l.284-2.146c-1.199-.505-2.683-.758-4.324-.758-3.881 0-6.847 2.24-6.847 5.712z"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#5277C3" d="m39.831 65.463 30.202 52.66-13.88.131-8.063-14.148-8.12 14.072-6.897-.002-3.532-6.143 11.57-20.024-8.213-14.386 6.933-12.16zm10.901-21.692L20.525 96.43l-7.052-12.034 8.14-14.103-16.167-.042L2 64.237l3.519-6.15 23.013.073 8.27-14.352 13.93-.037zm2.318 42.094 60.409.003-6.827 12.164-16.205-.045 8.047 14.115-3.45 6.01-7.05.008-11.445-20.097-16.483-.034-6.996-12.124zm35.16-23.074-30.202-52.66L71.888 10l8.063 14.148 8.12-14.072 6.897.002 3.532 6.143-11.57 20.024 8.213 14.386-6.933 12.16z" clip-rule="evenodd" fill-rule="evenodd"></path><path fill="#5277C3" d="m39.831 65.463 30.202 52.66-13.88.131-8.063-14.148-8.12 14.072-6.897-.002-3.532-6.143 11.57-20.024-8.213-14.386 6.933-12.16zm35.08-23.207-60.409-.003L21.33 30.09l16.204.045-8.047-14.115 3.45-6.01 7.051-.01 11.444 20.097 16.484.034 6.996 12.124zm2.357 42.216 30.207-52.658 7.052 12.034-8.141 14.102 16.168.043L126 64.006l-3.519 6.15-23.013-.073-8.27 14.352-13.93.037z" clip-rule="evenodd" fill-rule="evenodd"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

6
package-lock.json generated
View File

@ -1963,9 +1963,9 @@
"dev": true
},
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
"interpret": {