You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- name: Comment on the PR about the result - Failure
77
-
if: failure() || cancelled()
84
+
if: failure() || env.PEEK_STATUS == 'failure'
78
85
uses: jungwinter/comment@v1 # let us comment on a specific PR
79
86
env:
80
87
MESSAGE: |
@@ -88,7 +95,7 @@ jobs:
88
95
- Your icon information has been added to the `devicon.json` as seen [here](https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#updateDevicon)
89
96
- Your PR title follows the format seen [here](https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#overview)
90
97
91
-
Once everything is fixed, I will try. If I still fail (sorry!), the maintainers will investigate further.
98
+
I will retry once everything is fixed. If I still fail (sorry!) or there are other erros, the maintainers will investigate.
we noticed that this PR has been inactive for a while now. If there are any changes which are suitable for our repository,
15
+
we would love to have it. It would be great if you can continue with this PR, but if you cannot, we might fork your changes and merge the changes ourselves.
16
+
17
+
Since GitHub tracks contributions by commits, you will still be credited.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+51-8Lines changed: 51 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
<h1>Contributing to Devicon</h1>
2
2
<p>
3
-
First of all, thanks for taking the time to contribute! This project can only grow and live by your countless contributions. To keep this project maintable we developed some guidelines for contributions.
3
+
First of all, thanks for taking the time to contribute! This project can only grow and live by your countless contributions. To keep this project maintainable, we have developed some guidelines for our contributors.
4
4
</p>
5
5
6
6
<h2>Table of Content</h2>
@@ -15,20 +15,23 @@ First of all, thanks for taking the time to contribute! This project can only gr
15
15
<li><ahref="#requestingIcon">Requesting An Icon</a></li>
<li><ahref="#release">Release strategy, conventions, preparation and execution</a></li>
18
20
</ul>
19
21
20
22
<hr>
21
23
<h2id="terms">Terms</h2>
22
24
<p>Here are some terms that we will use in this repo: </p>
23
25
<ol>
24
-
<li>"Icon" refers to the set of svgs/icons of a technology/tool. Ex: We might refer to the React svgs and React icons as the React Icon</li>
25
-
<li>"SVG/<code>.svg</code>" refers to the <code>svg</code> versions of the Icons.</li>
26
-
<li>"icons" (lowercase) refers to the font icon versions of the Icons.</li>
26
+
<li>"Technology" is used to describe a software, libraries, tool, etc...</li>
27
+
<li>"Icon" refers to the svgs and icons version of a technology as a whole.</li>
28
+
<li>"SVG/<code>svg</code>" refers to the <code>svg</code> versions of the Icons.</li>
29
+
<li>"icon" (lowercase) refers specficially to the font icon versions of the Icons.</li>
27
30
</ol>
28
31
29
32
<hr>
30
33
<h2id="overview">Overview on Submitting Icons</h2>
31
-
<p>Here is an overview of what you have to do to submit your icons to the repo.</p>
34
+
<p>Here is what you have to do to submit your icons to the repo.</p>
32
35
<ol>
33
36
<li>Create the svgs for each <ahref="#versionNaming"> svg versions </a> that you have</li>
34
37
<li>Put the svgs of each Icon into its own folders in <code>/icons</code> </li>
@@ -43,6 +46,13 @@ First of all, thanks for taking the time to contribute! This project can only gr
43
46
44
47
<hr>
45
48
<h2id='versionNaming'>Versions and Naming Conventions</h2>
49
+
<p>For the technology name, make the file and folder name lowercase and concatenate them. For example:</p>
50
+
<ul>
51
+
<li>AngularJS becomes <code>angularjs</code> or just <code>angular</code></li>
52
+
<li>Amazon Web Services becomes <code>amazonwebservices</code></li>
53
+
<li>Microsoft SQL Server becomes <code>microsoftsqlserver</code></li>
54
+
</ul>
55
+
46
56
<p>Each icon/svg can come in different versions. So far, we have:</p>
47
57
<ul>
48
58
<li><b>original</b>: the original logo. Can contain multiple colors. <ahref="https://github.com/devicons/devicon/blob/master/icons/amazonwebservices/amazonwebservices-original.svg"> Example </a> </li>
@@ -65,7 +75,6 @@ First of all, thanks for taking the time to contribute! This project can only gr
65
75
</li>
66
76
<li>
67
77
Some icons are really simple (ex. Apple), so the original version can be used as the plain version and as the icon font. In this case, you'll only need to make one of the version (either "original" or "plain"). You can then add an alias in the <code>devicon.json</code> so they can be found with either the "original" or "plain" naming convention. Note: this only applies to font icon versions only, not the SVG versions.
68
-
69
78
</li>
70
79
</ul>
71
80
@@ -74,15 +83,15 @@ First of all, thanks for taking the time to contribute! This project can only gr
74
83
<p>Before you submit your logos/svgs, please ensure that they meet the following standard:</p>
75
84
<ul>
76
85
<li>The background must be transparent.</li>
77
-
<li>The svg name follows this convention: <code>(Icon name)-(original|plain|line)(-wordmark?).</code></li>
86
+
<li>The svg name follows this convention: <code>(Technology name)-(original|plain|line)(-wordmark?).</code></li>
78
87
<li>The <b>plain</b> and <b>line</b> versions (with or without wordmark) need to stay as simple as possible. They must have only one color and the paths are united. We will strip the color when turning it into icons so they can have any color.
79
88
</li>
80
89
<li>Optimize/compress your SVGs. You can use a service like <ahref="https://compressor.io/">compressor</a> or <ahref="https://petercollingridge.appspot.com/svg-editor">SVG Editor</a>.</li>
81
90
<li>The icon's strokes and texts must be fills. This is to satisfy our conversion website's <ahref="https://icomoon.io/#docs/stroke-to-fill">requirements.</a></li>
82
91
<li>Each <code>.svg</code> file contains one version of an icon in a <code>0 0 128 128</code> viewbox. You can use a service like <ahref="https://www.iloveimg.com/resize-image/resize-svg">resize-image</a> for scaling the svg.</li>
83
92
<li>The <code>svg</code> element does not need the <code>height</code> and <code>width</code> attributes. However, if you do use it, ensure their values are either <code>"128"</code> or <code>"128px"</code>. Ex: <code>height="128"</code></li>
84
93
<li>Each <code>.svg</code> must use the <code>fill</code> attribute instead of using <code>classes</code> for colors. See <ahref="https://github.com/devicons/devicon/issues/407">here</a> for more details.</li>
85
-
<li>The naming convention for the svg file is the following: <code>(Icon name)-(original|plain|line)(-wordmark?).</code></li>
94
+
<li>The naming convention for the svg file is the following: <code>(Technology name)-(original|plain|line)(-wordmark?).</code></li>
86
95
</ul>
87
96
88
97
<hr>
@@ -299,3 +308,37 @@ As an example, let's assume you have created the svgs for Redhat and Amazon Web
299
308
<li>Comment on the PR so maintainers don't have to manually upload icon result.</li>
300
309
<li>Publishing a new release to <ahref="https://www.npmjs.com/package/devicon">npm</a>; See <ahref="https://github.com/devicons/devicon/issues/288">#288</a></li>
301
310
</ul>
311
+
312
+
<h2id="discordServer">Discord server</h2>
313
+
<p>
314
+
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.
315
+
<b>Note that the Discord server is unofficial, and Devicons is still being maintained via GitHub.</b>
316
+
</p>
317
+
318
+
<h2id='release'>Release strategy, conventions, preparation and execution</h2>
319
+
<h5>Release strategy</h5>
320
+
<p>Devicon does not follow a strict release plan. A new release is depended on current amount of contributions, required bugfixes/patches and will be discussed by the team of maintainers.</p>
321
+
<p>Generally speaking: A new release will be published when new icons are added or a bug was fixed. When it's predictable that multiple icons are added in a foreseeable amount of time they are usually wrapped together.</p>
322
+
<h5>Conventions</h5>
323
+
<p>The version naming follows the rules of <ahref="https://semver.org/">Semantic Versioning</a>. Given a version number MAJOR.MINOR.PATCH, increment the:</p>
324
+
<ul>
325
+
<li>MAJOR version when you make incompatible API changes,</li>
326
+
<li>MINOR version when you add functionality <b>(like a new icon)</b> in a backwards compatible manner, and</li>
327
+
<li>PATCH version when you make backwards compatible bug fixes.</li>
328
+
</ul>
329
+
330
+
<h5>Release preparation and execution</h5>
331
+
<ol>
332
+
<li>Define the next release version number based on the conventions</li>
333
+
<li>Checkout <code>development</code> as <code>draft-release</code> branch</li>
334
+
<li>Bump the package version using <code>npm version v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i> -m "bump npm version to v<i>MAJOR</i>.<i>MINOR</i>.<i>PATCH</i>"</code> (see <code><a href="https://github.com/devicons/devicon/pull/497">#487</a></code>)</li>
335
+
<li>Push the branch <code>draft-release</code></li>
336
+
<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>
337
+
<li>Review and approve the auto-create pull request created by the action of the step above</li>
338
+
<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>
339
+
<li>Wait for review and approval of the pull request (<b>DON'T</b> perform a squash-merge)</li>
340
+
<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>
341
+
<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>
342
+
<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>
343
+
<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>
0 commit comments