mirror of
				https://github.com/Mibew/simple-icons.git
				synced 2025-10-31 02:25:59 +03:00 
			
		
		
		
	Add URL friendy/slugged name as property to package icon objects (#1520)
* Add URL friendy/slug/file name as property to package icon objects * Test new property * Add 'name' property to examples in README * Rename "name" property to "slug"
This commit is contained in:
		
							parent
							
								
									986a9d6d59
								
							
						
					
					
						commit
						9ebc626ab5
					
				| @ -47,6 +47,7 @@ console.log(simpleIcons['Simple Icons']); | ||||
| /* | ||||
| { | ||||
|     title: 'Simple Icons', | ||||
|     slug: 'simpleicons', | ||||
|     hex: '111111', | ||||
|     source: 'https://simpleicons.org/', | ||||
|     svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>', | ||||
| @ -66,6 +67,7 @@ console.log(icon); | ||||
| /* | ||||
| { | ||||
|     title: 'Simple Icons', | ||||
|     slug: 'simpleicons', | ||||
|     hex: '111111', | ||||
|     source: 'https://simpleicons.org/', | ||||
|     svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>', | ||||
|  | ||||
| @ -20,7 +20,7 @@ function iconToKeyValue(icon) { | ||||
|   return `'${icon.title}':${iconToObject(icon)}`; | ||||
| } | ||||
| function iconToObject(icon) { | ||||
|   return `{title:'${icon.title}',svg:'${icon.svg}',get path(){return this.svg.match(/<path\\s+d="([^"]*)/)[1];},source:'${icon.source.replace(/'/g, "\\'")}',hex:'${icon.hex}'}`; | ||||
|   return `{title:'${icon.title}',slug:'${icon.slug}',svg:'${icon.svg}',get path(){return this.svg.match(/<path\\s+d="([^"]*)/)[1];},source:'${icon.source.replace(/'/g, "\\'")}',hex:'${icon.hex}'}`; | ||||
| } | ||||
| 
 | ||||
| // 'main'
 | ||||
| @ -28,6 +28,7 @@ const icons = []; | ||||
| data.icons.forEach(icon => { | ||||
|     const filename = titleToFilename(icon.title); | ||||
|     icon.svg = fs.readFileSync(`${iconsDir}/${filename}.svg`, "utf8"); | ||||
|     icon.slug = filename; | ||||
|     icons.push(icon) | ||||
| 
 | ||||
|     // write the static .js file for the icon
 | ||||
|  | ||||
| @ -26,4 +26,8 @@ icons.forEach(icon => { | ||||
|     expect(typeof subject.path).toBe('string'); | ||||
|     expect(subject.path).toMatch(/[MmZzLlHhVvCcSsQqTtAa0-9-,.\s]/g); | ||||
|   }); | ||||
| 
 | ||||
|   test(`${icon.title} has a "slug"`, () => { | ||||
|     expect(typeof subject.slug).toBe('string'); | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| @ -25,4 +25,8 @@ icons.forEach(icon => { | ||||
|     expect(typeof subject.path).toBe('string'); | ||||
|     expect(subject.path).toMatch(/^[MmZzLlHhVvCcSsQqTtAa0-9-,.\s]+$/g); | ||||
|   }); | ||||
| 
 | ||||
|   test(`${icon.title} has a "slug"`, () => { | ||||
|     expect(typeof subject.slug).toBe('string'); | ||||
|   }); | ||||
| }); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user