Code Monkey home page Code Monkey logo

material-file-icons's Introduction

material-file-icons

npm build install size

Beautiful material style file type icons packaged in a single JavaScript file.

Source of icons is the Material Icon Theme for VS Code. All credit for icon design should go there. This is also the place for placing requests for adding new icons.

Version 1.x of this library was React specific, since 2.0 this library is made to be framework agnostic.

Features

  • Zero dependencies.
  • Contains 377 unique icons.
  • Can automatically select icon based on file name.
  • Uses SVG images that can scale to any dimensions.
  • All icons are bundled in a single file of about 475 kB minified.
  • Although primarily focused on file types used in software development, other common file types are also included.

Install

npm install --save material-file-icons

Usage Examples

React:

import { getIcon } from 'material-file-icons';

function FileIcon({ filename, style, className }) {
  return <div 
    style={style}
    className={className}
    dangerouslySetInnerHTML={{ __html: getIcon(filename).svg }}
  />;
}

export default FileIcon;

Vue:

<template>
  <div v-html="svg"></div>
</template>

<script>
  import { getIcon } from 'material-file-icons';
  export default {
    name: "FileIcon",
    props: ["filename"],
    computed: {
      svg: function () {
        return getIcon(this.filename).svg;
      }
    }
  };
</script>

Svelte:

<script>
  import { getIcon } from 'material-file-icons';
  export let filename;
  $: selectedIcon = getIcon(filename);
</script>

<div class={$$props.class} style={$$props.style}>
  {@html selectedIcon.svg}
</div>

API

Icon

The Icon type definition

{
  name: string,               // The name of the icon e.g. 'javascript'.
  svg: string,                // The actual SVG content '<svg ...'.
  extensions: Array<string>?, // List of extensions this Icon should be applied to.
  files: Array<string>?       // List of complete filenames this icon should be applied to.
}

defaultIcon: Icon

The default file icon.

getIcon(filename: string): Icon

Returns an icon based on filename input.

getAllIcons(): Array<Icon>

Returns an array of all available icons.

Icons

License

MIT

material-file-icons's People

Contributors

simonnilsson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

nijatrajab

material-file-icons's Issues

Missing icons

Hi Simonnilsson!

Thank you for your work ๐Ÿ˜„

Any chance I can get you to pull in some of the latest icons from the material icon theme? It seems to be missing PHP

Cheers!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.