| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | <!DOCTYPE html> | 
					
						
							|  |  |  | <html lang="en"> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <head> | 
					
						
							|  |  |  |   <meta charset="UTF-8"> | 
					
						
							|  |  |  |   <title>Contribution Guidelines | freeCodeCamp.org</title> | 
					
						
							| 
									
										
										
										
											2020-04-20 17:29:26 +03:00
										 |  |  |   <link rel="icon" href="images/branding/favicon.ico"> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> | 
					
						
							|  |  |  |   <meta name="description" content="Description"> | 
					
						
							|  |  |  |   <meta name="viewport" | 
					
						
							|  |  |  |     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> | 
					
						
							| 
									
										
										
										
											2020-04-21 02:16:46 +05:30
										 |  |  |   <!--social--> | 
					
						
							|  |  |  |   <meta content='freeCodeCamp.org' name='og:title' /> | 
					
						
							| 
									
										
										
										
											2020-05-12 08:32:32 -04:00
										 |  |  |   <meta content='Learn to code at home. Build projects. Earn certifications.' | 
					
						
							| 
									
										
										
										
											2020-04-21 02:16:46 +05:30
										 |  |  |     + 'Since 2015, 40,000 graduates have gotten jobs at tech ' | 
					
						
							| 
									
										
										
										
											2020-05-07 16:08:29 +05:30
										 |  |  |     + 'companies including Google, Apple, Amazon, and Microsoft.' name='og:description' /> | 
					
						
							| 
									
										
										
										
											2020-04-21 02:16:46 +05:30
										 |  |  |   <meta content='https://cdn.freecodecamp.org/platform/universal/fcc-og-1200-social-green.png' property='og:image' /> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <meta content='summary_large_image' key='twitter:card' name='twitter:card' /> | 
					
						
							|  |  |  |   <meta content='https://cdn.freecodecamp.org/platform/universal/fcc-twitter-1120X600-social-green.png' | 
					
						
							|  |  |  |     name='twitter:image:src' /> | 
					
						
							|  |  |  |   <meta content='freeCodeCamp.org' name='twitter:title' /> | 
					
						
							| 
									
										
										
										
											2020-05-11 12:12:06 -04:00
										 |  |  |   <meta content='Learn to code at home. Build projects. Earn certifications.' | 
					
						
							| 
									
										
										
										
											2020-04-21 02:16:46 +05:30
										 |  |  |     + 'Since 2015, 40,000 graduates have gotten jobs at tech ' | 
					
						
							| 
									
										
										
										
											2020-05-02 15:59:23 +03:00
										 |  |  |     + 'companies including Google, Apple, Amazon, and Microsoft.' name='twitter:description' /> | 
					
						
							| 
									
										
										
										
											2020-04-20 17:29:26 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-26 17:51:23 +05:30
										 |  |  |   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css" | 
					
						
							|  |  |  |     integrity="sha512-1PKOgIY59xJ8Co8+NE6FZ+LOAZKjy+KY8iq0G4B3CyeY6wYHN3yt9PW0XpSriVlkMXe40PTKnXrLnZ9+fkDaog==" | 
					
						
							|  |  |  |     crossorigin="anonymous" /> | 
					
						
							| 
									
										
										
										
											2020-09-17 03:29:58 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |   <!-- Theme --> | 
					
						
							|  |  |  |   <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple.css"> --> | 
					
						
							| 
									
										
										
										
											2020-04-24 12:52:08 +02:00
										 |  |  |   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify/themes/vue.css"> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |   <!-- Custom theme stylesheet --> | 
					
						
							| 
									
										
										
										
											2020-05-07 16:08:29 +05:30
										 |  |  |   <link rel="stylesheet" href="_theme.css"> | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | </head> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  | <body class="close"> | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  |   <!-- Navigation (we are using a div, instead of nav to avoid conflict with docsify's nav) --> | 
					
						
							|  |  |  |   <div class='universal-nav'> | 
					
						
							| 
									
										
										
										
											2020-04-20 17:29:26 +03:00
										 |  |  |     <a class="app-name-link" data-nosearch="" href="/"> | 
					
						
							|  |  |  |       <img alt="freeCodeCamp.org" src="images/branding/primary_logo.svg"> | 
					
						
							|  |  |  |     </a> | 
					
						
							| 
									
										
										
										
											2020-10-22 21:56:44 +05:30
										 |  |  |     <a class="translations-link" data-nosearch="" href="/#/i18n"> | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  |       Translations | 
					
						
							|  |  |  |     </a> | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  |   </div> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <!-- App with its own nav, search and sidebar --> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |   <div id="app"></div> | 
					
						
							|  |  |  |   <script> | 
					
						
							|  |  |  |     window.$docsify = { | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-22 21:56:44 +05:30
										 |  |  |       homepage: 'index', | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  |       relativePath: true, | 
					
						
							| 
									
										
										
										
											2020-05-07 16:08:29 +05:30
										 |  |  |       // common aliases | 
					
						
							|  |  |  |       alias: { | 
					
						
							| 
									
										
										
										
											2020-10-22 21:56:44 +05:30
										 |  |  |         '.*/_navbar.md': '/_navbar.md', | 
					
						
							|  |  |  |         '/i18n/?': '/_translations.md' | 
					
						
							| 
									
										
										
										
											2020-05-07 16:08:29 +05:30
										 |  |  |       }, | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-21 07:01:13 +05:30
										 |  |  |       // break the caching | 
					
						
							|  |  |  |       requestHeaders: { | 
					
						
							|  |  |  |         'cache-control': 'no-cache' | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       // Cover Page | 
					
						
							| 
									
										
										
										
											2020-05-07 16:08:29 +05:30
										 |  |  |       coverpage: true, | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       onlyCover: true, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       // Navigation | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  |       autoHeader: true, | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       auto2top: true, | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |       loadSidebar: true, | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       maxLevel: 2, | 
					
						
							|  |  |  |       subMaxLevel: 2, | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |       topMargin: 90, | 
					
						
							| 
									
										
										
										
											2020-04-20 17:29:26 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  |       // we do not use the built in navbar other then in mobile view | 
					
						
							|  |  |  |       loadNavbar: true, | 
					
						
							|  |  |  |       mergeNavbar: true, | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |       // Plugins | 
					
						
							|  |  |  |       search: { | 
					
						
							|  |  |  |         depth: 3, | 
					
						
							|  |  |  |         noData: 'No results!', | 
					
						
							|  |  |  |         placeholder: 'Search...' | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       'flexible-alerts': { | 
					
						
							| 
									
										
										
										
											2020-09-26 17:51:23 +05:30
										 |  |  |         style: 'callout' | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       pagination: { | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  |         crossChapter: true | 
					
						
							| 
									
										
										
										
											2020-04-21 02:16:46 +05:30
										 |  |  |       }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       remoteMarkdown: { | 
					
						
							|  |  |  |         tag: 'remote-markdown-url', | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |       }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  |       plugins: [ | 
					
						
							|  |  |  |         function (hook, vm) { | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |           hook.beforeEach(function (markdown) { | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |             // -- ignore the translations list page | 
					
						
							|  |  |  |             if (vm.route.file === '_translations.md') return markdown; | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |             // -- add "Update this translation" link for all i18n language pages | 
					
						
							| 
									
										
										
										
											2020-10-04 04:40:56 +05:30
										 |  |  |             if (vm.route.path.search('i18n') !== -1) { | 
					
						
							|  |  |  |               var dynamicText = | 
					
						
							|  |  |  |                 '[<i class="far fa-edit"></i> Update the translation](' + | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |                 'https://translate.freecodecamp.org/contributing-docs' + | 
					
						
							|  |  |  |                 ') or [visit the English version](' + | 
					
						
							|  |  |  |                 '/' + vm.route.path.split('/').pop() + | 
					
						
							|  |  |  |                 ') of this guide to update instructions.'; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // -- add "Edit this guide on GitHub" link for all English language pages | 
					
						
							|  |  |  |             if (vm.route.path.search('i18n') === -1) { | 
					
						
							| 
									
										
										
										
											2020-10-04 04:40:56 +05:30
										 |  |  |               var dynamicText = | 
					
						
							|  |  |  |                 '[<i class="far fa-edit"></i> Edit this guide on GitHub](' + | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |                 'https://github.com/freeCodeCamp/freeCodeCamp/blob/master/docs/' + | 
					
						
							|  |  |  |                 vm.route.file + | 
					
						
							|  |  |  |                 ')'; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2020-10-02 04:07:20 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-04 04:40:56 +05:30
										 |  |  |             // Used from https://github.com/ckoliber/docsify-rtl/blob/master/build/docsify-rtl.js, | 
					
						
							|  |  |  |             // Currently this is a hack because can't use the plugin as is. | 
					
						
							| 
									
										
										
										
											2020-11-30 00:30:30 +07:00
										 |  |  |             if (vm.route.path.search('Arabic') !== -1 || vm.route.path.search('Hebrew') !== -1) { | 
					
						
							| 
									
										
										
										
											2020-10-04 04:40:56 +05:30
										 |  |  |               for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { | 
					
						
							|  |  |  |                 var item = elements[counter]; | 
					
						
							|  |  |  |                 item.dir = "rtl"; | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |             }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-30 00:30:30 +07:00
										 |  |  |             if (vm.route.path.search('Arabic') === -1 && vm.route.path.search('Hebrew') === -1) { | 
					
						
							|  |  |  |               for (var counter = 0, elements = document.getElementsByClassName("markdown-section"); counter < elements.length; counter++) { | 
					
						
							|  |  |  |                 var item = elements[counter]; | 
					
						
							|  |  |  |                 item.dir = "ltr"; | 
					
						
							|  |  |  |               } | 
					
						
							|  |  |  |             }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  |             return ( | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |               markdown + | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  |               '\n----\n' + | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |               dynamicText | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  |             ); | 
					
						
							| 
									
										
										
										
											2020-10-04 03:54:52 +05:30
										 |  |  |             // -- do not add logic below this line -- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-21 06:56:45 +05:30
										 |  |  |           }); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |     } | 
					
						
							|  |  |  |   </script> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-24 12:52:08 +02:00
										 |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  |   <!-- Theme --> | 
					
						
							|  |  |  |   <!-- <script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0"></script> --> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   <!-- Plugins --> | 
					
						
							| 
									
										
										
										
											2020-04-24 12:52:08 +02:00
										 |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script> | 
					
						
							|  |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify-copy-code@2"></script> | 
					
						
							|  |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.js"></script> | 
					
						
							|  |  |  |   <script src="https://cdn.jsdelivr.net/npm/docsify-plugin-flexible-alerts@1"></script> | 
					
						
							| 
									
										
										
										
											2020-10-01 05:44:32 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-24 12:52:08 +02:00
										 |  |  |   <script src="https://unpkg.com/docsify-pagination/dist/docsify-pagination.min.js"></script> | 
					
						
							|  |  |  |   <script src="https://unpkg.com/docsify-remote-markdown/dist/docsify-remote-markdown.min.js"></script> | 
					
						
							| 
									
										
										
										
											2020-04-06 17:47:40 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-26 17:51:23 +05:30
										 |  |  |   <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/js/all.min.js" | 
					
						
							|  |  |  |     integrity="sha512-YSdqvJoZr83hj76AIVdOcvLWYMWzy6sJyIMic2aQz5kh2bPTd9dzY3NtdeEAzPp/PhgZqr4aJObB3ym/vsItMg==" | 
					
						
							|  |  |  |     crossorigin="anonymous"></script> | 
					
						
							| 
									
										
										
										
											2020-09-17 03:29:58 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-22 16:08:04 +05:30
										 |  |  | </body> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-26 17:51:23 +05:30
										 |  |  | </html> |