open-index/open-npm huggingface dataset:
npm package: @hyperbook/fs
Description: File system utilities for Hyperbook projects. This package handles:
Author: Mike Barkmin
Latest version: 0.25.0

# @hyperbook/fs

File system utilities for Hyperbook projects. This package handles:

- Loading and validating `hyperbook.json` and `hyperlibrary.json` configuration files
- Reading and processing markdown files with frontmatter
- Building navigation structures from file hierarchies
- Managing project structure (hyperbook, hyperlibrary, hyperproject)
- Handling virtual files (VFile) for glossary, archives, snippets, and public assets
- Handlebars template registration and helpers

## Installation

```sh
pnpm add @hyperbook/fs
# or
npm i @hyperbook/fs
```

## Usage

```typescript
import { hyperbook, hyperlibrary, hyperproject } from "@hyperbook/fs";

// Load a hyperbook project
const book = await hyperbook.make("/path/to/book");

// Access configuration
console.log(book.config.name);

// Get navigation
const navigation = book.navigation;
```
npm package: @hyperbook/markdown
Description: Markdown processing engine for Hyperbook. This package provides extensive markdown transformation capabilities with 30+ custom directives and plugins:
Author: Mike Barkmin
Latest version: 0.60.2

# @hyperbook/markdown

Markdown processing engine for Hyperbook. This package provides extensive markdown transformation capabilities with 30+ custom directives and plugins:

**Core Features:**
- Custom markdown directives (alerts, videos, collapsibles, tabs, etc.)
- Code execution environments (Python, SQL, Web IDE)
- Interactive elements (Excalidraw, Mermaid, JSXGraph, GeoGebra)
- Media embedding (YouTube, audio, video)
- Math support (KaTeX)
- Syntax highlighting (Shiki with Pretty Code)
- Table of contents generation
- Search document indexing
- Emoji support (GitHub emojis)
- Image processing with attributes

**Supported Directives:**
`:alert`, `:video`, `:youtube`, `:audio`, `:archive`, `:download`, `:embed`, `:excalidraw`, `:mermaid`, `:plantuml`, `:collapsible`, `:tabs`, `:tiles`, `:slideshow`, `:term`, `:pagelist`, `:bookmarks`, `:qr`, `:protect`, `:textinput`, `:pyide`, `:sqlide`, `:webide`, `:onlineide`, `:scratchblock`, `:h5p`, `:geogebra`, `:jsxgraph`, `:abcmusic`, `:learningmap`, `:struktog`, `:typst`, and more.

## Installation

```sh
pnpm add @hyperbook/markdown
# or
npm i @hyperbook/markdown
```

## Usage

```typescript
import { process } from "@hyperbook/markdown";

const result = await process({
  content: "# Hello\n\n:alert[Warning]{type=warning}",
  config: hyperbookConfig,
  // ...
});

console.log(result.html); // Transformed HTML
console.log(result.data.headings); // Extracted headings
```
npm package: @hyperbook/types
Description: TypeScript type definitions for Hyperbook. This package provides all the core types used across the Hyperbook ecosystem, including:
Author: Mike Barkmin
Latest version: 0.23.0

# @hyperbook/types

TypeScript type definitions for Hyperbook. This package provides all the core types used across the Hyperbook ecosystem, including:

- Configuration types for `hyperbook.json` and `hyperlibrary.json`
- Page and section navigation types
- Language and layout definitions
- Element and directive configuration types
- Glossary and frontmatter types

## Installation

```sh
pnpm add @hyperbook/types
# or
npm i @hyperbook/types
```

## Usage

```typescript
import type { HyperbookJson, Language, Navigation } from "@hyperbook/types";

const config: HyperbookJson = {
  name: "My Documentation",
  language: "en",
  // ...
};
```
npm package: @hyperbook/web-component-excalidraw
Description: Web component wrapper for Excalidraw integration in Hyperbook. This package provides a custom element that embeds the Excalidraw drawing tool as a reusable web component.
Author: Mike Barkmin
Latest version: 0.3.3

# @hyperbook/web-component-excalidraw

Web component wrapper for Excalidraw integration in Hyperbook. This package provides a custom element that embeds the Excalidraw drawing tool as a reusable web component.

**Features:**
- Standalone Excalidraw web component
- Built with React and converted to web component via `@r2wc/react-to-web-component`
- Compatible with any HTML environment
- Used by the `:excalidraw` directive in `@hyperbook/markdown`

## Installation

```sh
pnpm add @hyperbook/web-component-excalidraw
# or
npm i @hyperbook/web-component-excalidraw
```

## Usage

```html
<!-- In HTML -->
<hyperbook-excalidraw data="..."></hyperbook-excalidraw>
```

```javascript
// In JavaScript
import "@hyperbook/web-component-excalidraw";
```
npm package: @hyperbook/web-component-learningmap
Description: A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.
Author: Mike Barkmin
Latest version: 0.2.1

# @hyperbook/web-component-learningmap-editor

A web component for editing learning maps/roadmaps with drag-and-drop nodes, customizable settings, and visual editing capabilities.

## Features

- **Visual Editor**: Drag-and-drop interface for creating and positioning nodes
- **Node Types**: Support for Task and Topic nodes
- **Node Settings**: Edit labels, descriptions, resources, durations, and more
- **Unlock Rules**: Configure password, date, and dependency-based unlocking
- **Completion Rules**: Set completion needs and optional dependencies
- **Background Customization**: Configure background color and images
- **Auto-Layout**: Automatic node positioning using ELK algorithm
- **Edge Management**: Connect nodes with customizable edges

## Usage

```html
<hyperbook-learningmap-editor
  roadmap-data='{"nodes": [], "edges": []}'
  language="en"
></hyperbook-learningmap-editor>
```

## Events

The component fires a `change` event when the Save button is pressed:

```javascript
const editor = document.querySelector('hyperbook-learningmap-editor');
editor.addEventListener('change', (event) => {
  const roadmapData = event.detail;
  console.log('Roadmap data:', roadmapData);
});
```

## Roadmap Data Format

```json
{
  "nodes": [
    {
      "id": "node1",
      "type": "task",
      "position": { "x": 0, "y": 0 },
      "data": {
        "label": "Introduction",
        "description": "Learn the basics",
        "resources": [
          { "label": "Documentation", "url": "https://example.com" }
        ],
        "unlock": {
          "password": "secret",
          "date": "2024-01-01",
          "after": ["node0"]
        },
        "completion": {
          "needs": [{ "id": "node0" }],
          "optional": [{ "id": "node2" }]
        }
      }
    }
  ],
  "edges": [],
  "background": {
    "color": "#ffffff",
    "image": {
      "src": "bg.png",
      "x": 0,
      "y": 0
    }
  }
}
```
npm package: @hyperbricklabs/sdk
Description: 🛠 An SDK for building applications on top of Trader Joe.
Latest version: 5.0.14

# Trader Joe SDK

This repo contains tools for developing with [TraderJoe XYZ](https://www.traderjoexyz.com) v1.

## Running

This project uses standard npm and yarn workflows.

Install dependencies

```sh
pnpm install
```

Compile

```sh
pnpm build
```

## Installation

This project is available as an npm package. Add to your project with `npm install @hyperbricklabs/sdk`

## Attribution

This code was adapted from this Uniswap repo: [uniswap-sdk](https://github.com/Uniswap/sdk).
npm package: @hyperbricklabs/sdk-core
Description: This repo contains tools for developing with [TraderJoe XYZ](https://www.traderjoexyz.com).
Latest version: 2.0.13

# Trader Joe core SDK

This repo contains tools for developing with [TraderJoe XYZ](https://www.traderjoexyz.com).

## Running

This project uses standard npm and yarn workflows.

Install dependencies

```sh
pnpm install
```

Compile

```sh
pnpm build
```

## Installation

This project is available as an npm package. Add to your project with `npm install @hyperbricklabs/sdk-core`

## Attribution

This code was adapted from this Uniswap repo: [uniswap-sdk](https://github.com/Uniswap/sdk).
npm package: @hyperbricklabs/sdk-v2
Description: This SDK contains tools for developing for the [Joe V2](https://www.traderjoexyz.com) protocol, which utilizes the Liquidity Book architecture.
Latest version: 3.0.28

# Joe V2 SDK

This SDK contains tools for developing for the [Joe V2](https://www.traderjoexyz.com) protocol, which utilizes the Liquidity Book architecture.

For more details:

- [Whitepaper](https://github.com/traderjoe-xyz/research/blob/main/JOE%20v2%20-%20Liquidity%20Book.pdf)
- [Developer Docs](https://docs.traderjoexyz.com/)