Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@nuxtjs/svg-sprite
Advanced tools
Optimized and Easy way to use SVG files in Nuxt.js
Sprites help increase speed, maintain a consistent development workflow, and make the creation of icons much faster. SVG sprites are typically created using icons of a similar shape or form whereas larger scale graphics are one-off applications.
Demo: https://codesandbox.io/s/github/nuxt-community/svg-sprite-module/
:warning: NOTE: SVG Sprites does not work on IE, if you wish to support IE you could use svg4everybody. Take a look at this issue to see how.
:rainbow: NOTE: If you wish to load single SVG icon and you don't want to create sprites, use Nuxt SVG Module. SVG module for Nuxt.js, allows you to import .svg files in multiple ways depending on the resource query you provide.
yarn add @nuxtjs/svg-sprite
# or
npm i @nuxtjs/svg-sprite
Add @nuxtjs/svg-sprite
to modules section of nuxt.config.js
:
{
modules: [
'@nuxtjs/svg-sprite',
],
svgSprite: {
// manipulate module options
}
}
Place your svg files in ~/assets/sprite/svg/
, say sample.svg
and use your image with globally registered svg-icon
component:
<svg-icon name="sample" />
To create different sprites, create custom directory inside ~/assets/sprite/svg/
and put your svg files inside it and place directory tile before icon name (example: ~/assets/sprite/svg/my-sprite/my-image.svg
):
<svg-icon name="my-sprite/my-image" />
Module create a page that list all of icons for you, by default you can see this page in /_icons
path.
Note: This page creates in dev
mode, So you can't see it in production.
Module default options:
Option | Default | Description |
---|---|---|
input | ~/assets/sprite/svg | Directory of original svg files |
output | ~/assets/sprite/gen | Directory to store generated sprites |
defaultSprite | icons | Name of default sprite (default sprite consist of all svgs that place directly inside input directory) |
elementClass | icon | global class of all <svg-icon> instances |
spriteClassPrefix | sprite- | Prefix of sprite specific classes |
publicPath | null | Specifies a custom public path for the sprites |
iconsPath | _icons | Custom path for icons list page (In order to disable this page, pass false or null to this option) |
svgoConfig | null | Custom config object for SVGO, How to customize SVGO config |
You can update them with the svgSprite
option in nuxt.config.js
:
export default {
modules: ['@nuxtjs/svg-sprite'],
svgSprite: {
input: '~/assets/svg/'
}
}
Prop | Description |
---|---|
name | icon path with format SPRITE_NAME/ICON_NAME , SPRITE_NAME can be omitted for default sprite |
title | Accessibility title for icon, this props will transform to <title> tag inside <svg> |
desc | Accessibility description for icon, this props will transform to <desc> tag inside <svg> |
yarn install
or npm install
npm run dev
You can also contribute directly with CodeSandBox: https://codesandbox.io/s/github/nuxt-community/svg-sprite-module/
MIT License Copyright (c) Nuxt Community - Ahad Birang
FAQs
Easy way to use and optimize svg files in Nuxt.js
The npm package @nuxtjs/svg-sprite receives a total of 5,201 weekly downloads. As such, @nuxtjs/svg-sprite popularity was classified as popular.
We found that @nuxtjs/svg-sprite demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.