# @hangtime/climbing-boards 中文文档

规范地址：https://npmcn.com/package/%40hangtime/climbing-boards/

版本：1\.0\.135
npm 元数据更新时间：2026-11-01T03:53:04.726Z
中文译文更新时间：2026-11-01T07:21:41.912Z
软件包许可：Unlicense

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40hangtime/climbing-boards
原文对照：https://npmcn.com/package/%40hangtime/climbing-boards/?lang=original
项目主页：https://github.com/Stevie-Ray/hangtime-climbing-boards#readme
源码仓库：https://github.com/Stevie-Ray/hangtime-climbing-boards

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：5.7 MB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.18
- 运行依赖：3 个
- 首次发布：2026-03-30T08:03:30.941Z
- 最新版本发布：2026-11-01T03:53:04.460Z
- 已发布版本数：136（近 12 个月 136 个）

## 中文简介

自动更新Aurora攀岩板位置GeoJSON数据集：Kilter， Tension, Grasshopper, Decoy, So iLL， Touchstone和Aurora。

## 安装

```sh
npm install @hangtime/climbing-boards
```

也可以使用：`pnpm add @hangtime/climbing-boards`、`yarn add @hangtime/climbing-boards`、`bun add @hangtime/climbing-boards`

## README

# 爬板

GeoJSON数据集跟踪全球所有攀岩训练/系统板； 包括 ~月球板~， Kilter板，拉力板，Grasshopper板，诱饵 Board, So iLL Board, Touchstone Board， Aurora Board和12Climb Board。这 数据集每天通过GitHub Actions自动更新。

**更新05 - 2026**MoonBoard从此停止更新 [GetMapMarkers](https://moonboard.com/MoonBoard/GetMapMarkers) 删除了。

[探索GeoJSON.io上的所有系统板](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/combined.geojson&map=2/46/9)

[![Climbing Boards](https://repository-images.githubusercontent.com/941517323/94c21be3-b32e-4ce3-a2d0-4284ec1e7781)](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/combined.geojson&map=2/46/9)

## 数据源

存储库从多个攀岩板应用程序和 将其转换为GeoJSON，这是一种轻量级的开放标准格式，非常适合 地图应用和地理数据可视化。探索个人 GeoJSON.io上的板块：

-   [月球板](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/moonboard.geojson&map=2/46/9)
-   [平衡板](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/kilterboardapp.geojson&map=2/46/9)
-   [紧张的董事会](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/tensionboardapp2.geojson&map=2/46/9)
-   [蚱蜢董事会](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/grasshopperboardapp.geojson&map=2/46/9)
-   [诱饵董事会](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/decoyboardapp.geojson&map=2/46/9)
-   [所以我要登机](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/soillboardapp.geojson&map=2/46/9)
-   [标准委员会](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/touchstoneboardapp.geojson&map=2/46/9)
-   [奥罗拉板](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/auroraboardapp.geojson&map=2/46/9)
-   [12爬板](https://geojson.io/?id=github:Stevie-Ray/hangtime-climbing-boards/blob/main/geojson/12climb.geojson&map=2/46/9)

## 数据结构

这个 `/data` 目录包含:

-   来自每个源的原始JSON位置数据
-   从各种极光攀登API端点抓取数据

这个 `/geojson` 目录包含:

-   每个攀岩板类型的单独GeoJSON文件
-   包含所有位置的组合GeoJSON文件

这个 `/api` 目录包含:

-   每个攀岩板服务的API客户端实现
-   身份验证和数据获取逻辑

这个 `/interfaces` 目录包含:

-   TypeScript类型定义和接口
-   应用程序的数据模型规范

这个 `/models` 目录包含:

-   用于API交互和数据处理的客户机模型
-   数据转换和验证模型

## 自动化

这个仓库使用GitHub Actions来：

-   每天抓取最新的位置数据
-   将数据转换为GeoJSON格式
-   将所有源合并到一个GeoJSON文件中
-   自动提交，推送和发布更新

## 开发

### 先决条件

-   Node.js 22 / Deno / Bun

### 安装

```bash
npm i @hangtime/climbing-boards
```

### 可用脚本

```bash
# Install dependencies
npm ci

# Scrape data from board APIs
npm run scrape

# Convert scraped data to GeoJSON
npm run convert

# Combine all GeoJSON files
npm run combine

# Run the complete build process
npm run build

# Watch for TypeScript changes during development
npm run dev
```

### 身份验证

需要得到 ~月球板~ 和基尔特董事会的位置。更详细地说 关于极光板的信息，如（张力，蚱蜢等），包括 健身房的地址，板的角度，或旋转状态，你需要提供你的 凭据通过环境变量。每个攀岩板应用程序都需要它的 自己的登录凭据集。刮刀将只获取额外的细节 您提供有效登录信息的特定应用程序。

**重要法律通知**：在使用此刮刀与凭证之前，您 必须:

1.  有一个有效的帐户，并明确接受每个使用条款 平台。
2.  确保您使用此工具符合平台的服务条款
3.  请注意，此工具会向这些服务发出经过身份验证的API请求

**设置说明**：

1.  复制 `.env.example` 文件 `.env`：

```bash
cp .env.example .env
```

2.  在表格中填写你的证件 `.env` 文件:

```bash
# Aurora Climbing Boards (Tension, Grasshoper etc.)
TENSIONBOARDAPP_USERNAME=your_username
TENSIONBOARDAPP_PASSWORD=your_password

# Kilter Boards (requires authentication for location data)
KILTERBOARDAPP_USERNAME=your_username
KILTERBOARDAPP_PASSWORD=your_password

# MoonBoard (requires authentication for location data)
MOONBOARD_USERNAME=your_username
MOONBOARD_PASSWORD=your_password

# Add credentials for other boards as needed
```

**API使用保障**：刮板包括内置保护：

-   速率限制（每块板每分钟30个请求）
-   自动请求节流
-   重试机制与指数回退速率限制错误
-   高使用率警告（在速率限制的80%触发）
-   身份验证和API问题的错误处理

**注意**：当刮刀实现速率限制和其他保障时，你 仍然有责任确保您的使用符合每个服务的条款 使用。

## 出版物

[Kilter Board应用一夜之间消失了。这不是意外。](https://www.climbing.com/news/what-really-caused-the-kilter-pocalypse/)

## 学分

叉形的 [Georift / climbing-board-locations](https://github.com/Georift/climbing-board-locations)

## 许可证

Unlicense

## 常见问题

### @hangtime/climbing-boards 是什么？

自动更新Aurora攀岩板位置GeoJSON数据集：Kilter， Tension, Grasshopper, Decoy, So iLL， Touchstone和Aurora。

### 如何安装 @hangtime/climbing-boards？

在项目目录运行 npm install @hangtime/climbing-boards，或使用 pnpm add / yarn add / bun add。

### @hangtime/climbing-boards 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/hangtime\_\_climbing-boards 是否存在。

### @hangtime/climbing-boards 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @hangtime/climbing-boards 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @hangtime/climbing-boards 可以商用吗？

@hangtime/climbing-boards 使用 Unlicense 许可。作者将代码贡献到公共领域，可不受限制地使用。以上为概括，不构成法律意见，请以许可原文为准。

### @hangtime/climbing-boards 还在维护吗？

最新版本 1\.0\.135 发布于 2026/11/01（2 天前）；至今共发布 136 个版本，其中过去 12 个月发布了 136 个；首次发布于 2026/03/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

