# extendify/3.1.1/src/Recommendations/utils/extract-plugin-slugs.js

Extendify, version 3.1.1. 22 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.1.1/code/src/Recommendations/utils/extract-plugin-slugs.js
- Raw: https://pluginprobe.com/plugins/extendify/3.1.1/raw/src/Recommendations/utils/extract-plugin-slugs.js
- Modified: 2025-06-03T15:26:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.1.1/code/src/Recommendations/utils/extract-plugin-slugs.js#L10-L20`.

```javascript
export const extractPluginSlugs = (container) => {
	if (!container || !container.querySelectorAll) {
		return [];
	}

	const pluginSlugs = container
		.querySelectorAll('.plugin-card')
		.values()
		.map((element) => {
			// Extracts the plugin slug from the cards class.
			// The classes look like `plugin-card plugin-card-${pluginSlug}`
			const classAttr = element.getAttribute('class');
			const pluginRegex = /^plugin-card plugin-card-([\w-]*)$/;
			const pluginSlug = classAttr.match(pluginRegex)?.[1];
			return pluginSlug;
		})
		.filter(Boolean);

	// Transforming into array because `.values()` returns an iterator.
	return Array.from(pluginSlugs);
};

```
