npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mdi-stylus

v0.0.5

Published

material design icons port to stylus

Downloads

7

Readme

mdi-stylus

Material Design Icons port to stylus

Build Status

allowing icons to be selectively chosen or included all at once.

Installation

npm install mdi-stylus --save

Initialization

Initial( if you need custom fonts)

You need to install font forge and set to environment variables or use the node engine option if it work for you

Run git submodule update to get latest material design svg files, you can add new svg icons as needed

Run grunt to compile template_styl_variables and new generated icons

Set up compiler to use mdi-stylus

Use gulp, grunt, or similar and configure your stylus to include mdi-stylus in the use option. For example, with gulp:

var mdiStylus = require("mdi-stylus");

gulp.task('main', function () {
  return gulp.src('./templates/stylus/main.styl')
    .pipe(stylus({
      use: [
        mdiStylus(),
      ],
      compress: false,
    }))
    .pipe(gulp.dest('./dist'))
    .pipe(livereload());
});

Then import mdi-stylus in your stylus file.

@import 'mdi-stylus'

Configuration

The variables used by mdi-stylus are set by the library only if not already set. That means to override them you must set them before importing mdi-stylus.

See variables.styl for full details.

Font path

The font path is set to ../fonts by default, but this may not be suitable for your project. For example, if the fonts will be available at paths like /fonts/materialdesignicons-webfont.woff, it can be overridden with stylus code like the following:

$mdi-font-path = '/fonts'
@import 'mdi-stylus'

The fonts can be moved to this location (usually public or dist) as part of your build process; for example with gulp you can do:

var filesToMove = [
  './node_modules/mdi/fonts/**/*.*',
];

gulp.task('move', ['clean'], function () {
  return gulp.src(filesToMove)
    .pipe(gulp.dest('./dist/fonts'));
});

As alternative example, if you want the fonts in a subdirectory and your server follows symlinks, you can do:

cd dist/fonts
ln -s ../../node_modules/mdi/fonts material-design-icons

And then configure $mdi-font-path = '/fonts/material-design-icons' in your stylus.

Usage

// Use individual icons
.{$mdi-css-prefix}-star
  mdi-icon 'star'

// Or import a list of icons in a loop
.{$mdi-css-prefix}
  for $icon in star account adjust
    &-{$icon}
      mdi-icon $icon

// Or import all icons
import-all-icons()

Test

npm install
gulp

Important notes

  • The icon null has been renamed to icon-null, to work around a parse error caused by stylus interpreting it as null.