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

iconfont-downloader

v0.0.4

Published

iconfont图标包下载器

Downloads

13

Readme

iconfont-downloader

iconfont图标包下载工具

安装

pnpm i iconfont-downloader
# yarn add iconfont-downloader
# npm i iconfont-downloader

使用

下载字体包

import { download } from 'iconfont-downloader'

download({
  pid: '123456',
  token: 'abc123',
  destDir: './fonts',
  picks: {
    css: true,
  }
})

参数

  • token(string): iconfont的token,登录iconfont后,打开F12控制台,名为EGG_SESS_ICONFONT的cookie即为该token
  • pid(string): 项目id
  • destDir(string): 下载的文件存放的目录
  • picks(DownloadPicks): 挑选图标包中的文件类型
interface DownloadPicks {
  css?: boolean
  font?: boolean
  svg?: boolean
}

返回值

Promise<Readable | void>

如果不需要将文件下载到指定目录里,可以不传递 destDir 参数,这样,函数会返回一个可读的流:

const stream = await download({
  pid: '123456',
  token: 'abc123',
})
// 使用这个流..

下载SVG包

iconfont的图标包是不包含每个图标的单独svg文件的,而是将所有svg代码置于一个 .js 文件中,然后通过 symbol 引用的方式去使用。

但是,有时候我们需要所有的单独svg文件,此时,使用以下方法就非常方便了。

下面的代码演示了,将图标包的svg解析出来,并以一个一个文件的形式存放在 svgs 目录下。

import { downloadSvgs } from 'iconfont-downloader'

downloadSvgs({
  pid: '123456',
  token: 'abc123',
  destDir: './svgs'
})

参数

  • token(string): iconfont登录token
  • pid(string): 项目ID
  • destDir(string): 目标目录
  • filename((iconName: string) => string): svg文件名重写

同样,此方法如果不设置 destDir ,也会返回一个包含了所有svg文件的压缩包流。