open-index/open-npm huggingface dataset:
npm package: @rerokutosei/picgo-plugin-localbackup
Description: Local backup plugin for PicList-Core with seamless PicList integration
Author: ReRokutosei
Latest version: 3.0.3-0

# PicList Local Backup Plugin

本地备份插件 for [PicList-Core](https://github.com/Kuingsmile/PicList-Core)，配合 PicList-Core 的压缩转格式和高级重命名功能，自动备份处理后的图片文件。

- [PicList Local Backup Plugin](#piclist-local-backup-plugin)
  - [功能特点](#功能特点)
  - [工作流程](#工作流程)
  - [安装](#安装)
    - [通过 npm 安装](#通过-npm-安装)
  - [配置插件](#配置插件)
  - [配置项](#配置项)
    - [备份目录 (backupDir)](#备份目录-backupdir)
    - [操作模式 (operationType)](#操作模式-operationtype)
  - [使用建议](#使用建议)
    - [备份目录设置](#备份目录设置)
    - [使用模式选择](#使用模式选择)
  - [开发](#开发)
  - [License](#license)

## 功能特点

- 自动备份：
  - 自动备份 PicList-Core 压缩转格式后的图片文件
  - 支持与 PicList-Core 高级重命名功能配合
  - 备份文件与图床完全对应，方便后期管理和对照
- 智能路径处理：
  - 自动适配多种图片格式（jpg, png, webp 等）
  - 智能识别文件名，不受特殊字符影响
  - 支持批量处理多个文件
- 支持两种工作模式：
  - Copy 模式：备份处理后的图片，保留原始文件
  - Cut 模式：备份处理后的图片，将原始文件移动到系统回收站
- 安全可靠：
  - 完整的生命周期管理
  - 原子化文件操作
  - 错误处理机制确保主程序正常运行

## 工作流程

插件在 PicList-Core 的图片处理流程中工作：

1. 图片上传前（beforeUpload）:
   - 获取并验证原始文件路径
   - 在临时目录中定位经过压缩转格式的文件
   - 将处理后的文件备份到指定目录（使用临时文件名）
   
2. 图片上传后（afterUpload）:
   - 获取上传成功后的文件名
   - 将备份文件重命名为与图床一致的名称
   - 在 Cut 模式下，将原始文件移动到系统回收站
   - 清理临时文件和状态

## 安装

### 通过 npm 安装

```bash
# 全局安装 piclist (使用npm或yarn)
npm install piclist -g 
# 或
yarn global add piclist

# 安装本插件
picgo install @rerokutosei/picgo-plugin-localbackup # 在线安装
# 或
picgo install path/to/picgo-plugin-localbackup # 本地安装方法①，支持相对/绝对路径
# 或
picgo install path/to/picgo-plugin-localbackup.tgz # 本地安装方法②，使用tgz包
```

## 配置插件

1. 配置插件设置：
```bash
picgo config plugin @rerokutosei/picgo-plugin-localbackup
```

2. 启用插件：
```bash
picgo use plugins @rerokutosei/picgo-plugin-localbackup
```

## 配置项

### 备份目录 (backupDir)
- 默认值：`./backup`
- 说明：存储 PicList 处理后的图片文件的目录
- 特点：
  - 自动创建目录
  - 支持相对/绝对路径
  - 强烈建议使用绝对路径
- 示例：`C:\Users\YourName\Pictures\Backup`

### 操作模式 (operationType)
- 选项：`copy` 或 `cut`
- 说明：
  - `copy`：备份处理后的图片，保留原始文件
  - `cut`：备份处理后的图片，原始文件移至回收站
- 默认值：`copy`

## 使用建议

### 备份目录设置
- 使用绝对路径，避免路径解析问题
- 确保备份目录有足够空间
- 建议选择易于管理的本地目录
- 避免选择系统目录或网络路径

### 使用模式选择
1. Copy 模式：
   - 保留原始文件，适合需要原图的场景
   - 可以随时切换到 Cut 模式
   - 适合初次使用或测试阶段

2. Cut 模式：
   - 自动将原始文件移动到系统回收站
   - 有效管理图片文件，避免重复
   - 需要恢复时可从系统回收站获取
   - 建议先使用 Copy 模式测试后再启用


## 开发

```bash
# 安装依赖
npm install

# 编译
npm run build
```

## License

MIT © ReRokutosei
npm package: @reroute/browser
Description: A collection of routing components and hooks for composing web react applications.
Author: Matthew Hamlin
Latest version: 2.0.1

# Reroute Browser

A collection of routing components and hooks for composing web react applications.

## Install

```sh
yarn add @reroute/browser
# Or
npm install @reroute/browser
```

## API

```jsx
import { BrowserRouter, Route, Link, useLink, useRoute } from '@reroute/browser'

// useLink and useRoute are the same exports from '@reroute/core'

render(
  <BrowserRouter>
    <Route path="/hello-world">
      {({ match }) =>
        match && (
          <div>
            <marquee>Hello World!</marquee>
            <Link to="/">Go Back</Link>
          </div>
        )
      }
    </Route>
    <Link to="/hello-world">Go to Greeting</Link>
  </BrowserRouter>,
)
```

## Demo

Check out the [Codesandbox Demo](https://codesandbox.io/s/n96xx2p4yp).

## Testing

If you are testing components that use the Route or Link component, you may need to mount your
component with a test version of the Router. To do this, you can either:

1. Render inside a `<BrowserRouter>` or,
2. Render within a `<Router>` from `@reroute/core`

#### Option 1

The default BrowserRouter from `@reroute/browser` should work as expected within your test
environment, as long as you define the `window` and `document` APIs. If you are using Jest / a
testing framework that uses JSDom then you should be all set.

#### Option 2

If you want more control over the current Router state, for example mounting your application during
a test at a nested pathname, then you can use the `<Router>` from `@reroute/core` and provide it a
function to it's `createHistory` prop. Here we are using the `createMemoryHistory` function from the
`history` module on NPM.

```jsx
import { createMemoryHistory } from 'history'
import { Router } from '@reroute/core'

render(
  <Router createHistory={createMemoryHistory}>
    <FeatureComponent />
  </Router>,
)
```

#### Mounting with A Default Entry

```jsx
import { createMemoryHistory } from 'history'
import { Router } from '@reroute/core'

render(
  <Router
    createHistory={() =>
      createMemoryHistory({
        initialEntries: ['/foo'],
      })
    }
  >
    <Route path="/foo">{({ match }) => match && <>This will render initially</>}</Route>
  </Router>,
)
```

Check out the `history` modules documentation [here](https://www.npmjs.com/package/history#usage)
for more information about how you can configure different history variations.
npm package: @reroute/core
Description: This package maintains the core hooks for the Reroute library.
Author: Matthew Hamlin
Latest version: 2.0.1

# Reroute Core

This package maintains the core hooks for the Reroute library.

These can be manually consumed within feature applications, or they can be consumed through the
[`@reroute/browser`](https://github.com/hamlim/reroute/tree/master/browser) package via common
components like `Link` and `Route`.

## Install

```sh
yarn add @reroute/core
# Or
npm install @reroute/core
```

## API

```jsx
import { createBrowserHistory } from 'history'
import { Router, useRoute, useLink } from '@reroute/core'

function UserRoute({ userId }) {
  let { match } = useRoute(`/user-${userId}`)
  if (match) {
    return <User />
  }
  return null
}

function Avatar({ userId }) {
  let getLinkProps = useLink(`/user-${userId}`)
  return (
    <a {...getLinkProps()}>
      <img src={`/users/${userId}.png`} alt={`${users[userId]}`} />
    </a>
  )
}

render(
  <Router createHistory={() => createBrowserHistory()}>
    <main>
      <UserRoute userId="1" />
    </main>
    <aside>
      <Avatar userId="1" />
    </aside>
  </Router>,
)
```

## Testing

If you are testing components that use the `useRoute` or `useLink` hooks, you may need to mount your
component with a test version of the Router. To do this, you can render your components within a
custom Router component.

#### Mounting your Component

If you want more control over the current Router state, for example mounting your application during
a test at a nested pathname, then you can use the `<Router>` from `@reroute/core` and provide it a
function to it's `createHistory` prop. Here we are using the `createMemoryHistory` function from the
`history` module on NPM.

```jsx
import { createMemoryHistory } from 'history'
import { Router } from '@reroute/core'

render(
  <Router createHistory={createMemoryHistory}>
    <FeatureComponent />
  </Router>,
)
```

#### If you want to default the Router to a particular pathname

```jsx
import { createMemoryHistory } from 'history'
import { Router } from '@reroute/core'

render(
  <Router
    createHistory={() =>
      createMemoryHistory({
        initialEntries: ['/foo'],
      })
    }
  >
    <Route path="/foo">{({ match }) => match && <>This will render initially</>}</Route>
  </Router>,
)
```

Check out the `history` modules documentation [here](https://www.npmjs.com/package/history#usage)
for more information about how you can configure different history variations.
npm package: @rerr/microfrontends
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.1.
Latest version: 1.0.0

# MicroFrontends

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.1.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @rerr/ui
Description: This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.1.
Latest version: 1.0.0

# Ui

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.1.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @rerun-io/web-viewer-react
Description: Embed the Rerun web viewer in your React app
Author: rerun-io
Latest version: 0.31.2

# Rerun web viewer

Embed the Rerun web viewer within your React app.

<p align="center">
  <picture>
    <img src="https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/full.png" alt="">
    <source media="(max-width: 480px)" srcset="https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/480w.png">
    <source media="(max-width: 768px)" srcset="https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/768w.png">
    <source media="(max-width: 1024px)" srcset="https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/1024w.png">
    <source media="(max-width: 1200px)" srcset="https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/1200w.png">
  </picture>
</p>

If you'd like to use a framework-agnostic package instead, see <https://www.npmjs.com/package/@rerun-io/web-viewer>.

## Install

```sh
npm i @rerun-io/web-viewer-react
```

ℹ️ Note:
The package version is equal to the supported Rerun SDK version.
This means that `@rerun-io/web-viewer-react@0.10.0` can only connect to a data source (`.rrd` file, gRPC connection, etc.) that originates from a Rerun SDK with version `0.10.0`!

## Usage

```jsx
import WebViewer from "@rerun-io/web-viewer-react";

export default function App() {
  return <WebViewer width="800px" height="600px" rrd="…"/>
}
```

The `rrd` in the snippet above should be a URL pointing to either:
- A hosted `.rrd` file, such as <https://app.rerun.io/version/0.31.2/examples/dna.rrd>
- A gRPC connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk/operating-modes#serve) API

If `rrd` is not set, the Viewer will display the same welcome screen as <https://app.rerun.io>.
This can be disabled by setting the `hide_welcome_screen` prop to `true`.

⚠ It's important to set the viewer's width and height, as without it the viewer may not display correctly.
Setting the values to empty strings is valid, as long as you style the canvas through other means.

ℹ️ Note:
This package only targets recent versions of browsers.
If your target browser does not support Wasm imports or top-level await, you may need to install additional plugins for your bundler.