Socket
Book a DemoInstallSign in
Socket

@vgrid/sass-inline-svg

Package Overview
Dependencies
Maintainers
5
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vgrid/sass-inline-svg

A sass function that inlines svg files

2.0.1
latest
Source
npmnpm
Version published
Weekly downloads
1K
-27.77%
Maintainers
5
Weekly downloads
 
Created
Source

Build Status Coverage Status Dependency Status devDependency Status

sass-inline-svg

Install

$ npm install --save-dev sass-inline-svg

Usage

You can use this function in sass or any project that depends on sass. The only thing you need to do to make this work is add the inlinerfunction to the functions option.

You should initialize the inliner with a basepath where it will look for the svg files.

sass

var sass = require('sass');
var inliner = require('sass-inline-svg')

sass.render({
  data: '.logo-icon{ background: svg("logo.svg")}',
  functions: {
    "svg($path, $selectors: null)": inliner('./', [options])
  }
});

sass CLI usage

$ sass --functions=node_modules/sass-inline-svg/default [other sass arguments]

This is equivalent to specifying the following:

renderOptions = {
  functions: {
    'svg($path, $selectors: null)': inliner('./', {}),
    'inline-svg($path, $selectors: null)': inliner('./', {})
  }
}

grunt-sass

var inliner = require('sass-inline-svg')

grunt.initConfig({
    sass: {
        options: {
            functions: {
                "svg($path, $selectors: null)": inliner('./', [options])
            }
        },
        ...
    }
})

options

optimize (default false)

{optimize: true} uses svgo internally to optmize the svg.

encodingFormat (default: base64)

base64 will encode the SVG with base64, while uri will do a minimal URI-encoding of the svg -- uri is always smaller, and has good browser support as well.

svg transformation

The inliner accepts a second argument, a sass-map, that describes a css like transformation. The first keys of this map are css-selectors. Their values are also sass-maps that holds a key-value store of the svg-attribute transformation you want to apply to the corresponding selector.

.logo-icon {
  background: svg("logo.svg", (path: (fill: green), rect: (stroke: white)));
}

In this example path and rect are selectors and fill: green and stroke: white are the associated applied attributes.

License

MIT

Keywords

sass

FAQs

Package last updated on 27 Apr 2025

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.