mirror of
				https://github.com/Mibew/simple-icons.git
				synced 2025-10-31 02:25:59 +03:00 
			
		
		
		
	Updates to README ahead of v12. (#10977)
				
					
				
			Co-authored-by: Álvaro Mondéjar Rubio <mondejar1994@gmail.com>
This commit is contained in:
		
							parent
							
								
									734e07717e
								
							
						
					
					
						commit
						7777cbabfe
					
				
							
								
								
									
										47
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								README.md
									
									
									
									
									
								
							| @ -150,43 +150,39 @@ echo file_get_contents('path/to/package/icons/simpleicons.svg'); | ||||
| 
 | ||||
| ## Third-Party Extensions | ||||
| 
 | ||||
| | Extension | Author | License | Simple Icons Version | | ||||
| The below are known extensions to third-party tools. | ||||
| 
 | ||||
| | Extension | Author | | ||||
| | :- | :- | | ||||
| | [Blender add-on](https://github.com/mondeja/simple-icons-blender) <img src="https://cdn.simpleicons.org/blender/000/fff" alt="Blender" align=left width=24 height=24> | [@mondeja](https://github.com/mondeja) | | ||||
| | [Boxy SVG library](https://boxy-svg.com/ideas/298/simple-icons-library-provider) <img src="https://cdn.simpleicons.org/boxysvg/000/fff" alt="Boxy SVG" align=left width=24 height=24> | [@Jarek](https://boxy-svg.com/profiles/0000000000/jarek) | | ||||
| | [Drawio library](https://github.com/mondeja/simple-icons-drawio) <img src="https://cdn.simpleicons.org/diagramsdotnet/000/fff" alt="Drawio" align=left width=24 height=24> | [@mondeja](https://github.com/mondeja) | | ||||
| | [Figma plugin](https://www.figma.com/community/plugin/1149614463603005908/Simple-Icons) <img src="https://cdn.simpleicons.org/figma/000/fff" alt="Figma" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) | | ||||
| | [Miro app](https://miro.com/marketplace/brand-icons/) <img src="https://cdn.simpleicons.org/miro/000/fff" alt="Miro" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) | | ||||
| | [Raycast extension](https://www.raycast.com/litomore/simple-icons) <img src="https://cdn.simpleicons.org/raycast/000/fff" alt="Raycast" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) | | ||||
| | [Stream Deck icon pack](https://github.com/mackenly/simple-icons-stream-deck) <img src="https://cdn.simpleicons.org/elgato/000/fff" alt="Stream Deck" align=left width=24 height=24> | [@mackenly](https://github.com/mackenly) |  |  | | ||||
| | [Webflow app](https://webflow.com/apps/detail/simple-icons) <img src="https://cdn.simpleicons.org/webflow/000/fff" alt="Webflow" align=left width=24 height=24> | [@diegoliv](https://github.com/diegoliv) | | ||||
| 
 | ||||
| Maintain an extension? [Submit a PR][open-pr] to include it in the list above. | ||||
| 
 | ||||
| ## Third-Party Libraries | ||||
| 
 | ||||
| The below are known third-party libraries for use in your own projects. We only keep items in the list that are at least up to date with our previous major version. | ||||
| 
 | ||||
| | Library | Author | License | Simple Icons Version | | ||||
| | :-- | :-- | :-: | :-: | | ||||
| | [Angular module](https://github.com/avmaisak/ngx-simple-icons) <img src="https://cdn.simpleicons.org/angular/000/fff" alt="Angular" align=left width=24 height=24> | [@avmaisak](https://github.com/avmaisak) |  | [](https://github.com/simple-icons/simple-icons/tree/6.18.0) | | ||||
| | [Blazor Nuget package](https://github.com/TimeWarpEngineering/timewarp-simple-icons) <img src="https://cdn.simpleicons.org/blazor/000/fff" alt="Blazor" align=left width=24 height=24> | [@TimeWarpEngineering](https://github.com/TimeWarpEngineering)  |  |  | | ||||
| | [Blender add-on](https://github.com/mondeja/simple-icons-blender) <img src="https://cdn.simpleicons.org/blender/000/fff" alt="Blender" align=left width=24 height=24> | [@mondeja](https://github.com/mondeja) |  |  | | ||||
| | [Boxy SVG library](https://boxy-svg.com/ideas/298/simple-icons-library-provider) <img src="https://cdn.simpleicons.org/boxysvg/000/fff" alt="Boxy SVG" align=left width=24 height=24> | [@Jarek](https://boxy-svg.com/profiles/0000000000/jarek) | | | | ||||
| | [Drawio library](https://github.com/mondeja/simple-icons-drawio) <img src="https://cdn.simpleicons.org/diagramsdotnet/000/fff" alt="Drawio" align=left width=24 height=24> | [@mondeja](https://github.com/mondeja) |  |  | | ||||
| | [Drupal module](https://www.drupal.org/project/simple_icons) <img src="https://cdn.simpleicons.org/drupal/000/fff" alt="Drupal" align=left width=24 height=24> | [Phil Wolstenholme](https://www.drupal.org/u/phil-wolstenholme) |  |  | | ||||
| | [Figma plugin](https://www.figma.com/community/plugin/1149614463603005908/Simple-Icons) <img src="https://cdn.simpleicons.org/figma/000/fff" alt="Figma" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) |  |   | | ||||
| | [Flutter package](https://pub.dev/packages/simple_icons) <img src="https://cdn.simpleicons.org/flutter/000/fff" alt="Flutter" align=left width=24 height=24> | [@jlnrrg](https://github.com/jlnrrg) |  |  | | ||||
| | [Framer component](https://github.com/LitoMore/simple-icons-framer) <img src="https://cdn.simpleicons.org/framer/000/fff" alt="Framer" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) |  |  | | ||||
| | [Hexo plugin](https://github.com/nidbCN/hexo-simpleIcons) <img src="https://cdn.simpleicons.org/hexo/000/fff" alt="Hexo" align=left width=24 height=24> | [@nidbCN](https://github.com/nidbCN/) |  |  | | ||||
| | [Home Assistant plugin](https://github.com/vigonotion/hass-simpleicons) <img src="https://cdn.simpleicons.org/homeassistant/000/fff" alt="Home Assistant" align=left width=24 height=24> | [@vigonotion](https://github.com/vigonotion/) |  | [](https://github.com/simple-icons/simple-icons/tree/7.14.0) | | ||||
| | [Hugo module](https://github.com/foo-dogsquared/hugo-mod-simple-icons) <img src="https://cdn.simpleicons.org/hugo/000/fff" alt="Hugo" align=left width=24 height=24> | [@foo-dogsquared](https://github.com/foo-dogsquared) |  |  | | ||||
| | [Java library](https://github.com/silentsoft/simpleicons4j) <img src="https://cdn.simpleicons.org/openjdk/000/fff" alt="OpenJDK" align=left width=24 height=24> | [@silentsoft](https://github.com/silentsoft) |  |  | | ||||
| | [Jetpack Compose library](https://github.com/DevSrSouza/compose-icons) <img src="https://cdn.simpleicons.org/jetpackcompose/000/fff" alt="Jetpack Compose" align=left width=24 height=24> | [@DevSrSouza](https://github.com/devsrsouza/) |  | [](https://github.com/simple-icons/simple-icons/tree/4.14.0) | | ||||
| | [Kirby plugin](https://github.com/runxel/kirby3-simpleicons) <img src="https://cdn.simpleicons.org/kirby/000/fff" alt="Kirby" align=left width=24 height=24> | [@runxel](https://github.com/runxel) |  |  | | ||||
| | [LaTeX package](https://github.com/ineshbose/simple-icons-latex) <img src="https://cdn.simpleicons.org/latex/000/fff" alt="LaTeX" align=left width=24 height=24> | [@ineshbose](https://github.com/ineshbose) |  |  | | ||||
| | [Laravel package](https://github.com/ublabs/blade-simple-icons) <img src="https://cdn.simpleicons.org/laravel/000/fff" alt="Laravel" align=left width=24 height=24> | [@adrian-ub](https://github.com/adrian-ub) |  |  | | ||||
| | [Leptos crate](https://github.com/Carlosted/leptos-icons) <img src="https://cdn.simpleicons.org/leptos/000/fff" alt="Leptos" align=left width=24 height=24> | [@Carlosted](https://github.com/Carlosted)  |  | [](https://github.com/simple-icons/simple-icons/tree/9.14.0) | | ||||
| | [Miro app](https://miro.com/marketplace/brand-icons/) <img src="https://cdn.simpleicons.org/miro/000/fff" alt="Miro" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) |  |  | | ||||
| | [Python package](https://github.com/sachinraja/simple-icons-py) <img src="https://cdn.simpleicons.org/python/000/fff" alt="Python" align=left width=24 height=24> | [@sachinraja](https://github.com/sachinraja) |  | [](https://github.com/simple-icons/simple-icons/tree/7.21.0) | | ||||
| | [Raycast extension](https://www.raycast.com/litomore/simple-icons) <img src="https://cdn.simpleicons.org/raycast/000/fff" alt="Raycast" align=left width=24 height=24> | [@LitoMore](https://github.com/LitoMore) |  |  | | ||||
| | [React package](https://github.com/icons-pack/react-simple-icons) <img src="https://cdn.simpleicons.org/react/000/fff" alt="React" align=left width=24 height=24> | [@wootsbot](https://github.com/wootsbot) |  |  | | ||||
| | [Ruby gem](https://rubygems.org/gems/simple-icons-rails) <img src="https://cdn.simpleicons.org/rubygems/000/fff" alt="Ruby" align=left width=24 height=24> | [@thepew](https://github.com/the-pew-inc) |  |  | | ||||
| | [Solid package](https://github.com/x64Bits/solid-icons) <img src="https://cdn.simpleicons.org/solid/000/fff" alt="Solid" align=left width=24 height=24> | [@x64Bits](https://github.com/x64Bits) |  | [](https://github.com/simple-icons/simple-icons/tree/9.0.0) | | ||||
| | [Stream Deck icon pack](https://github.com/mackenly/simple-icons-stream-deck) <img src="https://cdn.simpleicons.org/elgato/000/fff" alt="Stream Deck" align=left width=24 height=24> | [@mackenly](https://github.com/mackenly) |  |  | | ||||
| | [Svelte package](https://github.com/icons-pack/svelte-simple-icons) <img src="https://cdn.simpleicons.org/svelte/000/fff" alt="Svelte" align=left width=24 height=24> | [@wootsbot](https://github.com/wootsbot) |  |  | | ||||
| | [Vue 3 package](https://github.com/wyatt-herkamp/vue3-simple-icons) <img src="https://cdn.simpleicons.org/vuedotjs/000/fff" alt="Vue" align=left width=24 height=24> | [@wyatt-herkamp](https://github.com/wyatt-herkamp) |  |  | | ||||
| | [Vue package](https://github.com/mainvest/vue-simple-icons) <img src="https://cdn.simpleicons.org/vuedotjs/000/fff" alt="Vue" align=left width=24 height=24> | [@noahlitvin](https://github.com/noahlitvin) |  |  | | ||||
| | [Webflow app](https://webflow.com/apps/detail/simple-icons) <img src="https://cdn.simpleicons.org/webflow/000/fff" alt="Webflow" align=left width=24 height=24> | [@diegoliv](https://github.com/diegoliv) |  |  | | ||||
| | [WordPress plugin](https://wordpress.org/plugins/simple-icons/) <img src="https://cdn.simpleicons.org/wordpress/000/fff" alt="WordPress" align=left width=24 height=24> | [@tjtaylo](https://github.com/tjtaylo) |  | [](https://github.com/simple-icons/simple-icons/tree/4.25.0) | | ||||
| 
 | ||||
| > [!IMPORTANT]\ | ||||
| > From our next scheduled major release (v12, releasing on May 26, 2024), we will begin removing third-party extensions from the above list that are not up to date with at least our previous major release.\ | ||||
| > For example, when v12 is released, we will remove any extensions that don't support `v11.0.0` or higher.\ | ||||
| > Please create a PR to update the version number of your extension in this README following each update of your extension. | ||||
| Maintain a library? [Submit a PR][open-pr] to include it in the list above. | ||||
| 
 | ||||
| ## Contribute | ||||
| 
 | ||||
| @ -198,6 +194,7 @@ echo file_get_contents('path/to/package/icons/simpleicons.svg'); | ||||
| Information describing how to contribute can be found in the file [CONTRIBUTING.md](https://github.com/simple-icons/simple-icons/blob/develop/CONTRIBUTING.md) | ||||
| 
 | ||||
| [slug]: https://github.com/simple-icons/simple-icons/blob/master/slugs.md | ||||
| [open-pr]: https://github.com/simple-icons/simple-icons/compare | ||||
| 
 | ||||
| ## Contributors | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										35
									
								
								sdk.mjs
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								sdk.mjs
									
									
									
									
									
								
							| @ -196,8 +196,39 @@ export const getThirdPartyExtensions = async ( | ||||
|   ), | ||||
| ) => | ||||
|   normalizeNewlines(await fs.readFile(readmePath, 'utf8')) | ||||
|     .split('## Third-Party Extensions\n\n')[1] | ||||
|     .split('\n\n', 1)[0] | ||||
|     .split('## Third-Party Extensions')[1] | ||||
|     .split('\n\n')[2] | ||||
|     .split('\n') | ||||
|     .slice(2) | ||||
|     .map((line) => { | ||||
|       let [module, author] = line.split(' | '); | ||||
|       module = module.split('<img src="')[0]; | ||||
|       return { | ||||
|         module: { | ||||
|           name: /\[(.+)]/.exec(module)[1], | ||||
|           url: /\((.+)\)/.exec(module)[1], | ||||
|         }, | ||||
|         author: { | ||||
|           name: /\[(.+)]/.exec(author)[1], | ||||
|           url: /\((.+)\)/.exec(author)[1], | ||||
|         }, | ||||
|       }; | ||||
|     }); | ||||
| 
 | ||||
| /** | ||||
|  * Get information about third party libraries from the README table. | ||||
|  * @param {String} readmePath Path to the README file | ||||
|  * @returns {Promise<ThirdPartyExtension[]>} Information about third party libraries | ||||
|  */ | ||||
| export const getThirdPartyLibraries = async ( | ||||
|   readmePath = path.join( | ||||
|     getDirnameFromImportMeta(import.meta.url), | ||||
|     'README.md', | ||||
|   ), | ||||
| ) => | ||||
|   normalizeNewlines(await fs.readFile(readmePath, 'utf8')) | ||||
|     .split('## Third-Party Libraries')[1] | ||||
|     .split('\n\n')[2] | ||||
|     .split('\n') | ||||
|     .slice(2) | ||||
|     .map((line) => { | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| import {strict as assert} from 'node:assert'; | ||||
| import {test} from 'mocha'; | ||||
| import {getThirdPartyExtensions} from '../sdk.mjs'; | ||||
| import {getThirdPartyExtensions, getThirdPartyLibraries} from '../sdk.mjs'; | ||||
| 
 | ||||
| test('README third party extensions must be alphabetically sorted', async () => { | ||||
|   const thirdPartyExtensions = await getThirdPartyExtensions(); | ||||
| @ -17,3 +17,19 @@ test('README third party extensions must be alphabetically sorted', async () => | ||||
|     'Wrong alphabetical order of third party extensions in README.', | ||||
|   ); | ||||
| }); | ||||
| 
 | ||||
| test('README third party libraries must be alphabetically sorted', async () => { | ||||
|   const thirdPartyLibraries = await getThirdPartyLibraries(); | ||||
|   assert.ok(thirdPartyLibraries.length > 0); | ||||
| 
 | ||||
|   const thirdPartyLibrariesNames = thirdPartyLibraries.map( | ||||
|     (library) => library.module.name, | ||||
|   ); | ||||
| 
 | ||||
|   const expectedOrder = [...thirdPartyLibrariesNames].sort(); | ||||
|   assert.deepEqual( | ||||
|     thirdPartyLibrariesNames, | ||||
|     expectedOrder, | ||||
|     'Wrong alphabetical order of third party libraries in README.', | ||||
|   ); | ||||
| }); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user