open-index/open-npm huggingface dataset:
npm package: @max1874/openclaw-wecom
Description: OpenClaw WeChat/WeCom channel plugin via Stride
Author: max1874
Latest version: 0.1.3

# OpenClaw WeChat/WeCom Plugin

通过 Stride 服务与微信/企业微信对接的 OpenClaw 渠道插件。

## 安装

```bash
npm install
```

## 配置

在 `openclaw.yaml` 或环境变量中配置：

```yaml
channels:
  wecom:
    enabled: true
    token: "your-stride-token"  # Stride API token
    chatId: "your-default-chat-id"  # 默认 chatId
    webhookPath: "/webhooks/wechat"  # Webhook 路径
    webhookPort: 3000  # Webhook 端口

    # 私聊策略
    dmPolicy: "allowlist"  # "open" | "allowlist"
    allowFrom:
      - "7881303019076556"  # 允许的用户 ID
      - "username"  # 或用户名

    # 群聊策略
    groupPolicy: "allowlist"  # "open" | "allowlist" | "disabled"
    groupAllowFrom:
      - "R:10917132666297873"  # 允许的群 ID
    requireMention: true  # 群聊是否需要 @

    # 单群配置 (可选)
    groups:
      "R:10917132666297873":
        requireMention: false
        allowFrom:
          - "*"  # 允许所有群成员

    # 消息配置
    textChunkLimit: 4000  # 单条消息字符限制
    mediaMaxMb: 30  # 媒体文件大小限制 (MB)
```

环境变量支持：
- `WECOM_TOKEN` 或 `STRIDE_TOKEN`: API token
- `WECOM_CHAT_ID` 或 `STRIDE_CHAT_ID`: 默认 chatId

## Webhook 端点

启动后，插件会监听以下 Webhook 端点：

| 路径 | 说明 |
|------|------|
| `/webhooks/wechat/events/message` | 消息事件 |
| `/webhooks/wechat/events/room/joined` | 群成员加入 |
| `/webhooks/wechat/events/chatroom/loaded` | 群信息加载 |
| `/webhooks/wechat/events/chatroom/joined` | 入群完成 |
| `/health` | 健康检查 |

## 消息类型

### 支持接收的消息类型

| type | 类型 | 说明 |
|------|------|------|
| 1 | 文件 | 下载并保存本地 |
| 2 | 语音 | 使用 Stride 转写的文本 |
| 4 | 聊天记录 | 合并转发的消息 |
| 6 | 图片 | 下载并保存本地 |
| 7 | 文字 | 主要消息类型 |
| 12 | 链接 | 提取标题和 URL |

### 支持发送的消息类型

| messageType | 类型 | 说明 |
|-------------|------|------|
| 0 | 文字 | 主要发送类型 |
| 1 | 图片 | 需要可访问的 URL |
| 2 | 链接 | 卡片式链接 |
| 3 | 文件 | 需要可访问的 URL |

## 与飞书插件的差异

| 特性 | 飞书插件 | 微信插件 |
|------|---------|----------|
| 连接方式 | WebSocket | Webhook 回调 |
| SDK | 官方 SDK | HTTP REST API |
| ID 类型 | open_id / chat_id | contactId / chatId / roomId |
| 媒体处理 | 需要上传下载 | URL 直接可用 |
| Card 消息 | 支持 | 不支持 |
| 消息编辑 | 支持 | 不支持 |
| Typing 指示器 | 反应替代 | 不支持 |

## 开发

```bash
# 类型检查
npx tsc --noEmit

# 运行测试
npm test
```

## 许可

MIT
npm package: @max1874/wecom
Description: OpenClaw WeChat/WeCom channel plugin via Stride
Author: max1874
Latest version: 0.1.1

# OpenClaw WeChat/WeCom Plugin

通过 Stride 服务与微信/企业微信对接的 OpenClaw 渠道插件。

## 安装

```bash
npm install
```

## 配置

在 `openclaw.yaml` 或环境变量中配置：

```yaml
channels:
  wecom:
    enabled: true
    token: "your-stride-token"  # Stride API token
    chatId: "your-default-chat-id"  # 默认 chatId
    webhookPath: "/webhooks/wechat"  # Webhook 路径
    webhookPort: 3000  # Webhook 端口

    # 私聊策略
    dmPolicy: "allowlist"  # "open" | "allowlist"
    allowFrom:
      - "7881303019076556"  # 允许的用户 ID
      - "username"  # 或用户名

    # 群聊策略
    groupPolicy: "allowlist"  # "open" | "allowlist" | "disabled"
    groupAllowFrom:
      - "R:10917132666297873"  # 允许的群 ID
    requireMention: true  # 群聊是否需要 @

    # 单群配置 (可选)
    groups:
      "R:10917132666297873":
        requireMention: false
        allowFrom:
          - "*"  # 允许所有群成员

    # 消息配置
    textChunkLimit: 4000  # 单条消息字符限制
    mediaMaxMb: 30  # 媒体文件大小限制 (MB)
```

环境变量支持：
- `WECOM_TOKEN` 或 `STRIDE_TOKEN`: API token
- `WECOM_CHAT_ID` 或 `STRIDE_CHAT_ID`: 默认 chatId

## Webhook 端点

启动后，插件会监听以下 Webhook 端点：

| 路径 | 说明 |
|------|------|
| `/webhooks/wechat/events/message` | 消息事件 |
| `/webhooks/wechat/events/room/joined` | 群成员加入 |
| `/webhooks/wechat/events/chatroom/loaded` | 群信息加载 |
| `/webhooks/wechat/events/chatroom/joined` | 入群完成 |
| `/health` | 健康检查 |

## 消息类型

### 支持接收的消息类型

| type | 类型 | 说明 |
|------|------|------|
| 1 | 文件 | 下载并保存本地 |
| 2 | 语音 | 使用 Stride 转写的文本 |
| 4 | 聊天记录 | 合并转发的消息 |
| 6 | 图片 | 下载并保存本地 |
| 7 | 文字 | 主要消息类型 |
| 12 | 链接 | 提取标题和 URL |

### 支持发送的消息类型

| messageType | 类型 | 说明 |
|-------------|------|------|
| 0 | 文字 | 主要发送类型 |
| 1 | 图片 | 需要可访问的 URL |
| 2 | 链接 | 卡片式链接 |
| 3 | 文件 | 需要可访问的 URL |

## 与飞书插件的差异

| 特性 | 飞书插件 | 微信插件 |
|------|---------|----------|
| 连接方式 | WebSocket | Webhook 回调 |
| SDK | 官方 SDK | HTTP REST API |
| ID 类型 | open_id / chat_id | contactId / chatId / roomId |
| 媒体处理 | 需要上传下载 | URL 直接可用 |
| Card 消息 | 支持 | 不支持 |
| 消息编辑 | 支持 | 不支持 |
| Typing 指示器 | 反应替代 | 不支持 |

## 开发

```bash
# 类型检查
npx tsc --noEmit

# 运行测试
npm test
```

## 许可

MIT
npm package: @max1ab/rss-news
Description: MCP server for incremental RSS news fetching with SQLite-backed read state.
Latest version: 1.0.1

```text
 ____  ____ ____    _   _                     __  __  ____ ____  
|  _ \/ ___/ ___|  | \ | | _____      _____  |  \/  |/ ___|  _ \ 
| |_) \___ \___ \  |  \| |/ _ \ \ /\ / / __| | |\/| | |   | |_) |
|  _ < ___) |__) | | |\  |  __/\ V  V /\__ \ | |  | | |___|  __/ 
|_| \_\____/____/  |_| \_|\___| \_/\_/ |___/ |_|  |_|\____|_|    
                                                                
```

[![lang-English](https://img.shields.io/badge/lang-English-blue)](./README.md)
[![npm-@max1ab/rss-news](https://img.shields.io/badge/npm-%40max1ab%2Frss--news-CB3837)](https://www.npmjs.com/package/@max1ab/rss-news)

告别信息焦虑，远离标题党；只需一个 `npx` 命令，就能让你的 AI 接入并处理一手新闻来源。

## 安装 MCP

命令行安装:

```bash
npm i -g @max1ab/rss-news
```

把下面的配置加入你的 MCP 配置文件：

```json
{
  "mcpServers": {
    "rss-news": {
      "command": "rss-news"
    }
  }
}
```

### 例子

你可以直接这样对支持 MCP 的 AI 说：

1. 帮我查看过去 24 小时的新闻，筛选重要内容，总结后整理到 Notion。
2. 帮我查看当前未读新闻，挑出最重要的几条，发送消息到我的手机。
3. 帮我关注 OpenAI 的最新消息，如果还没有订阅相关源，先帮我添加合适的订阅。
4. 帮我搜索一些关于 AI 的 RSS 源，先预览内容质量，再把合适的加到订阅里。
5. 帮我统计过去 24 小时有多少条未读新闻，按来源分别列出来。

### 功能

- 管理订阅
- 同步最新新闻
- 获取未读新闻
- 消费新闻
- 统计
- 重置状态

首次创建数据库时自动导入 `example-subscriptions.json` 中的示例订阅源

## 进阶使用

### 环境变量

- `RSS_MCP_DB_PATH`：SQLite 路径，Windows 默认是 `%APPDATA%/rss-news/rss.sqlite`，其他平台默认是 `~/.local/share/rss-news/rss.sqlite`
- `RSS_MCP_REQUEST_TIMEOUT_MS`：抓取超时时间，默认 `15000`
- `RSS_MCP_DEFAULT_FETCH_LIMIT`：默认全局返回上限，默认 `20`
- `RSS_MCP_MAX_FEEDS_PER_REQUEST`：单次请求允许的最大 feed 数量，默认 `50`
- `RSS_MCP_USER_AGENT`：自定义请求 User-Agent
- `RSS_MCP_DEBUG`：设为 `1` 或 `true` 启用调试日志
- `RSS_MCP_DEBUG_PREVIEW_LENGTH`：调试时响应预览长度，默认 `300`

### 本地开发

```bash
npm install
npm run build
npm start
```

开发模式：

```bash
npm run dev
```

运行测试：

```bash
npm test
```

### 当前 Tools

- 数据库文件会在首次使用时按需创建
- `subscriptions` 用来存订阅源及抓取状态
- `entries` 用来存储抓取到的新闻条目，`feed_url + entry_uid` 保持唯一
- `deliveries` 用来记录哪些条目已经被消费

可用 MCP tool：

- `list_subscriptions`
- `upsert_subscriptions`
- `remove_subscriptions`
- `preview_feed`
  在正式订阅前预览一个或多个 feed URL，确认它们可抓取且内容符合预期。
- `sync_news`
- `fetch_news`
- `consume_news`
- `count_news`
- `set_consumption_status`
npm package: @max26292/react-mitt
Description: React event emitter / pubsub 👉🏻👈🏽
Author: Luqman Olushi
Latest version: 1.0.1

# react-mitt

> React event emitter / pubsub
<div>
<img alt="react-mitt build status" src="https://img.shields.io/travis/codeshifu/react-mitt.svg?logo=travis">
	<img alt="react-mitt code coverage" src="https://img.shields.io/coveralls/github/codeshifu/react-mitt.svg?style=popout">
</div>

A react wrapper for the awesome [mitt](https://github.com/developit/mitt) library

Live demo https://codesandbox.io/s/react-mitt-demo-n11ii

## Install

```sh
$ npm install react-mitt
```

## Usage

Wrap your app in the `MittProvider` component, providing descendants access to the `useMitt` hook for event pubsub

```jsx
import { MittProvider } from "react-mitt"

function App() {
  return (
    <MittProvider>
      <ComponentA />
      <ComponentB />
    </MittProvider>
  )
}
```

## Example

Once you wrap your app with the `MittProvider` as demonstrated [above](https://github.com/codeshifu/react-mitt#usage), event pubsub becomes a breeze with the `useMitt` hook

```jsx
import { useMitt } from 'react-mitt'

function ComponentA() {
  const { emitter } = useMitt()

  const handleClick = () => {
    emitter.emit('foo', { data: 'ComponentA says foo!'})
  }

  return <button onClick={handleClick}>emit!</button>
}

function ComponentB() {
  const { emitter } = useMitt()

  useEffect(() => {
    // listen and respond to 'foo' events
    emitter.on('foo', event => alert(event.data))
  }, [])

  return ...
}

```

## Hook

The `useMitt` hook has the following signature

```js
const { emitter } = useMitt()
```

For usage of the **emitter** object, see **mitt** API [docs](https://github.com/developit/mitt#api)

## License
[MIT License](https://github.com/codeshifu/react-mitt/blob/master/license)
npm package: @max3a3/react-paperjs-editor
Description: A library of common editor components for React Paper.js
Author: psychobolt
Latest version: 0.0.13

# React Paper.js Editor

[![Stability](https://img.shields.io/badge/Stability-Experimental-Orange.svg)](https://nodejs.org/api/documentation.html#documentation_stability_index)
[![npm](https://img.shields.io/npm/v/@psychobolt/react-paperjs-editor.svg)](https://www.npmjs.com/package/@psychobolt/react-paperjs-editor)
[![Build Status](https://travis-ci.org/psychobolt/react-paperjs.svg?branch=master)](https://travis-ci.org/psychobolt/react-paperjs)
[![codecov](https://codecov.io/gh/psychobolt/react-paperjs/branch/master/graph/badge.svg)](https://codecov.io/gh/psychobolt/react-paperjs)

[![Dependencies Status](https://david-dm.org/psychobolt/react-paperjs/status.svg?path=packages/react-paperjs-editor)](https://david-dm.org/psychobolt/react-paperjs?path=packages/react-paperjs-editor)
[![Dev Dependencies Status](https://david-dm.org/psychobolt/react-paperjs/dev-status.svg?path=packages/react-paperjs-editor)](https://david-dm.org/psychobolt/react-paperjs?path=packages/react-paperjs-editor&type=dev)
[![Peer Dependencies Status](https://david-dm.org/psychobolt/react-paperjs/peer-status.svg?path=packages/react-paperjs-editor)](https://david-dm.org/psychobolt/react-paperjs?path=packages/react-paperjs-editor&type=peer)

A library of common editor components for [React Paper.js](https://github.com/psychobolt/react-paperjs)

## Install

```sh
npm install --save @psychobolt/react-paperjs-editor
# or
yarn add @psychobolt/react-paperjs-editor
```

## Examples

There are several [demos](https://psychobolt.github.io/react-paperjs/?path=/story/packages-react-paperjs-editor-setup). Also check out their [sources](https://github.com/psychobolt/react-paperjs/blob/master/stories/packages/react-paperjs-editor).

## Components

- [CircleTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/CircleTool/CircleTool.md)
- [FreeformPathTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/FreeformPathTool/FreeformPathTool.md)
- [Grid](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/Grid/Grid.md)
- [LineTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/LineTool/LineTool.md)
- [PanAndZoom](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/PanAndZoom/PanAndZoom.md)
- [PolygonTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/PolygonTool/PolygonTool.md)
- [RectangleTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/RectangleTool/RectangleTool.md)
- [SegmentPathTool](https://github.com/psychobolt/react-paperjs/blob/master/packages/react-paperjs-editor/src/components/SegmentPathTool/SegmentPathTool.md)
npm package: @max_alieksieiev/react-pdf-viewer-get-file
Description: A React component to view a PDF document
Author: Maks Alieksieiev
Latest version: 3.12.0

# download plugin

This plugin allows user to download the current file.

```javascript
import { downloadPlugin } from '@react-pdf-viewer/download';

const downloadPluginInstance = downloadPlugin();

// The button to download the current file
const { Download } = downloadPluginInstance;

// Render
return (
    <>
    <Download />
    <Viewer
        plugins={[
            downloadPluginInstance,
        ]}
    >
    </>
);
```

## Use a custom button

```javascript
import { downloadPlugin } from '@react-pdf-viewer/download';

const downloadPluginInstance = downloadPlugin();

// The button to download the current file
const { Download } = downloadPluginInstance;

// Render
return (
    <>
    <Download>
    {
        (props) => (
            // Your custom button here
            <button onClick={props.onClick}>
                Download
            </button>
        )
    }
    </Download>
    <Viewer
        plugins={[
            downloadPluginInstance,
        ]}
    >
    </>
);
```

## Plugin options

-   `fileNameGenerator` (Optional): Custom the name of download file.

It is a function accepts the current opened file and returns a `string`:

```javascript
(file: OpenFile) => string;
```

By default, the name of download file is determined by the `name` properties of `OpenFile`.
You can customize it as following:

```javascript
import { OpenFile } from '@react-pdf-viewer/core';

const downloadPluginInstance = downloadPlugin({
    fileNameGenerator: (file: OpenFile) => {
        // `file.name` is the URL of opened file
        const fileName = file.name.substring(file.name.lastIndexOf('/') + 1);
        return `a-copy-of-${fileName}`;
    },
});
```
npm package: @max_alieksieiev/react-pdf-viewer-root
Description: A React component to view a PDF document
Author: Maks Alieksieiev
Latest version: 0.0.0

# React PDF viewer

A React component to view a PDF document. It's written in TypeScript, and powered by React hooks completely.
It's forked package, and added touchEvent for highlight

```javascript
// Core viewer
import { Viewer } from '@react-pdf-viewer/core';

// Plugins
import { defaultLayoutPlugin } from '@react-pdf-viewer/default-layout';

// Import styles
import '@react-pdf-viewer/core/lib/styles/index.css';
import '@react-pdf-viewer/default-layout/lib/styles/index.css';

// Create new plugin instance
const defaultLayoutPluginInstance = defaultLayoutPlugin();

<Viewer
    fileUrl='/assets/pdf-open-parameters.pdf'
    plugins={[
        // Register plugins
        defaultLayoutPluginInstance,
        ...
    ]}
/>
```

## Features

**Basic features**

-   [x] Support password protected document
-   [x] Zooming: Support custom levels such as actual size, page fit, and page width
-   [x] Navigation between pages
-   [x] Can go to the first and last pages quickly
-   [x] Search for text
-   [x] Preview page thumbnails
-   [x] View and navigate the table of contents
-   [x] List and download attachments
-   [x] Rotating
-   [x] Text selection and hand tool modes
-   [x] Different scrolling modes
-   [x] Full screen mode
-   [x] Can open a file from local. Users can drag and drop a local file to view it
-   [x] Download file
-   [x] View the document properties
-   [x] Support SSR
-   [x] Print
-   [x] Theming
-   [x] Dark mode
-   [x] Accessibility

**Customization**

-   [x] The toolbar can be customized easily
-   [x] All text items can be localized in another language

## About

This project is developed by _Nguyen Huu Phuoc_. I love building products and sharing knowledge.
But forked by _Maks Alieksieiev_.
npm package: @max_namazov/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 4.0.3

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @max_namazov/react-scripts-with-babelrc
Description: Configuration and scripts for Create React App.
Latest version: 3.2.0

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @maxaggedon/react-color
Description: A Collection of Color Pickers from Sketch, Photoshop, Chrome & more
Author: case
Latest version: 2.13.10

# [React Color](http://casesandberg.github.io/react-color/)

[![Npm Version][npm-version-image]][npm-version-url]
[![Build Status][travis-svg]][travis-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]

* **13 Different Pickers** - Sketch, Photoshop, Chrome and many more

* **Make Your Own** - Use the building block components to make your own

## Demo

![Demo](https://media.giphy.com/media/26FfggT53qE304CwE/giphy.gif)

[**Live Demo**](http://casesandberg.github.io/react-color/)

## Installation & Usage

```sh
npm install react-color --save
```

### Include the Component

```js
import React from 'react'
import { SketchPicker } from 'react-color'

class Component extends React.Component {

  render() {
    return <SketchPicker />
  }
}
```
You can import `AlphaPicker` `BlockPicker` `ChromePicker` `CirclePicker` `CompactPicker` `GithubPicker` `HuePicker` `MaterialPicker` `PhotoshopPicker` `SketchPicker` `SliderPicker` `SwatchesPicker` `TwitterPicker` respectively.

> 100% inline styles via [ReactCSS](http://reactcss.com/)

[travis-svg]: https://travis-ci.org/casesandberg/react-color.svg
[travis-url]: https://travis-ci.org/casesandberg/react-color
[license-image]: http://img.shields.io/npm/l/react-color.svg
[license-url]: LICENSE
[downloads-image]: http://img.shields.io/npm/dm/react-color.svg
[downloads-url]: http://npm-stat.com/charts.html?package=react-color
[npm-version-image]: https://img.shields.io/npm/v/npm.svg
[npm-version-url]: https://www.npmjs.com/package/react-color
npm package: @maxaltena/eslint-config-maxaltena
Description: ESLint and Prettier config ready to use in multiple projects
Author: Max Altena
Latest version: 1.1.2

# eslint-config-maxaltena

[![Publish](https://github.com/maxaltena/eslint-config-maxaltena/workflows/Publish/badge.svg)](https://github.com/maxaltena/eslint-config-maxaltena/actions?query=workflow%3A%22Publish%22)
[![npm version](https://img.shields.io/npm/v/@maxaltena/eslint-config-maxaltena)](https://www.npmjs.com/package/@maxaltena/eslint-config-maxaltena)
[![Watchers](https://img.shields.io/github/watchers/MaxAltena/eslint-config-maxaltena)](https://github.com/MaxAltena/eslint-config-maxaltena/watchers)
[![Stars](https://img.shields.io/github/stars/MaxAltena/eslint-config-maxaltena)](https://github.com/MaxAltena/eslint-config-maxaltena/stargazers)
[![Issues](https://img.shields.io/github/issues/MaxAltena/eslint-config-maxaltena)](https://github.com/MaxAltena/eslint-config-maxaltena/issues)
[![Pull requests](https://img.shields.io/github/issues-pr/MaxAltena/eslint-config-maxaltena)](https://github.com/MaxAltena/eslint-config-maxaltena/pulls)
[![Follow @MaxAltena](https://img.shields.io/github/followers/maxaltena?label=Follow&style=social)](https://github.com/MaxAltena)

> ESLint and Prettier config ready to use in multiple projects.

## Installation

Install the package with

```sh
npm install @maxaltena/eslint-config-maxaltena --save-dev
# or
yarn add @maxaltena/eslint-config-maxaltena -D
```

## Usage

Now add the config to either your `package.json`:

```json
{
	"eslintConfig": {
		"extends": "eslint-config-maxaltena"
	}
}
```

to your `.eslintrc`:

```json
{
	"extends": "eslint-config-maxaltena"
}
```

or `.eslintrc.js`:

```js
module.exports = {
	extends: "eslint-config-maxaltena",
};
```

## LICENSE

[MIT](LICENSE)
npm package: @maxam2017/mdx-mermaid
Description: Display mermaid diagrams in mdx files.
Author: Sam Wall
Latest version: 1.2.0-patch

# mdx-mermaid

Plug and play Mermaid in MDX

[![npm version](https://badge.fury.io/js/mdx-mermaid.svg)][npm]
[![GitHub license](https://img.shields.io/github/license/sjwall/mdx-mermaid)][license]
[![build](https://github.com/sjwall/mdx-mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/sjwall/mdx-mermaid/actions/workflows/build.yml)
[![codecov](https://codecov.io/gh/sjwall/mdx-mermaid/branch/main/graph/badge.svg?token=OBSGK4GGX8)](https://codecov.io/gh/sjwall/mdx-mermaid)
[![Maintainability](https://api.codeclimate.com/v1/badges/9d89c7483bb1a906ecdf/maintainability)](https://codeclimate.com/github/sjwall/mdx-mermaid/maintainability)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)][pr]

Use [Mermaid][mermaid] in `.md`, `.mdx`, `.jsx` and `.tsx` files with ease.

Based off the answer [here][inspire] by unknown.

## Quick start with Docusaurus

Install `mdx-mermaid` and `mermaid`

`mermaid` is a peer dependency so you can specify the version to use

```bash
yarn add mdx-mermaid mermaid
```

Update `docusaurus.config.js`

```js
 presets: [
    [
      '@docusaurus/preset-classic',
      {
        docs: {
          remarkPlugins: [import('mdx-mermaid')],
```

Use code blocks in `.md` or `.mdx` files:

````md
```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```
````

Use the component in `.mdx`, `.jsx` or `.tsx` files:

```jsx
import { Mermaid } from 'mdx-mermaid/Mermaid';

<Mermaid chart={`graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
`} />
```

There are more examples [here][examples]

## License

[MIT][license] © [Samuel Wall][author]

<!-- Definitions -->

[license]: https://github.com/sjwall/mdx-mermaid/blob/main/license

[author]: https://samuelwall.co.uk

[npm]: https://www.npmjs.com/package/mdx-mermaid

[mermaid]: http://mermaid-js.github.io/mermaid/

[inspire]: https://github.com/facebook/docusaurus/issues/1258#issuecomment-594393744

[pr]: http://makeapullrequest.com

[examples]: https://sjwall.github.io/mdx-mermaid/docs/examples/
npm package: @maxam2017/news-cli
Description: news headlines in CLI
Author: maxam2017
Latest version: 0.0.6

# ✨ news-cli

Watch **LINE TODAY** News via CLI.

## Install
Ensure you have [Node.js](https://nodejs.org) version 14+ installed. Then run the following:

```bash
$ npm i -g @maxam2017/news-cli
```

## Usage

```bash
$ news
```

## Functions
### tabs
> use the arrow keys (or WASD) to select the type of news you want to watch, then press Enter...

![demo](https://imgur.com/yVZW7Gx.gif)

### page viewer
> use the left arrow (A) or right arrow (D) key to switch between the previous page and the next page.

![demo](https://imgur.com/doHebWM.gif)

### shortcut cheat sheet
> show cheat sheet when press `?`

![demo](https://imgur.com/RrIiMrx.png)


## License
Distributed under the [MIT License](https://choosealicense.com/licenses/mit/). See `license` for more information.
npm package: @maxam2017/react-lib-template
Description: a react library template
Author: maxam2017
Latest version: 1.0.0

<p align="center">
  <a href="http://github.com/maxam2017/{{ name }}">
    <img src="https://www.gstatic.com/android/keyboard/emojikitchen/20220506/u1fa84/u1fa84_u1f4a1.png"  width="120">
  </a>
</p>

<h3 align="center">✨ {{ name }}</h3>

<p align="center">
   <img src="https://img.shields.io/badge/language-typescript-blue?style"/>
   <img src="https://img.shields.io/github/license/maxam2017/{{ name }}"/>
   <img src="https://img.shields.io/github/stars/maxam2017/{{ name }}"/>
   <img src="https://img.shields.io/github/forks/maxam2017/{{ name }}"/>
</p>

---

## Installation

```
npm i {{ name }}
```

or use other package managers, ex. yarn, pnpm...

## Usage

...

## License

Distributed under the MIT License.
npm package: @maxam2017/react-notion-x
Description: Fast and accurate React renderer for Notion.
Author: Travis Fischer
Latest version: 6.15.7-patch.5

<p align="center">
  <img alt="React Notion X" src="https://raw.githubusercontent.com/NotionX/react-notion-x/master/media/notion-ts.png" width="689">
</p>

# React Notion X

> Fast and accurate React renderer for Notion.

[![NPM](https://img.shields.io/npm/v/react-notion-x.svg)](https://www.npmjs.com/package/react-notion-x) [![Build Status](https://github.com/NotionX/react-notion-x/actions/workflows/test.yml/badge.svg)](https://github.com/NotionX/react-notion-x/actions/workflows/test.yml) [![Prettier Code Formatting](https://img.shields.io/badge/code_style-prettier-brightgreen.svg)](https://prettier.io)

## Docs

See the [full docs](https://github.com/NotionX/react-notion-x).

## License

MIT © [Travis Fischer](https://transitivebullsh.it)

Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>
npm package: @maxbezs/client-passwordcustom
Description: @maxbezs/client-passwordcustom
Author: Leo Pradel
Latest version: 0.32.8

# @maxbezs/client-passwordcustom

[![npm](https://img.shields.io/npm/v/@maxbezs/client-passwordcustom)](https://www.npmjs.com/package/@maxbezs/client-passwordcustom)
[![npm downloads](https://img.shields.io/npm/dm/@maxbezs/client-passwordcustom)](https://www.npmjs.com/package/@maxbezs/client-passwordcustom)
[![codecov](https://img.shields.io/codecov/c/github/accounts-js/accounts)](https://codecov.io/gh/accounts-js/accounts)
[![License](https://img.shields.io/github/license/accounts-js/accounts)](https://github.com/accounts-js/accounts/blob/master/LICENSE)

## Documentation

- [Website documentation](https://www.accountsjs.com/docs/strategies/password-client)
- [API documentation](https://www.accountsjs.com/docs/api/client-password/globals)

## Installation

```
yarn add @maxbezs/client-passwordcustom
```

## Contributing

Any contribution is very welcome, read our [contributing guide](https://github.com/accounts-js/accounts/blob/master/CONTRIBUTING.md) to see how to locally setup the repository and see our development process.
npm package: @maxbezs/clientcustom
Description: Fullstack authentication and accounts-management for it-lead
Author: Tim Mikeladze
Latest version: 0.39.1

# @accounts/client

[![npm](https://img.shields.io/npm/v/@maxbezs/clientcustom)](https://www.npmjs.com/package/@maxbezs/clientcustom)
[![npm downloads](https://img.shields.io/npm/dm/@maxbezs/clientcustom)](https://www.npmjs.com/package/@maxbezs/clientcustom)
[![codecov](https://img.shields.io/codecov/c/github/maxbezs/accounts)](https://codecov.io/gh/accounts-js/accounts)
[![License](https://img.shields.io/github/license/maxbezs/accounts)](https://github.com/accounts-js/accounts/blob/master/LICENSE)

Client library to interact with an accounts-js server.

## Documentation

- [API documentation](https://www.accountsjs.com/docs/api/client/globals)

## Installation

```
yarn add @maxbezs/clientcustom
```

## Contributing

Any contribution is very welcome, read our [contributing guide](https://github.com/accounts-js/accounts/blob/master/CONTRIBUTING.md) to see how to locally setup the repository and see our development process.
npm package: @maxbezs/graphql-clientcustom
Description: GraphQL client transport for accounts
Author: David Yahalomi
Latest version: 0.39.0

# @accounts/graphql-client

[![npm](https://img.shields.io/npm/v/@accounts/graphql-client)](https://www.npmjs.com/package/@accounts/graphql-client)
[![npm downloads](https://img.shields.io/npm/dm/@accounts/graphql-client)](https://www.npmjs.com/package/@accounts/graphql-client)
[![codecov](https://img.shields.io/codecov/c/github/accounts-js/accounts)](https://codecov.io/gh/accounts-js/accounts)
[![License](https://img.shields.io/github/license/accounts-js/accounts)](https://github.com/accounts-js/accounts/blob/master/LICENSE)

Client side graphql transport for accounts-js suite

## Documentation

- [Website documentation](https://www.accountsjs.com/docs/transports/graphql#graphql-client)
- [API documentation](https://www.accountsjs.com/docs/api/graphql-client/globals)

## Installation

```
yarn add @accounts/graphql-client
```

## Contributing

Any contribution is very welcome, read our [contributing guide](https://github.com/accounts-js/accounts/blob/master/CONTRIBUTING.md) to see how to locally setup the repository and see our development process.
npm package: @maxbezs/typescustom
Description: Accounts-js Types for it-lead
Author: max_bezs
Latest version: 0.40.1

# @accounts/types

[![npm](https://img.shields.io/npm/v/@maxbezs/typescustom)](https://www.npmjs.com/package/@accounts/types)
[![npm downloads](https://img.shields.io/npm/dm/@maxbezs/typescustom)](https://www.npmjs.com/package/@accounts/types)
[![codecov](https://img.shields.io/codecov/c/github/maxbezs/accounts)](https://codecov.io/gh/accounts-js/accounts)
[![License](https://img.shields.io/github/license/accounts-js/accounts)](https://github.com/accounts-js/accounts/blob/master/LICENSE)

This package is a devDependency for most packages of the suite.

It contains the types used across the accounts-js Suite.

## Installation

```
yarn add @maxbezs/typescustom
```

## Contributing

Any contribution is very welcome, read our [contributing guide](https://github.com/accounts-js/accounts/blob/master/CONTRIBUTING.md) to see how to locally setup the repository and see our development process.
npm package: @maxbilbow/ant-path-matcher
Description: An implementation for Ant-style path patterns
Author: it@cimc-raffles.com
Latest version: 0.0.2

## Ant-style Path Matcher

Fork of unmaintained CommonJS [ant-path-matcher](https://github.com/cimc-raffles/ant-path-matcher/blob/master/index.js).
Test cases borrowed from [@howiefh/ant-path-matcher](https://github.com/howiefh/ant-path-matcher).

An implementation for Ant-style path patterns.  
Part of this mapping code has been kindly borrowed from [Apache Ant](https://ant.apache.org) and [Spring Framework](https://springframework.org).

The mapping matches URLs using the following rules:

- ? matches one character
- \* matches zero or more characters
- \*\* matches zero or more directories in a path
- {spring:[a-z]+} matches the regexp [a-z]+ as a path variable named "spring"

Some examples:

- com/t?st.jsp — matches com/test.jsp but also com/tast.jsp or com/txst.jsp
- com/\*.jsp — matches all .jsp files in the com directory
- com/\*\*/test.jsp — matches all test.jsp files underneath the com path
- org/springframework/\*_/_.jsp — matches all .jsp files underneath the org/springframework path
- org/\*\*/servlet/bla.jsp — matches org/springframework/servlet/bla.jsp but also org/springframework/testing/servlet/bla.jsp and org/servlet/bla.jsp
- com/{filename:\\w+}.jsp will match com/test.jsp and assign the value test to the filename variable

### Installation

```
npm install @maxbilbow/ant-path-matcher --save
```

### Usage

Compatible with CommonJS, ES6, and TypeScript.

```js
import AntPathMatcher from "ant-path-matcher";

const matcher = AntPathMatcher();

function match(pattern, path) {
  console.log(pattern, path, matcher.match(pattern, path));
}

match("/path/**/?z", "/path/x/y/z/xyz");

match("/foo/{id}/bar", "/foo/1/bar");
```
npm package: @maxbo/free-port
Description: A utility to free a port prior to use. Add this before starting a server and it will kill the process using the port, optionally prompting before doing so. It will also stop docker containers without stopping the entire docker process.
Author: MaxboDev
Latest version: 1.2.0

[![Windows Workflow Status](https://img.shields.io/github/actions/workflow/status/MaxboDev/free-port/ci.yml?logo=windows&label=Windows)](https://github.com/MaxboDev/free-port/actions/workflows/ci.yml)
[![macOS Workflow Status](https://img.shields.io/github/actions/workflow/status/MaxboDev/free-port/ci.yml?logo=apple&label=macOS)](https://github.com/MaxboDev/free-port/actions/workflows/ci.yml)
[![Ubuntu Workflow Status](https://img.shields.io/github/actions/workflow/status/MaxboDev/free-port/ci.yml?logo=ubuntu&label=Ubuntu)](https://github.com/MaxboDev/free-port/actions/workflows/ci.yml)

# free-port
A simple utility to free a port prior to use, optionally prompting before stopping the process.

If it finds that the port is being used by Docker it will stop the container using the port rather than stopping the whole Docker process and killing all your containers with it.

Its particularly useful to add this to your npm scripts before starting a server on a specific port. This will allow you to stop the process thats preventing this one from starting without having to go and find it.

# Usage
`free-port <port> [options]`

# Options
### -s, --skipPrompt
Don't prompt before killing the process on the requested port.

# Examples
### Free port 3000 - prompt before killing processes
`free-port 3000`

### Free port 3000 - don't prompt before killing processes
`free-port 3000 -s`

### Add before starting a web server in your package.json
`free-port 3000 && start-server 3000`
npm package: @maxboeck/eleventy-plugin-gettext
Description: Eleventy plugin for gettext message translation and static extraction
Author: Max Böck
Latest version: 0.1.1

# Eleventy Gettext Plugin

Plugin for gettext string extraction and translation.
Original code by Sebastien Gissinger: [eleventy-plugin-i18n-gettext](https://github.com/sgissinger/eleventy-plugin-i18n-gettext)

This modifies the original plugin to:

-   add a command line script for text extraction
-   generate a valid PO file from extracted messages
-   add `gettext` and `ngettext` as functions
-   remove moment / date handling

## Text Extraction

Run `npx eleventy-plugin-gettext --extract`
npm package: @maxboone/polaris
Description: Component library for Netpunt
Author: Max Boone
Latest version: 1.0.3

![Logo](https://unpkg.com/@maxboone/polaris@1.0.1/public/images/polaris-logo.svg)

# Netpunt Polaris

React &amp; CSS UI Framework for usage in Netpunt-projects

## License

MIT © [maxboone](https://github.com/maxboone)
npm package: @maxbrunsfeld/flame-graph
Description: Profile a process or command and produce a flame graph
Author: Max Brunsfeld
Latest version: 0.1.9

flame-graph
===========

[![Build Status](https://travis-ci.org/maxbrunsfeld/node-flame-graph.svg?branch=master)](https://travis-ci.org/maxbrunsfeld/node-flame-graph)

This library makes it easy to profile a process with [`dtrace`](https://en.wikipedia.org/wiki/DTrace) on macOS and to format the results as a [Flame Graph](https://queue.acm.org/detail.cfm?id=2927301).

![flame graph example](./doc/flame-graph-example.png)

To use this tool within [Atom](https://atom.io), try the [flame-graph](https://github.com/maxbrunsfeld/atom-flame-graph) Atom package.

## Installation

```sh
npm install @maxbrunsfeld/flame-graph
```

## Command Line Usage

To profile a running process:

```sh
$ generate-flame-graph -p $PID_TO_PROFILE
```

To stop profiling, kill the process with <kbd>Control</kbd>+<kbd>C</kbd>.

To create and profile a child process with a given command:

```sh
$ generate-flame-graph -c './test arg1 arg2'
```

Often, you're only interested in profiling a certain function (or functions). You can do this using the optional `-f`/`--functions` flag:

```sh
$ generate-flame-graph -p $PID --functions 'function1 function2'
```

## Programmatic Usage

All of the functionality shown above is accessible programatically.

```js
const {
  generateFlameGraphForCommand,
  generateFlameGraphForProcess
} = require('@maxbrunsfeld/flame-graph')

async function test1 () {
  // Create and profile a child process
  console.log(await generateFlameGraphForCommand(
    './test arg1 arg2'
    {
      functionNames: ['function1', 'function2']
    }
  ))

  // Profile a running process
  const flameGraph = generateFlameGraphForProcess(
    pidToProfile,
    {
      functionNames: ['function1', 'function2']
    }
  )

  setTimeout(() => flameGraph.stop(), 100)
  console.log(await flameGraph.html)
}
```
npm package: @maxbuild/common
Description: Common library in MAXBUILD
Latest version: 0.0.6

Common library in MAXBUILD

- [Setup](#setup)
- [Distributed identity](#distributed-identity)
- [ErrorCode](#errorcode)
- [Msg](#msg)
- [Auth](#auth)

## Setup

npm i @maxbuild/common

set config in tsconfig.json

```
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
```

## Distributed identity

use api

```js
import {identity} from '@maxbuild/common'

// a unique id.
let id = identity.nextId();

// test id.
if (!identity.isValidId(id)) {
}

// id length.
identity.idLength == 32
```

use decorator

```js
import {Identity} from '@maxbuild/common'

class Demo {
  @Identity
  id: string;
}

// a unique id.
new Demo().id
```

## ErrorCode

```js
import {errorCode, isErrorCode, getErrorCodeMsg} from '@maxbuild/common';

// get the errCode
errorCode.OK                // 200
errorCode.OK_SYNC           // 202
errorCode.PARAMETER_ERROR   // 400
errorCode.UNAUTHORIZE       // 401
errorCode.NOT_FOUND         // 404
errorCode.OPERATOR_EXPIRED  // 408
errorCode.OPERATOR_ERROR    // 417
errorCode.APPCALL_LIMITED   // 444
errorCode.OPERATOR_LIMITED  // 445
errorCode.SERVICE_ERROR     // 500
errorCode.SERVICE_UNAVAILABLE  // 504

isErrorCode(200) == true
getErrorCodeMsg(errorCode.OPERATOR_EXPIRED) // 'OPERATOR_EXPIRED'
```

## Msg

Network message package.

```js
import {Msg, errorCode} from '@maxbuild/common';

let msg:Msg = {
  err_code: errorCode.OK,
  err_msg: 'error message',
  err_subcode: 'bll error code',
  data: {
    ...
  }
}
```


## Auth

Get response user auth info.

```js
import {auth} from '@maxbuild/common';

auth.headerTenantIdKey  // of-tid
auth.headerUserIdKey  // of-uid

auth.getTenantId(restObj)
auth.getUserId(restObj)

auth.getFeignData(restObj)
```
npm package: @maxbuild/internal-ci-cli
Description: cli of maxbuild internal ci
Latest version: 0.0.6

MAXBUILD internal ci cli

### pipe.sh

```sh
#!/bin/sh

###############################
# Desc: 
#   SH_CI_TARGET
#   SH_CI_PIPELINE_NAME
#   SH_CI_PROFILE
#   SH_CI_TEAM
###############################

###############################
# pipeline name
###############################
SH_CI_PIPELINE_NAME="xxx"

###############################
# deploy pk
###############################
SH_DEPLOY_PK="xxxx"

###############################
# (optional) help document
###############################
SH_HELP_DOC_INSTALL="install"
SH_HELP_DOC_REMOVE="remove"
SH_HELP_DOC_PREPARE="[deprecated]"

###############################
# (optional) prepare the pipeline, it only needs to be executed once.
###############################
sh_prepare(){
  # ...
}

###############################
# (optional) remove recent pipeline
###############################
sh_remove_pipe(){
  # ...
}

###############################
# add new pipeline
###############################
sh_install_pipe(){
  # ...
}
```


### vars-\<profile\>.yaml

```properties
sh-ci-team: main
```
npm package: @maxbuild/middleware-auth
Description: auth middleware of MAXBUILD in bpframework
Latest version: 0.0.14

# MAXBUILD service auth middleware in bpframework.

### Middleware specification

https://github.com/bpcloud/middleware

### usage


#### Setup.

```js

// to use debugAdminServiceUrl
(global as any)__debugFeignClient = true

import { Application } from 'bpframework';
import * as middleware_auth from '@maxbuild/middleware-auth';

Application.use(middleware_auth.middleware('http://debugAdminServiceUrl'))
Application.runKoa(...);
```

#### Config.

```properties
spring:
  application: xxxxxxxxx      # 服务名字

service_sign:
  faas_service_sign: xxxxxxxxx      # 服务签名
```
npm package: @maxbuild/middleware-cosr-data
Description: cosr data
Latest version: 0.0.5

# MAXBUILD service cosr data middleware in bpframework.

### Middleware specification

https://github.com/bpcloud/middleware

### usage

```js
import {BillService, billNextPage} from '@maxbuild/middleware-cosr-data';

@Service
class TestService {

  @Autowired(BillService)
  billService: BillService;

  // query instance.
  async testQuery():Promise<any> {
    let res = await this.billService.billQueryInstance('tablename', {
      ownerId: 'xxxxxx',
      //instanceId: 'xxxxxxx',
      productCode: 'cdn',
      start_at: new Date(Date.UTC(2020, 6, 17)),
      // end_at: new Date(Date.UTC(2021, 6, 18)),
      // limit: 1,
    });

    do {
      console.log(res.rowLength);
    } while (billNextPage(res));
    console.log('query finish');
  }

  // execute.
  async testExecute():Promise<any> {
    let sql = 'UPDATE users SET birth = ? WHERE key=?';
    let params = [ new Date(1942, 10, 1), 'jimi-hendrix' ];
   
    let res = await this.billService.execute(sql, params);
    do {
      console.log(res.rowLength);
    } while (billNextPage(res));
    console.log('query finish');
  }
}

```


#### Setup.

```js

import { Application } from 'bpframework';
import * as middleware_cosr_data from '@maxbuild/middleware-cosr-data';

Application.use(middleware_cosr_data.middleware())
Application.runKoa(...);
```

#### Config.

```properties
cosr_data:
  cassandra:
    contactPoints:
    - localhost:30042
    localDataCenter: datacenter1
    keyspace: cfm
    # 认证信息(非必须)
    credentials:
      username: string
      password: string
    # 超时信息(非必须)
    socketOptions:
      connectTimeout: number
      readTimeout: number
```
npm package: @maxchang/eslint-config
Description: Max Chang's ESLint config
Author: Max Chang
Latest version: 1.0.18

# @maxchang/eslint-config

[![npm](https://img.shields.io/npm/v/@maxchang/eslint-config?color=444)](https://npmjs.com/package/@maxchang/eslint-config)

Max Chang's ESLint config preset, is just a personalized version of [@antfu/eslint-config](https://github.com/antfu/eslint-config), for personal use.

See usage and details in [@antfu/eslint-config](https://github.com/antfu/eslint-config).

## Usage

```bash
pnpm i -D eslint @maxchang/eslint-config
```

Create `eslint.config.mjs` in your project root:

```js
// eslint.config.mjs
import defineConfig from '@maxchang/eslint-config'

export default defineConfig()
```

## Convention

- Based on `@antfu/eslint-config`
- Auto fix for formatting, enable formatters by default（HTML, CSS, Markdown）.
- Style principle: Minimal for reading, stable for diff, consistent
    - **4 spaces for indentation (except for JSON)**
    - Sorted imports, dangling commas
    - Single quotes, no semi
    - Using [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic)

## VSCode Config Reference

Auto fix on save & use eslint as formatter

See [.vscode/settings.json](./.vscode/settings.json)

# LICENSE

[MIT](./LICENSE)