atproto blogging
1# @weaver/renderer
2
3WASM bindings for rendering AT Protocol records (Bluesky posts, etc.) to HTML.
4
5## Installation
6
7```bash
8npm install @weaver.sh/renderer-full # With syntax highlighting
9npm install @weaver.sh/renderer-core # Light(er) weight
10```
11
12## Usage
13
14### With a bundler (webpack, vite, etc.)
15
16```javascript
17import init, { render_record, render_markdown } from '@weaver/renderer-full';
18
19await init();
20
21const html = render_record(atUri, recordJson);
22```
23
24### Direct browser usage (no bundler)
25
26```html
27<script type="module">
28 import init, { render_record } from '@weaver/renderer-full/web';
29 await init();
30 // ...
31</script>
32```
33
34### Node.js
35
36```javascript
37const { render_record } = require('@weaver/renderer-full/nodejs');
38```
39
40## API
41
42- `render_record(at_uri, record_json, fallback_author?, resolved_content?)` - Render an AT Protocol record
43- `render_markdown(markdown, resolved_content?)` - Render markdown to HTML
44- `render_math(latex, display_mode)` - Render LaTeX math to MathML
45- `render_faceted_text(text, facets_json)` - Render rich text with facets