📚 Add readme for library directory

This commit is contained in:
Andrey Antukh 2025-05-22 11:38:55 +02:00
parent 3e4c80fa27
commit da10425800

80
library/README.md Normal file
View file

@ -0,0 +1,80 @@
# Penpot Library
A library that exposes a limited set of Penpot's features for
programmatic use. Currently, it provides methods to build Penpot files
in memory and export them as .penpot files (ZIP archives containing
all the necessary data to import them into a Penpot application).
## User Guide
### How to install
```bash
yarn add @penpot/library
```
### Example of use
```js
import * as penpot from "@penpot/library";
import { createWriteStream } from 'fs';
import { Writable } from "stream";
const context = penpot.createBuildContext();
context.addFile({name: "Test File 1"});
context.addPage({name: "Foo Page"});
context.addBoard({
name: "Foo Board",
x: 0,
y: 0,
width: 500,
height: 300,
});
context.closeBoard();
context.closeFile();
// Create a file stream to write the zip to
const output = createWriteStream('sample-stream.zip');
// Wrap Node's stream in a WHATWG WritableStream
const writable = Writable.toWeb(output);
await penpot.exportStream(context, writable);
```
## Developer Guide
### How to publish
Build the library:
```bash
yarn run build
```
Login on npm:
```bash
yarn npm login
```
Publish on npm:
```bash
yarn npm publish --access public
```
## License
```
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright (c) KALEIDOS INC
```