open-index/open-npm huggingface dataset:
npm package: @guaneagler/area-data
Description: 中国省、市、区数据(含港澳台)
Author: pomysky@gmail.com
Latest version: 6.0.0

# area-data
中国行政区域数据(含港澳台)

## v6
更新2018年省市区数据

## v5
* 更改新的数据来源：[area-puppeteer](https://github.com/dwqs/area-puppeteer)
* 在实用性上对数据作了格式化处理，见[area-puppeteer#format.js](https://github.com/dwqs/area-puppeteer/blob/master/format.js#L16)
* 新的导出会有两份数据：`pca.js` 和 `pcaa.js`，前者仅包含省市数据，后者包含省市(县)区数据

## v3.1
增加广东省中山市和东莞市的区镇数据(参考京东 pc 端的地区选择)
## v3
增加港澳台数据(参考京东 pc 端的地区选择)，v3之后不再提供或更新街道数据

## v2
v2版本中，`data.js` 中不再包含街道数据，以减小打包体积。格式化的街道数据单独存放在 `street.js` 中，单独暴露全局变量 `STREETS`。可通过[该CDN链接](http://onasvjoyz.bkt.clouddn.com/street.js)单独引入，或者下载该文件自行引入。

## v1
v1版本中，`data.js` 包含省市区以及街道数据。

## Installation
Install the pkg with npm:

```
npm install area-data --save
```

or yarn

```
yarn add area-data
```

or bower

```
bower install area-data
```

## 获取数据
```
// v5之前的版本
import AreaData from 'area-data';

// v5及之后的版本
import { pca, pcaa } from 'area-data';
// 可以根据需要按需引入：
import PCA from 'area-data/pca'; 
import PCAA from 'area-data/pcaa'; 

pca['86'] // 等同于 AreaData['86']
// 所有省份：{'110000': '北京市', '120000': '天津市', '130000': '河北省', ...}

pcaa['130000'] // 等同于 AreaData['130000']
// 对应省份的所有城市：{'130100': '石家庄市', '130200': '唐山市', '130300': '秦皇岛市', ...}

pcaa['130200'] // 等同于 AreaData['130200']
// 对应市的所有县区：{'130201': '市辖区', '130202': '路南区', '130203': '路北区', ...}

### v1
AreaData['130202']
// 对应县区的所有街道：{'130202001000': '学院南路街道', '130202002000': '友谊街道', ...}
```

> 官方数据(截止到2016.07.31): [城乡区域划分](http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2016/index.html)

**数据来源：** 最新省市区数据来自 [area-puppeteer](https://github.com/dwqs/area-puppeteer/).

## LICENSE

MIT
npm package: @guanfantech/commitlint-config
Description: commitlint config for guanfantech
Author: guanfantech
Latest version: 1.0.2

# 安裝

```
yarn add --dev @guanfantech/commitlint-config
```

# 用法

在專案根目錄建立 `commitlint.config.js`，接著導入設定檔

```js
module.exports = require("@guanfantech/commitlint-config");
```
npm package: @guanfantech/prettier-config
Description: prettier config for guanfantech
Author: guanfantech
Latest version: 1.0.0

# 安裝

```
yarn add @guanfantech/prettier-config
```

# 用法

在專案根目錄建立 `.prettierrc.js`，接著導入設定檔

```js
module.exports = {
  ...require('@guanfantech/prettier-config'),
}
```

如果不需要擴充其他配置的化，可以直接

```js
module.exports = require('@guanfantech/prettier-config')
```
npm package: @guanfantech/standard-version-config
Description: standard-version config for guanfantech
Author: guanfantech
Latest version: 1.0.0

# 安裝

```
yarn add --dev @guanfantech/standard-version-config
```

# 用法

在專案根目錄建立 `.versionrc.js`，接著導入設定檔

```js
module.exports = require("@guanfantech/standard-version-config");
```
npm package: @guanghechen/asset-core-parser
Description: Asset parser core.
Author: guanghechen
Latest version: 1.0.0-alpha.4

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-core-parser#readme">@guanghechen/asset-core-parser</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-parser">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-core-parser.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-parser">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-core-parser.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-parser">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-core-parser.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-core-parser"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-core-parser
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-core-parser
  ```

## Usage
npm package: @guanghechen/asset-core-plugin
Description: Asset parser core.
Author: guanghechen
Latest version: 1.0.0-alpha.7

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-core-plugin#readme">@guanghechen/asset-core-plugin</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-plugin">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-core-plugin.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-plugin">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-core-plugin.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-plugin">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-core-plugin.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-core-plugin"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-core-plugin
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-core-plugin
  ```

## Usage
npm package: @guanghechen/asset-core-service
Description: Asset service core.
Author: guanghechen
Latest version: 1.0.0-alpha.7

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-core-service#readme">@guanghechen/asset-core-service</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-service">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-core-service.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-service">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-core-service.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-core-service">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-core-service.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-core-service"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-core-service
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-core-service
  ```

## Usage
npm package: @guanghechen/asset-file
Description: file asset
Author: lemon-clown
Latest version: 1.0.0-alpha.2

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-file#readme">@guanghechen/asset-file</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-file">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-file.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-file">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-file.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-file">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-file.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-file"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-file
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-file
  ```

## Usage
npm package: @guanghechen/asset-markdown
Description: markdown asset
Author: lemon-clown
Latest version: 1.0.0-alpha.2

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-markdown#readme">@guanghechen/asset-markdown</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-markdown.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-markdown.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-markdown.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-markdown"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-markdown
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-markdown
  ```

## Usage
npm package: @guanghechen/asset-markdown-parser
Description: parse markdown to component props ast
Author: lemon-clown
Latest version: 1.0.0-alpha.2

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-markdown-parser#readme">@guanghechen/asset-markdown-parser</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown-parser">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-markdown-parser.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown-parser">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-markdown-parser.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-markdown-parser">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-markdown-parser.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-markdown-parser"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-markdown-parser
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-markdown-parser
  ```

## Usage
npm package: @guanghechen/asset-parser-file
Description: file asset
Author: guanghechen
Latest version: 1.0.0-alpha.7

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-parser-file#readme">@guanghechen/asset-parser-file</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-file">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-parser-file.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-file">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-parser-file.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-file">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-parser-file.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-parser-file"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-parser-file
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-parser-file
  ```

## Usage
npm package: @guanghechen/asset-parser-markdown
Description: markdown asset
Author: guanghechen
Latest version: 1.0.0-alpha.7

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/asset-parser-markdown#readme">@guanghechen/asset-parser-markdown</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-markdown">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/asset-parser-markdown.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-markdown">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/asset-parser-markdown.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/asset-parser-markdown">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/asset-parser-markdown.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/asset-parser-markdown"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/asset-parser-markdown
  ```

* yarn

  ```bash
  yarn add @guanghechen/asset-parser-markdown
  ```

## Usage
npm package: @guanghechen/blob-helper
Description: Utility funcs for handling blob objects (Such as download / create a blob from dataUrl)
Author: guanghechen
Latest version: 1.9.8

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/node-scaffolds/tree/main/packages/blob-helper#readme">@guanghechen/blob-helper</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/blob-helper">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/blob-helper.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/blob-helper">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/blob-helper.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/blob-helper">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/blob-helper.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/blob-helper"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


`blob-helper` is a colorful logger tool based on [chalk][] (so you can use a
lot of colors), and can be easily integrated into [commander.js][] (so you can
use command line parameters to customized the logger's behavior).


## Install

* npm

  ```bash
  npm install --save @guanghechen/blob-helper
  ```

* yarn

  ```bash
  yarn add @guanghechen/blob-helper
  ```

## Usage

* `convertDataURLToBlob(dataURL: string): Blob`: Creates and returns a blob from
  a data URL (either base64 encoded or not).


* `downloadBlob(blob: Blob, filename: string): void`: emit a download task in
  browser.


[homepage]: https://github.com/guanghechen/node-scaffolds/tree/main/packages/blob-helper#readme
npm package: @guanghechen/blog-api
Description: blog api
Author: lemon-clown
Latest version: 1.0.0-alpha.2

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/yozora/tree/main/packages/blog-api#readme">@guanghechen/blog-api</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/blog-api">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/blog-api.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/blog-api">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/blog-api.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/blog-api">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/blog-api.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/blog-api"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

## Install

* npm

  ```bash
  npm install --save @guanghechen/blog-api
  ```

* yarn

  ```bash
  yarn add @guanghechen/blog-api
  ```

## Usage
npm package: @guanghechen/config.types
Description: <header>   <h1 align="center">     <a href="https://github.com/guanghechen/sora/tree/@guanghechen/config.types@2.0.0/packages/config.types#readme">@guanghechen/config.types</a>   </h1>   <div align="center">     <a href="https://www.npmjs.com/package/@gua
Author: guanghechen
Latest version: 2.0.0

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/sora/tree/@guanghechen/config.types@2.0.0/packages/config.types#readme">@guanghechen/config.types</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/config.types">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/config.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/config.types">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/config.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/config.types">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/config.types.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/config.types"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

TypeScript type definitions for @guanghechen/config.

## Install

- npm

  ```bash
  npm install --save @guanghechen/config.types
  ```

- yarn

  ```bash
  yarn add @guanghechen/config.types
  ```

## Usage

[homepage]:
  https://github.com/guanghechen/sora/tree/@guanghechen/config.types@2.0.0/packages/config.types#readme
npm package: @guanghechen/disposable.types
Description: Disposable related types.
Author: guanghechen
Latest version: 2.0.0

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/sora/tree/@guanghechen/disposable.types@2.0.0/packages/disposable.types#readme">@guanghechen/disposable.types</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/disposable.types">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/disposable.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/disposable.types">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/disposable.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/disposable.types">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/disposable.types.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/disposable.types"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

Disposable related TypeScript type definitions.

## Install

- npm

  ```bash
  npm install --save @guanghechen/disposable.types
  ```

- yarn

  ```bash
  yarn add @guanghechen/disposable.types
  ```

## Usage

[homepage]:
  https://github.com/guanghechen/sora/tree/@guanghechen/disposable.types@2.0.0/packages/disposable.types#readme
npm package: @guanghechen/dom-blob
Description: Utilities for processing blob objects (i.e., download / create).
Author: guanghechen
Latest version: 2.3.12

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/react-kit/tree/@guanghechen/dom-blob@2.3.11/packages/dom-blob#readme">@guanghechen/dom-blob</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/dom-blob">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/dom-blob.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/dom-blob">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/dom-blob.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/dom-blob">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/dom-blob.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/dom-blob"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


Utilities for processing blob objects (i.e., download / create).


## Install

* npm

  ```bash
  npm install --save @guanghechen/dom-blob
  ```

* pnpm

  ```bash
  pnpm add @guanghechen/dom-blob
  ```

## Usage

* `convertDataURLToBlob(dataURL: string): Blob`: Creates and returns a blob from
  a data URL (either base64 encoded or not).


* `downloadBlob(blob: Blob, filename: string): void`: emit a download task in
  browser.


[homepage]: https://github.com/guanghechen/react-kit/tree/@guanghechen/dom-blob@2.3.11/packages/dom-blob#readme
npm package: @guanghechen/error.types
Description: types of @guanghechen/error
Author: guanghechen
Latest version: 2.0.0

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/sora/tree/@guanghechen/error.types@2.0.0/packages/error.types#readme">@guanghechen/error.types</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/error.types">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/error.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/error.types">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/error.types.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/error.types">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/error.types.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/error.types"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

TypeScript type definitions for error handling.

## Install

- npm

  ```bash
  npm install --save @guanghechen/error.types
  ```

- yarn

  ```bash
  yarn add @guanghechen/error.types
  ```

## Usage

[homepage]:
  https://github.com/guanghechen/sora/tree/@guanghechen/error.types@2.0.0/packages/error.types#readme
npm package: @guanghechen/eslint-config-jsx
Description: eslint config for jsx
Author: guanghechen
Latest version: 6.0.0-alpha.4

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/node-scaffolds/tree/@guanghechen/eslint-config-jsx@6.0.0-alpha.4/packages/eslint-config-jsx#readme">@guanghechen/eslint-config-jsx</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-jsx">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/eslint-config-jsx.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-jsx">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/eslint-config-jsx.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-jsx">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/eslint-config-jsx.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/eslint-config-jsx"
      />
    </a>
    <a href="https://github.com/eslint/eslint">
      <img
        alt="Eslint Version"
        src="https://img.shields.io/npm/dependency-version/@guanghechen/eslint-config-jsx/peer/eslint"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


Eslint config for jsx.

## Install

* npm

  ```bash
  npm install --save-dev @guanghechen/eslint-config-jsx
  ```

* yarn

  ```bash
  yarn add --dev @guanghechen/eslint-config-jsx
  ```

## Usage

* Use in .eslintrc.js

  ```javascript
  {
    extends: ['@guanghechen/jsx'],
  }
  ```


## Example

See [.eslintrc](https://github.com/guanghechen/node-scaffolds/tree/release-6.x.x/.eslintrc)

```json {5,29}
{
  "root": true,
  "extends": [
    "@guanghechen",
    "@guanghechen/jsx",
    "plugin:jest/recommended",
    "prettier"
  ],
  "plugins": ["import", "jest", "prettier"],
  "env": {
    "browser": true,
    "commonjs": true,
    "es6": true,
    "jest": true,
    "node": true
  },
  "rules": {
    "import/no-internal-modules": [
      2,
      {
        "allow": ["util"]
      }
    ]
  },
  "overrides": [
    {
      "files": ["**/*.ts", "**/*tsx"],
      "extends": [
        "@guanghechen/jsx",
        "@guanghechen/ts",
        "plugin:jest/recommended"
      ]
    }
  ]
}
```

## Related

* [@guanghechen/eslint-config][]
* [@guanghechen/eslint-config-ts][]


[homepage]: https://github.com/guanghechen/node-scaffolds/tree/@guanghechen/eslint-config-jsx@6.0.0-alpha.4/packages/eslint-config-jsx#readme
[@guanghechen/eslint-config]: https://www.npmjs.com/package/@guanghechen/eslint-config
[@guanghechen/eslint-config-jsx]: https://www.npmjs.com/package/@guanghechen/eslint-config-jsx
[@guanghechen/eslint-config-ts]: https://www.npmjs.com/package/@guanghechen/eslint-config-ts
npm package: @guanghechen/eslint-config-ts
Description: eslint config for ts project
Author: guanghechen
Latest version: 6.0.0-alpha.8

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/node-scaffolds/tree/@guanghechen/eslint-config-ts@6.0.0-alpha.8/packages/eslint-config-ts#readme">@guanghechen/eslint-config-ts</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-ts">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/eslint-config-ts.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-ts">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/eslint-config-ts.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/eslint-config-ts">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/eslint-config-ts.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/eslint-config-ts"
      />
    </a>
    <a href="https://github.com/eslint/eslint">
      <img
        alt="Eslint Version"
        src="https://img.shields.io/npm/dependency-version/@guanghechen/eslint-config-ts/peer/eslint"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


Eslint config for ts project.

## Install

* npm

  ```bash
  npm install --save-dev @guanghechen/eslint-config-ts
  ```

* yarn

  ```bash
  yarn add --dev @guanghechen/eslint-config-ts
  ```

## Usage

* Use in .eslintrc.js

  ```javascript
  {
    extends: ['@guanghechen/ts'],
  }
  ```

## Example

See [.eslintrc](https://github.com/guanghechen/node-scaffolds/tree/release-6.x.x/.eslintrc)


```json {28}
{
  "root": true,
  "extends": [
    "@guanghechen",
    "@guanghechen/jsx",
    "plugin:jest/recommended",
    "prettier"
  ],
  "plugins": ["import", "jest", "prettier"],
  "env": {
    "browser": true,
    "commonjs": true,
    "es6": true,
    "jest": true,
    "node": true
  },
  "rules": {
    "import/no-internal-modules": [
      2,
      {
        "allow": ["util"]
      }
    ]
  },
  "overrides": [
    {
      "files": ["**/*.ts", "**/*tsx"],
      "extends": [
        "@guanghechen/jsx",
        "@guanghechen/ts",
        "plugin:jest/recommended"
      ]
    }
  ]
}
```

## Related

* [@guanghechen/eslint-config][]
* [@guanghechen/eslint-config-jsx][]


[homepage]: https://github.com/guanghechen/node-scaffolds/tree/@guanghechen/eslint-config-ts@6.0.0-alpha.8/packages/eslint-config-ts#readme
[@guanghechen/eslint-config]: https://www.npmjs.com/package/@guanghechen/eslint-config
[@guanghechen/eslint-config-jsx]: https://www.npmjs.com/package/@guanghechen/eslint-config-jsx
[@guanghechen/eslint-config-ts]: https://www.npmjs.com/package/@guanghechen/eslint-config-ts
npm package: @guanghechen/event-bus
Description: A simple event bus.
Author: guanghechen
Latest version: 7.0.0

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/sora/tree/@guanghechen/event-bus@7.0.0/packages/event-bus#readme">@guanghechen/event-bus</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/event-bus">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/event-bus.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/event-bus">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/event-bus.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/event-bus">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/event-bus.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/event-bus"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

A simple event bus.

## Install

- npm

  ```bash
  npm install --save @guanghechen/event-bus
  ```

- yarn

  ```bash
  yarn add @guanghechen/event-bus
  ```


## Usage

- Basic

  ```typescript
  import type { IEvent, IEventHandler } from '@guanghechen/event-bus'
  import { EventBus } from '@guanghechen/event-bus'

  enum EventTypes {
    INIT = 'INIT',
    EXIT = 'EXIT',
  }

  const eventBus = new EventBus<EventTypes>()

  const handle: IEventHandler<EventTypes> = (evt: IEvent<EventTypes>) => {
    console.log('evt:', evt)
  }

  // Listen for specific event
  eventBus.on(EventTypes.INIT, handle)

  // Listen for specific event, and only need to be called once
  eventBus.once(EventTypes.INIT, handle)

  // Listen for all events
  eventBus.subscribe(handle, true)

  // Remove listener
  eventBus.removeListener(EventTypes.INIT, handle)

  // Remove subscriber
  eventBus.unsubscribe(handle)
  ```


[homepage]: https://github.com/guanghechen/sora/tree/@guanghechen/event-bus@7.0.0/packages/event-bus#readme
npm package: @guanghechen/fast-deep-equal
Description: The fastest deep equal with ES6 Map, Set and Typed arrays support.
Author: guanghechen
Latest version: 2.3.7

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/react-kit/tree/@guanghechen/fast-deep-equal@2.3.7/packages/fast-deep-equal#readme">@guanghechen/fast-deep-equal</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/fast-deep-equal">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/fast-deep-equal.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/fast-deep-equal">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/fast-deep-equal.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/fast-deep-equal">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/fast-deep-equal.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/fast-deep-equal"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


Inspired by https://github.com/epoberezkin/fast-deep-equal, re-publish cause it's not support ESM.


## Usage

* use within ESM.

  ```javascript
  import isEqual from '@guanghechen/fast-deep-equal'
  console.log(isEqual({foo: 'bar'}, {foo: 'bar'})); // true
  ```

* use within CommonJS.

  ```javascript
  const isEqual = require('@guanghechen/fast-deep-equal')
  console.log(isEqual({foo: 'bar'}, {foo: 'bar'})); // true
  ```
npm package: @guanghechen/file-split
Description: File helper
Author: guanghechen
Latest version: 2.0.0

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/sora/tree/@guanghechen/file-split@2.0.0/packages/file-split#readme">@guanghechen/file-split</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/file-split">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/file-split.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/file-split">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/file-split.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/file-split">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/file-split.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs"
        src="https://img.shields.io/badge/module_formats-cjs-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/file-split"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>

A collection of utility functions for handling files, such as split big file or merge multiple small
files.

## Install

- npm

  ```bash
  npm install --save @guanghechen/file-split
  ```

- yarn

  ```bash
  yarn add @guanghechen/file-split
  ```

## Usage

- `FileSplitter` (inspired by [file-split][])

  ```typescript
  import { FileSplitter } from '@guanghechen/file-split'
  import { calcFilePartItemsBySize } from '@guanghechen/filepart'

  async function splitFile(filepath: string): Promise<string[]> {
    const splitter = new FileSplitter()
    const parts = calcFilePartItemsBySize(filepath, 1024 * 1024 * 80) // 80MB per chunk
    const partFilepaths: string[] = await splitter.split(filepath, parts)
    return partFilepaths
  }

  splitFile('big-file.txt')
  ```

### Overview

|       Name       |                  Description                  |
| :--------------: | :-------------------------------------------: |
|  `FileSplitter`  | A utility class for splitting / merging files |

[homepage]:
  https://github.com/guanghechen/sora/tree/@guanghechen/file-split@2.0.0/packages/file-split#readme
[file-split]: https://github.com/tomvlk/node-file-split
npm package: @guanghechen/gatsby-yozora-images
Description: Transform markdown files to Yozora AST
Author: guanghechen
Latest version: 1.7.0-alpha.1
Deprecated: migrated to @yozora/gatsby-images

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/gatsby-scaffolds/tree/main/packages/gatsby-yozora-images#readme">@guanghechen/gatsby-yozora-images</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/gatsby-yozora-images">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/gatsby-yozora-images.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/gatsby-yozora-images">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/gatsby-yozora-images.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/gatsby-yozora-images">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/gatsby-yozora-images.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/gatsby-yozora-images"
      />
    </a>
    <a href="https://github.com/gatsbyjs/gatsby">
      <img
        alt="Gatsby Version"
        src="https://img.shields.io/npm/dependency-version/@guanghechen/rollup-config/peer/gatsby"
      />
    </a>
    <a href="https://github.com/facebook/jest">
      <img
        alt="Tested with Jest"
        src="https://img.shields.io/badge/tested_with-jest-9c465e.svg"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


Transform markdown files to Yozora AST. Inspired by [gatsby-transformer-remark](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-transformer-remark).

## Install

* npm

  ```bash
  npm install @guanghechen/gatsby-transformer-yozora @guanghechen/gatsby-yozora-images --save-dev
  ```

* yarn

  ```bash
  yarn add @guanghechen/gatsby-transformer-yozora @guanghechen/gatsby-yozora-images --dev
  ```

## Usage

Add configs in `gatsby-config.js`:

```javascript
// gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: '@guanghechen/gatsby-transformer-yozora',
      options: {

        plugins: [
          {
            resolve: '@guanghechen/gatsby-yozora-images',
            options: {},
          }
        ]
      }
    }
  ]
}
```


[homepage]: https://github.com/guanghechen/gatsby-scaffolds/tree/main/packages/gatsby-yozora-images#readme
npm package: @guanghechen/helper-blob
Description: Utilities for processing blob objects (i.e., download / create).
Author: guanghechen
Latest version: 3.0.2

<header>
  <h1 align="center">
    <a href="https://github.com/guanghechen/node-scaffolds/tree/release-3.x.x/packages/helper-blob#readme">@guanghechen/helper-blob</a>
  </h1>
  <div align="center">
    <a href="https://www.npmjs.com/package/@guanghechen/helper-blob">
      <img
        alt="Npm Version"
        src="https://img.shields.io/npm/v/@guanghechen/helper-blob.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/helper-blob">
      <img
        alt="Npm Download"
        src="https://img.shields.io/npm/dm/@guanghechen/helper-blob.svg"
      />
    </a>
    <a href="https://www.npmjs.com/package/@guanghechen/helper-blob">
      <img
        alt="Npm License"
        src="https://img.shields.io/npm/l/@guanghechen/helper-blob.svg"
      />
    </a>
    <a href="#install">
      <img
        alt="Module Formats: cjs, esm"
        src="https://img.shields.io/badge/module_formats-cjs%2C%20esm-green.svg"
      />
    </a>
    <a href="https://github.com/nodejs/node">
      <img
        alt="Node.js Version"
        src="https://img.shields.io/node/v/@guanghechen/helper-blob"
      />
    </a>
    <a href="https://github.com/prettier/prettier">
      <img
        alt="Code Style: prettier"
        src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square"
      />
    </a>
  </div>
</header>
<br/>


`helper-blob` is a colorful logger tool based on [chalk][] (so you can use a
lot of colors), and can be easily integrated into [commander.js][] (so you can
use command line parameters to customized the logger's behavior).


## Install

* npm

  ```bash
  npm install --save @guanghechen/helper-blob
  ```

* yarn

  ```bash
  yarn add @guanghechen/helper-blob
  ```

## Usage

* `convertDataURLToBlob(dataURL: string): Blob`: Creates and returns a blob from
  a data URL (either base64 encoded or not).


* `downloadBlob(blob: Blob, filename: string): void`: emit a download task in
  browser.


[homepage]: https://github.com/guanghechen/node-scaffolds/tree/release-3.x.x/packages/helper-blob#readme