31
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @ -34,4 +34,33 @@ | ||||
| .Spotlight-V100 | ||||
| .Trashes | ||||
| ehthumbs.db | ||||
| Thumbs.db | ||||
| Thumbs.db | ||||
| 
 | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
| npm-debug.log* | ||||
| 
 | ||||
| # Runtime data | ||||
| pids | ||||
| *.pid | ||||
| *.seed | ||||
| 
 | ||||
| # Directory for instrumented libs generated by jscoverage/JSCover | ||||
| lib-cov | ||||
| 
 | ||||
| # Coverage directory used by tools like istanbul | ||||
| coverage | ||||
| 
 | ||||
| # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||||
| .grunt | ||||
| 
 | ||||
| # node-waf configuration | ||||
| .lock-wscript | ||||
| 
 | ||||
| # Compiled binary addons (http://nodejs.org/api/addons.html) | ||||
| build/Release | ||||
| 
 | ||||
| # Dependency directory | ||||
| # https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git | ||||
| node_modules | ||||
							
								
								
									
										3
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,3 @@ | ||||
| # Simple Icons | ||||
| 
 | ||||
| SVG icons for popular brands. https://simpleicons.org | ||||
							
								
								
									
										112
									
								
								build.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,112 @@ | ||||
| // Get JSON from source file
 | ||||
| var source = require('./simple-icons.json'); | ||||
| 
 | ||||
| // Loop through icons
 | ||||
| for (var i = 0; i < source.icons.length; i++) { | ||||
| 
 | ||||
|     var hex = source.icons[i].hex; | ||||
| 
 | ||||
|     // Add red, green and blue values to the JSON object
 | ||||
|     var red   = parseInt(hex.substr(0,2), 16) / 255; | ||||
|     var green = parseInt(hex.substr(2,2), 16) / 255; | ||||
|     var blue  = parseInt(hex.substr(4,2), 16) / 255; | ||||
| 
 | ||||
|     // Add hue to the JSON object
 | ||||
|     var max = Math.max(red, green, blue); | ||||
|     var min = Math.min(red, green, blue); | ||||
|     var delta = max - min; | ||||
|     source.icons[i].luminance = 100 * (max + min) / 2; | ||||
|     if (delta === 0) { | ||||
|         var hue = 0; | ||||
|         source.icons[i].saturation = 0; | ||||
|     } else { | ||||
|         if (source.icons[i].luminance < 50) { | ||||
|             source.icons[i].saturation = 100 * (max - min) / (max + min); | ||||
|         } else { | ||||
|             source.icons[i].saturation = 100 * (max - min) / (2 - max - min); | ||||
|         } | ||||
|         if (max === red) { | ||||
|             var hue = ((green - blue) / delta) * 60; | ||||
|             if (hue < 0) { | ||||
|                 hue += 360; | ||||
|             } | ||||
|         } else if (max === green) { | ||||
|             var hue = (((blue - red) / delta) + 2) * 60; | ||||
|         } else { | ||||
|             var hue = (((red - green) / delta) + 4) * 60; | ||||
|         } | ||||
|     } | ||||
|     source.icons[i].hue = hue; | ||||
| } | ||||
| 
 | ||||
| // Sort icons by hue
 | ||||
| 
 | ||||
| // Ensures blue icons appear first in the last, purple ones last
 | ||||
| for (var i = 0; i < source.icons.length; i++) { | ||||
|     source.icons[i].hue += 100; | ||||
|     source.icons[i].hue = source.icons[i].hue % 360; | ||||
| } | ||||
| source.icons.sort(function(a, b) { | ||||
|     return parseFloat(b.hue) - parseFloat(a.hue); | ||||
| }); | ||||
| var tmp = []; | ||||
| for (var i = 0; i < source.icons.length; i++) { | ||||
|     if (source.icons[i].luminance < 10) { | ||||
|         tmp.push(source.icons[i]); | ||||
|         source.icons.splice(i,1); | ||||
|         i--; | ||||
|     } | ||||
| } | ||||
| for (var i = 0; i < source.icons.length; i++) { | ||||
|     if (source.icons[i].saturation < 5) { | ||||
|         tmp.push(source.icons[i]); | ||||
|         source.icons.splice(i,1); | ||||
|         i--; | ||||
|     } | ||||
| } | ||||
| tmp.sort(function(a, b) { | ||||
|     return parseFloat(b.luminance) - parseFloat(a.luminance); | ||||
| }); | ||||
| for (var i = 0; i < tmp.length; i++) { | ||||
|     source.icons.push(tmp[i]); | ||||
| } | ||||
| console.log(tmp); | ||||
| 
 | ||||
| // Read header and footer content into variables
 | ||||
| var fs = require('fs'); | ||||
| function readFile(path, callback) { | ||||
|     try { | ||||
|         var filename = require.resolve(path); | ||||
|         fs.readFile(filename, 'utf8', callback); | ||||
|     } catch (e) { | ||||
|         callback(e); | ||||
|     } | ||||
| } | ||||
| var fs = require('fs'); | ||||
| var header = fs.readFileSync('./src/header.html', 'utf8'); | ||||
| var footer = fs.readFileSync('./src/footer.html', 'utf8'); | ||||
| 
 | ||||
| // Build content
 | ||||
| var main = "<p class=\"hero\">" + source.icons.length + " SVG icons for popular brands <a href=\"https://github.com/danleech/simple-icons\">Download them from GitHub</a></p>\n<ul class=\"tiles\">"; | ||||
| 
 | ||||
| for (var i = 0; i < source.icons.length; i++) { | ||||
|     var fileName = source.icons[i].title.toLowerCase(); | ||||
|     fileName = fileName.replace(' ', ''); | ||||
|     fileName = fileName.replace('!', ''); | ||||
|     fileName = fileName.replace('.', ''); | ||||
|     fileName = fileName.replace('+', 'plus'); | ||||
|     filePath = "./icons/" + fileName + ".svg"; | ||||
|     console.log(source.icons[i].title + ", sat = " + source.icons[i].saturation); | ||||
|     var fs = require('fs'); | ||||
|     var svg = fs.readFileSync(filePath, 'utf8'); | ||||
|     main += "\t\t\t<li style=\"background-color:#" + source.icons[i].hex + "\"><a href=\"https://github.com/danleech/simple-icons/tree/master/icons/" + fileName + ".svg\">" + svg + source.icons[i].title + "<br><span class=\"hex\">#" + source.icons[i].hex + "</span></a></li>\n"; | ||||
| } | ||||
| 
 | ||||
| // Put all content together and export to index.html
 | ||||
| var htmlOutput = header + main + footer; | ||||
| fs.writeFile("./index.html", htmlOutput, function(err) { | ||||
|     if(err) { | ||||
|         return console.log(err); | ||||
|     } | ||||
|     console.log("The file was saved!"); | ||||
| }); | ||||
							
								
								
									
										1
									
								
								icons/500px.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1 @@ | ||||
| <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M14.008 13.3c-.113-.114-.21-.18-.294-.204-.085-.025-.16-.007-.22.053l-.056.054c-.58.58-1.26 1.038-2.012 1.357-.78.33-1.61.498-2.464.498-.855 0-1.684-.167-2.465-.497-.753-.318-1.43-.774-2.012-1.356-.606-.606-1.062-1.283-1.357-2.012-.287-.712-.38-1.247-.41-1.422l-.008-.04c-.04-.206-.23-.22-.504-.18-.114.02-.46.072-.428.32v.007c.093.577.255 1.143.483 1.682.367.865.89 1.642 1.56 2.31.667.668 1.445 1.192 2.31 1.558.897.38 1.85.572 2.832.572.98 0 1.933-.192 2.83-.572.866-.366 1.644-.89 2.312-1.56 0 0 .038-.036.058-.058.073-.08.137-.22-.154-.51M8.952 1.713c-.938 0-1.936.19-2.67.507-.077.03-.124.094-.134.183-.01.083.013.193.07.337.044.116.165.424.4.335.75-.286 1.58-.444 2.334-.444.857 0 1.688.17 2.47.5.62.262 1.207.642 1.844 1.194.046.04.096.06.146.06.125 0 .244-.12.346-.236.17-.19.287-.35.12-.508-.61-.576-1.276-1.007-2.1-1.355-.895-.38-1.846-.57-2.826-.57m-1.278 7.93c0 .107.098.2.156.256l.018.018c.1.098.194.148.28.148.074 0 .118-.035.134-.05.044-.04.54-.542.586-.59l.552.55c.052.06.107.087.172.09.088 0 .184-.053.286-.157.238-.244.12-.375.06-.44l-.56-.558.585-.588c.128-.14.015-.286-.098-.4-.163-.162-.32-.205-.423-.11l-.58.58-.587-.587c-.03-.03-.07-.045-.113-.045-.078 0-.17.052-.275.157-.18.18-.22.304-.125.403l.587.586-.585.583c-.048.048-.072.1-.07.153m-3.723.867c.004.01.087.24.135.352.263.624.64 1.184 1.122 1.665.48.48 1.04.858 1.663 1.122.646.273 1.332.412 2.04.412.706 0 1.392-.14 2.038-.412.625-.264 1.185-.642 1.665-1.122.48-.48.86-1.04 1.123-1.665.273-.646.41-1.332.41-2.04 0-.706-.137-1.392-.41-2.037-.264-.624-.642-1.184-1.123-1.665-.48-.48-1.04-.858-1.664-1.122-.645-.272-1.33-.41-2.038-.41-.715 0-1.43.14-2.067.41-.51.216-1.37.77-1.875 1.29l-.003.004V.984h7.24c.264-.003.264-.37.264-.492 0-.12 0-.49-.263-.492h-7.83c-.212 0-.344.177-.344.342v6.066c0 .196.244.337.47.386.443.094.545-.047.653-.197l.015-.02c.166-.245.683-.765.688-.77C6.665 5 7.743 4.554 8.895 4.554c1.146 0 2.222.445 3.03 1.25.808.81 1.254 1.883 1.254 3.02 0 1.143-.445 2.216-1.25 3.02-.795.796-1.906 1.252-3.047 1.252-.773 0-1.52-.206-2.16-.596l.004-3.688c0-.49.214-1.026.57-1.43.41-.462.973-.716 1.587-.716.595 0 1.15.226 1.565.636.41.407.636.95.636 1.527 0 1.232-.97 2.198-2.207 2.198-.24 0-.673-.106-.69-.11-.25-.075-.357.272-.392.387-.135.44.068.527.11.54.398.123.66.147 1 .147 1.748 0 3.17-1.422 3.17-3.17 0-1.734-1.42-3.144-3.167-3.144-.854 0-1.657.327-2.26.92-.575.565-.905 1.32-.905 2.067v.02c-.003.092-.004 2.304-.005 3.03l-.003-.004c-.33-.363-.653-.92-.868-1.488-.086-.223-.276-.183-.536-.103-.114.034-.46.14-.383.39l.002.003z" fill="#fff" fill-rule="nonzero"/></svg> | ||||
| After Width: | Height: | Size: 2.7 KiB | 
| Before Width: | Height: | Size: 9.0 KiB | 
| Before Width: | Height: | Size: 9.0 KiB | 
| Before Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 218 B | 
| Before Width: | Height: | Size: 207 B | 
| Before Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 20 KiB | 
| Before Width: | Height: | Size: 301 B | 
| Before Width: | Height: | Size: 299 B | 
| Before Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 382 B | 
| Before Width: | Height: | Size: 382 B | 
| Before Width: | Height: | Size: 46 KiB | 
| Before Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 576 B | 
| Before Width: | Height: | Size: 578 B | 
| Before Width: | Height: | Size: 4.9 KiB | 
| Before Width: | Height: | Size: 4.8 KiB | 
| Before Width: | Height: | Size: 748 B | 
| Before Width: | Height: | Size: 737 B | 
| Before Width: | Height: | Size: 8.2 KiB | 
| Before Width: | Height: | Size: 7.4 KiB | 
| Before Width: | Height: | Size: 1.3 KiB | 
| Before Width: | Height: | Size: 1.3 KiB | 
| Before Width: | Height: | Size: 226 B | 
| Before Width: | Height: | Size: 223 B | 
| Before Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 17 KiB | 
| Before Width: | Height: | Size: 309 B | 
| Before Width: | Height: | Size: 311 B | 
| Before Width: | Height: | Size: 2.2 KiB | 
| Before Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 400 B | 
| Before Width: | Height: | Size: 396 B | 
| Before Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 41 KiB | 
| Before Width: | Height: | Size: 539 B | 
| Before Width: | Height: | Size: 542 B | 
| Before Width: | Height: | Size: 3.9 KiB | 
| Before Width: | Height: | Size: 3.8 KiB | 
| Before Width: | Height: | Size: 662 B | 
| Before Width: | Height: | Size: 660 B | 
| Before Width: | Height: | Size: 12 KiB | 
| Before Width: | Height: | Size: 8.9 KiB | 
| Before Width: | Height: | Size: 1.4 KiB | 
| Before Width: | Height: | Size: 1.3 KiB | 
| Before Width: | Height: | Size: 223 B | 
| Before Width: | Height: | Size: 221 B | 
| Before Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 19 KiB | 
| Before Width: | Height: | Size: 292 B | 
| Before Width: | Height: | Size: 285 B | 
| Before Width: | Height: | Size: 2.8 KiB | 
| Before Width: | Height: | Size: 2.7 KiB | 
| Before Width: | Height: | Size: 376 B | 
| Before Width: | Height: | Size: 366 B | 
| Before Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 42 KiB | 
| Before Width: | Height: | Size: 531 B | 
| Before Width: | Height: | Size: 507 B | 
| Before Width: | Height: | Size: 5.3 KiB | 
| Before Width: | Height: | Size: 4.6 KiB | 
| Before Width: | Height: | Size: 668 B | 
| Before Width: | Height: | Size: 658 B | 
| Before Width: | Height: | Size: 27 KiB | 
| Before Width: | Height: | Size: 27 KiB | 
| Before Width: | Height: | Size: 3.4 KiB | 
| Before Width: | Height: | Size: 3.5 KiB | 
| Before Width: | Height: | Size: 268 B | 
| Before Width: | Height: | Size: 261 B | 
| Before Width: | Height: | Size: 60 KiB | 
| Before Width: | Height: | Size: 60 KiB | 
| Before Width: | Height: | Size: 449 B | 
| Before Width: | Height: | Size: 444 B | 
| Before Width: | Height: | Size: 6.7 KiB | 
| Before Width: | Height: | Size: 6.6 KiB | 
| Before Width: | Height: | Size: 645 B | 
| Before Width: | Height: | Size: 654 B | 
| Before Width: | Height: | Size: 119 KiB | 
| Before Width: | Height: | Size: 116 KiB | 
| Before Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 1.6 KiB | 
| Before Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 11 KiB | 
| Before Width: | Height: | Size: 1.7 KiB | 
| Before Width: | Height: | Size: 1.6 KiB | 
| Before Width: | Height: | Size: 235 B | 
| Before Width: | Height: | Size: 237 B | 
| Before Width: | Height: | Size: 23 KiB |