Skip to content

Commit de09fb3

Browse files
committed
feat: branded logo/favicon, fix footer crate links, npm 0.1.1 with README
- site: add branded indigo/violet favicon with gradient (light+dark mode) - site: new src/assets/logo.svg and logo-dark.svg for Starlight header - site: configure Starlight logo (light/dark variants, replacesTitle=true) - site: footer — fix crates.io link to edgeparse-cli (not nonexistent edgeparse) - site: footer — add second crates.io link for edgeparse-core - site: footer logo — inline SVG icon + Edge/Parse split-color wordmark - sdks/node: add README.md with full API docs, install guide, platform table - sdks/node: bump version 0.1.0 → 0.1.1 (aligns with Rust workspace 0.1.1) - sdks/node: add homepage field pointing to raphaelmansuy/edgeparse#readme - sdks/node: bump all platform sub-package versions to 0.1.1
1 parent 50470fb commit de09fb3

12 files changed

Lines changed: 270 additions & 34 deletions

File tree

sdks/node/README.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# edgeparse
2+
3+
> High-performance PDF extraction for Node.js — Rust engine, JavaScript/TypeScript interface.
4+
5+
[![npm version](https://img.shields.io/npm/v/edgeparse.svg)](https://www.npmjs.com/package/edgeparse)
6+
[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/raphaelmansuy/edgeparse/blob/main/LICENSE)
7+
[![GitHub](https://img.shields.io/badge/GitHub-raphaelmansuy%2Fedgeparse-181717?logo=github)](https://github.com/raphaelmansuy/edgeparse)
8+
9+
EdgeParse converts PDF documents to Markdown, JSON, HTML, or plain text. It is powered by a native Rust engine (via N-API) with pre-built binaries — no compilation required.
10+
11+
## Install
12+
13+
```bash
14+
npm install edgeparse
15+
# or
16+
pnpm add edgeparse
17+
# or
18+
yarn add edgeparse
19+
```
20+
21+
Pre-built binaries are available for:
22+
23+
| Platform | Architecture |
24+
|---|---|
25+
| macOS | x64, arm64 (Apple Silicon) |
26+
| Linux | x64-gnu, arm64-gnu |
27+
| Windows | x64-msvc |
28+
29+
## Quick Start
30+
31+
```typescript
32+
import { convert } from 'edgeparse';
33+
34+
// Convert a PDF to Markdown
35+
const markdown = convert('report.pdf');
36+
console.log(markdown);
37+
38+
// Convert to JSON
39+
const json = convert('report.pdf', { format: 'json' });
40+
41+
// Convert specific pages to HTML
42+
const html = convert('report.pdf', {
43+
format: 'html',
44+
pages: [0, 1, 2], // pages 1–3 (0-indexed)
45+
});
46+
47+
// Password-protected PDF
48+
const text = convert('secure.pdf', {
49+
format: 'markdown',
50+
password: 'secret',
51+
});
52+
```
53+
54+
## API
55+
56+
### `convert(inputPath, options?): string`
57+
58+
Converts a PDF file and returns the content as a string.
59+
60+
| Parameter | Type | Description |
61+
|---|---|---|
62+
| `inputPath` | `string` | Absolute or relative path to the PDF file |
63+
| `options.format` | `'markdown' \| 'json' \| 'html' \| 'text'` | Output format (default: `'markdown'`) |
64+
| `options.pages` | `number[]` | Zero-indexed page numbers to extract (default: all) |
65+
| `options.password` | `string` | Password for encrypted PDFs |
66+
| `options.readingOrder` | `'xycut' \| 'default'` | Reading order algorithm (default: `'xycut'`) |
67+
| `options.tableMethod` | `'border' \| 'cluster'` | Table detection method (default: `'border'`) |
68+
| `options.imageOutput` | `'embedded' \| 'external' \| 'none'` | Image handling (default: `'none'`) |
69+
70+
### `version(): string`
71+
72+
Returns the edgeparse engine version string.
73+
74+
```typescript
75+
import { version } from 'edgeparse';
76+
console.log(version()); // e.g. "0.1.1"
77+
```
78+
79+
## CLI
80+
81+
The package also ships an `edgeparse` CLI binary:
82+
83+
```bash
84+
npx edgeparse document.pdf
85+
npx edgeparse document.pdf --format json
86+
npx edgeparse document.pdf --format html --output output/
87+
```
88+
89+
## TypeScript
90+
91+
Full TypeScript support is included — no `@types` package needed.
92+
93+
```typescript
94+
import { convert, version } from 'edgeparse';
95+
import type { ConvertOptions } from 'edgeparse';
96+
```
97+
98+
## Performance
99+
100+
EdgeParse consistently processes **40+ pages/second** on a modern machine and achieves **88%+ extraction accuracy** on diverse real-world PDFs — dramatically faster than Python-based alternatives.
101+
102+
## Links
103+
104+
- [GitHub](https://github.com/raphaelmansuy/edgeparse)
105+
- [Documentation](https://edgeparse.com)
106+
- [PyPI (Python)](https://pypi.org/project/edgeparse/)
107+
- [crates.io (Rust CLI)](https://crates.io/crates/edgeparse-cli)
108+
- [crates.io (Rust Core)](https://crates.io/crates/edgeparse-core)
109+
110+
## License
111+
112+
Apache-2.0 — see [LICENSE](https://github.com/raphaelmansuy/edgeparse/blob/main/LICENSE).
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
{
22
"name": "edgeparse-darwin-arm64",
3-
"version": "0.1.0",
4-
"os": ["darwin"],
5-
"cpu": ["arm64"],
3+
"version": "0.1.1",
4+
"os": [
5+
"darwin"
6+
],
7+
"cpu": [
8+
"arm64"
9+
],
610
"main": "edgeparse-node.darwin-arm64.node",
7-
"files": ["edgeparse-node.darwin-arm64.node"],
11+
"files": [
12+
"edgeparse-node.darwin-arm64.node"
13+
],
814
"description": "edgeparse native addon for darwin-arm64",
915
"license": "Apache-2.0",
1016
"repository": {
1117
"type": "git",
1218
"url": "https://github.com/raphaelmansuy/edgeparse.git",
1319
"directory": "sdks/node/npm/darwin-arm64"
14-
}
20+
},
21+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme"
1522
}
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
{
22
"name": "edgeparse-darwin-x64",
3-
"version": "0.1.0",
4-
"os": ["darwin"],
5-
"cpu": ["x64"],
3+
"version": "0.1.1",
4+
"os": [
5+
"darwin"
6+
],
7+
"cpu": [
8+
"x64"
9+
],
610
"main": "edgeparse-node.darwin-x64.node",
7-
"files": ["edgeparse-node.darwin-x64.node"],
11+
"files": [
12+
"edgeparse-node.darwin-x64.node"
13+
],
814
"description": "edgeparse native addon for darwin-x64",
915
"license": "Apache-2.0",
1016
"repository": {
1117
"type": "git",
1218
"url": "https://github.com/raphaelmansuy/edgeparse.git",
1319
"directory": "sdks/node/npm/darwin-x64"
14-
}
20+
},
21+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme"
1522
}
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
{
22
"name": "edgeparse-linux-arm64-gnu",
3-
"version": "0.1.0",
4-
"os": ["linux"],
5-
"cpu": ["arm64"],
3+
"version": "0.1.1",
4+
"os": [
5+
"linux"
6+
],
7+
"cpu": [
8+
"arm64"
9+
],
610
"main": "edgeparse-node.linux-arm64-gnu.node",
7-
"files": ["edgeparse-node.linux-arm64-gnu.node"],
11+
"files": [
12+
"edgeparse-node.linux-arm64-gnu.node"
13+
],
814
"description": "edgeparse native addon for linux-arm64-gnu",
915
"license": "Apache-2.0",
1016
"repository": {
1117
"type": "git",
1218
"url": "https://github.com/raphaelmansuy/edgeparse.git",
1319
"directory": "sdks/node/npm/linux-arm64-gnu"
14-
}
20+
},
21+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme"
1522
}
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
{
22
"name": "edgeparse-linux-x64-gnu",
3-
"version": "0.1.0",
4-
"os": ["linux"],
5-
"cpu": ["x64"],
3+
"version": "0.1.1",
4+
"os": [
5+
"linux"
6+
],
7+
"cpu": [
8+
"x64"
9+
],
610
"main": "edgeparse-node.linux-x64-gnu.node",
7-
"files": ["edgeparse-node.linux-x64-gnu.node"],
11+
"files": [
12+
"edgeparse-node.linux-x64-gnu.node"
13+
],
814
"description": "edgeparse native addon for linux-x64-gnu",
915
"license": "Apache-2.0",
1016
"repository": {
1117
"type": "git",
1218
"url": "https://github.com/raphaelmansuy/edgeparse.git",
1319
"directory": "sdks/node/npm/linux-x64-gnu"
14-
}
20+
},
21+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme"
1522
}
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
{
22
"name": "edgeparse-win32-x64-msvc",
3-
"version": "0.1.0",
4-
"os": ["win32"],
5-
"cpu": ["x64"],
3+
"version": "0.1.1",
4+
"os": [
5+
"win32"
6+
],
7+
"cpu": [
8+
"x64"
9+
],
610
"main": "edgeparse-node.win32-x64-msvc.node",
7-
"files": ["edgeparse-node.win32-x64-msvc.node"],
11+
"files": [
12+
"edgeparse-node.win32-x64-msvc.node"
13+
],
814
"description": "edgeparse native addon for win32-x64-msvc",
915
"license": "Apache-2.0",
1016
"repository": {
1117
"type": "git",
1218
"url": "https://github.com/raphaelmansuy/edgeparse.git",
1319
"directory": "sdks/node/npm/win32-x64-msvc"
14-
}
20+
},
21+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme"
1522
}

sdks/node/package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "edgeparse",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "High-performance PDF extraction — Rust engine, Node.js interface",
55
"main": "./dist/index.cjs",
66
"module": "./dist/index.js",
@@ -21,16 +21,17 @@
2121
"README.md"
2222
],
2323
"optionalDependencies": {
24-
"edgeparse-darwin-arm64": "0.1.0",
25-
"edgeparse-darwin-x64": "0.1.0",
26-
"edgeparse-linux-arm64-gnu": "0.1.0",
27-
"edgeparse-linux-x64-gnu": "0.1.0",
28-
"edgeparse-win32-x64-msvc": "0.1.0"
24+
"edgeparse-darwin-arm64": "0.1.1",
25+
"edgeparse-darwin-x64": "0.1.1",
26+
"edgeparse-linux-arm64-gnu": "0.1.1",
27+
"edgeparse-linux-x64-gnu": "0.1.1",
28+
"edgeparse-win32-x64-msvc": "0.1.1"
2929
},
3030
"engines": {
3131
"node": ">=18"
3232
},
3333
"license": "Apache-2.0",
34+
"homepage": "https://github.com/raphaelmansuy/edgeparse#readme",
3435
"repository": {
3536
"type": "git",
3637
"url": "https://github.com/raphaelmansuy/edgeparse.git",

site/astro.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ export default defineConfig({
1313
starlight({
1414
title: 'EdgeParse',
1515
description: 'High-performance PDF-to-structured-data extraction engine. Rust-native, 10-100× faster than alternatives. Python, Node.js, CLI & Rust SDKs.',
16+
logo: {
17+
light: './src/assets/logo.svg',
18+
dark: './src/assets/logo-dark.svg',
19+
replacesTitle: true,
20+
alt: 'EdgeParse',
21+
},
22+
favicon: '/favicon.svg',
1623
lastUpdated: true,
1724
social: [
1825
{ icon: 'github', label: 'GitHub', href: 'https://github.com/raphaelmansuy/edgeparse' },

site/public/favicon.svg

Lines changed: 22 additions & 1 deletion
Loading

site/src/assets/logo-dark.svg

Lines changed: 20 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)