All Projects → nuxt-community → Svg Sprite Module

nuxt-community / Svg Sprite Module

Licence: mit
Optimize SVG files and combine them into sprite

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Svg Sprite Module

Vue Svg Inline Loader
Webpack loader used for inline replacement of SVG images with actual content of SVG files in Vue projects.
Stars: ✭ 105 (-43.85%)
Mutual labels:  nuxtjs, svg, sprites
Ikonate
Fully customisable & accessible vector icons
Stars: ✭ 3,392 (+1713.9%)
Mutual labels:  svg, sprites
Postcss Sprites
Generate sprites from stylesheets.
Stars: ✭ 402 (+114.97%)
Mutual labels:  svg, sprites
Sprites As A Service
Generate your personal 8-bit avatars using Cellular Automata, a mathematical model that simulates life, survival, and extinction
Stars: ✭ 177 (-5.35%)
Mutual labels:  nuxtjs, sprites
Nuxt Optimized Images
🌅🚀 Automatically optimizes images used in Nuxt.js projects (JPEG, PNG, SVG, WebP and GIF).
Stars: ✭ 717 (+283.42%)
Mutual labels:  nuxtjs, svg
Teenyicons
Tiny minimal 1px icons designed to fit in the smallest places.
Stars: ✭ 1,631 (+772.19%)
Mutual labels:  svg, sprites
Nuxt Svg Loader
SVGs as components, also on the server side!
Stars: ✭ 125 (-33.16%)
Mutual labels:  nuxtjs, svg
Oshmi
SCADA HMI for substations and automation applications.
Stars: ✭ 180 (-3.74%)
Mutual labels:  svg
Polymorph
Get Your SVG into Shape!
Stars: ✭ 185 (-1.07%)
Mutual labels:  svg
Blade Heroicons
A package to easily make use of Heroicons in your Laravel Blade views.
Stars: ✭ 173 (-7.49%)
Mutual labels:  svg
Nuxt Client Init Module
Provide client version of nuxtServerInit
Stars: ✭ 176 (-5.88%)
Mutual labels:  nuxtjs
Nuxt Netlify Cms Starter Template
⚡ Build server-less, static websites with Vue.js and Netlify CMS.
Stars: ✭ 186 (-0.53%)
Mutual labels:  nuxtjs
Visx
🐯 visx | visualization components
Stars: ✭ 14,544 (+7677.54%)
Mutual labels:  svg
Aseprite
Animated sprite editor & pixel art tool (Windows, macOS, Linux)
Stars: ✭ 14,832 (+7831.55%)
Mutual labels:  sprites
Jfreesvg
A fast, lightweight Java library for creating Scalable Vector Graphics (SVG) output.
Stars: ✭ 182 (-2.67%)
Mutual labels:  svg
Feathericon
simply generic vector icon collection - including sketch file, svg files, and font files.
Stars: ✭ 178 (-4.81%)
Mutual labels:  svg
Chartist Js
Simple responsive charts
Stars: ✭ 12,731 (+6708.02%)
Mutual labels:  svg
Portfolio Template
A beautiful minimal and accessible portfolio template for Developers. Give it a star 🌟 if you find it useful.
Stars: ✭ 175 (-6.42%)
Mutual labels:  svg
Svgs
svgs is a compatiblity layer between svg and react-native-svg
Stars: ✭ 182 (-2.67%)
Mutual labels:  svg
Weather Underground Icons
Weather Underground Icons ( PNG & SVG )
Stars: ✭ 186 (-0.53%)
Mutual labels:  svg

SVG Sprite Module

npm (scoped with tag) npm

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/

⚠️ 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.

🌈 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.

Installation

yarn add @nuxtjs/svg-sprite
# or
npm i @nuxtjs/svg-sprite

Usage

Add @nuxtjs/svg-sprite to buildModules section of nuxt.config.js:

{
  buildModules: [
    '@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.

Options

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 {
  buildModules: ['@nuxtjs/svg-sprite'],
  svgSprite: {
    input: '~/assets/svg/'
  }
}

Props

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>

Integrations

Storybook

This module provides a story to list and search available icons of your project. You can see stories under stories directory. If you are using @nuxtjs/storybook you can see the SvgSprites stories under Modules section in your storybook. Sprites will show in your Storybook, unless you disable/hide the story using Storybook's modules option

Development

  • Clone this repository
  • Install dependencies using yarn install or npm install
  • Start development server using npm run dev

You can also contribute directly with CodeSandBox: https://codesandbox.io/s/github/nuxt-community/svg-sprite-module/

License

MIT License Copyright (c) Nuxt Community - Ahad Birang

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].