From 531643f43fa6a61427b72d87fbb1c8f0bbaeba7a Mon Sep 17 00:00:00 2001 From: achingbrain Date: Tue, 12 May 2026 17:44:32 +0300 Subject: [PATCH] fix: generate docs website Generates website and publishes to gh-pages branch. --- README.md | 75 ++++++++++++---------------------------------------- package.json | 3 ++- typedoc.json | 6 +++++ 3 files changed, 25 insertions(+), 59 deletions(-) create mode 100644 typedoc.json diff --git a/README.md b/README.md index 428fd7c..9991d68 100644 --- a/README.md +++ b/README.md @@ -1,80 +1,39 @@ -# @ipld/dag-cbor +# @ipld/dag-cbor [![codecov](https://img.shields.io/codecov/c/github/ipld/js-dag-cbor.svg?style=flat-square)](https://codecov.io/gh/ipld/js-dag-cbor) -[![CI](https://img.shields.io/github/workflow/status/ipld/js-dag-cbor/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/ipld/js-dag-cbor/actions/workflows/js-test-and-release.yml) +[![CI](https://img.shields.io/github/actions/workflow/status/ipld/js-dag-cbor/js-test-and-release.yml?branch=master\&style=flat-square)](https://github.com/ipld/js-dag-cbor/actions/workflows/js-test-and-release.yml?query=branch%3Amaster) > JS implementation of DAG-CBOR -## Table of contents - -- [Install](#install) -- [Spec](#spec) -- [License](#license) -- [Contribute](#contribute) - -## Install +# Install ```console $ npm i @ipld/dag-cbor ``` -This is the *new* interface meant for use by itself or with `multiformats` and -`@ipld/block`. It is not used by `js-ipld-format` which is currently -used in IPFS. That library is [here](https://github.com/ipld/js-ipld-dag-cbor). - -Usage: - -```javascript -import { encode, decode } from '@ipld/dag-cbor' -import { CID } from 'multiformats' - -const obj = { - x: 1, - /* CID instances are encoded as links */ - y: [2, 3, CID.parse('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4')], - z: { - a: CID.parse('QmaozNR7DZHQK1ZcU9p7QdrshMvXqWK6gpu5rmrkPdT3L4'), - b: null, - c: 'string' - } -} - -let data = encode(obj) -let decoded = decode(data) -decoded.y[0] // 2 -CID.asCID(decoded.z.a) // cid instance - -// encode/decode options are exported for use with cborg's encodedLength and decodeFirst -import { encodeOptions, decodeOptions } from '@ipld/dag-cbor' -import { encodedLength } from 'cborg/length' -import { decodeFirst } from 'cborg' - -// dag-cbor encoded length of obj in bytes -const byteLength = encodedLength(obj, encodeOptions) -byteLength // 104 - -// concatenate two dag-cbor encoded obj -const concatenatedData = new Uint8Array(data.length * 2) -concatenatedData.set(data) -concatenatedData.set(data, data.length) - -// returns dag-cbor decoded obj at the beginning of the buffer as well as the remaining bytes -const [first, remainder] = decodeFirst(concatenatedData, decodeOptions) -assert.deepStrictEqual(first, obj) -assert.deepStrictEqual(remainder, data) +## Browser ` ``` ## Spec The [`dag-cbor` specification is in the IPLD specs repo](https://github.com/ipld/specs/blob/master/block-layer/codecs/dag-cbor.md). -## License +# API Docs + +- + +# License Licensed under either of -- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / ) -- MIT ([LICENSE-MIT](LICENSE-MIT) / ) +- Apache 2.0, ([LICENSE-APACHE](https://github.com/ipld/js-dag-cbor/LICENSE-APACHE) / ) +- MIT ([LICENSE-MIT](https://github.com/ipld/js-dag-cbor/LICENSE-MIT) / ) -## Contribute +# Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. diff --git a/package.json b/package.json index 78f86d0..8f11667 100644 --- a/package.json +++ b/package.json @@ -158,7 +158,8 @@ "test:firefox": "aegir test -t browser -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -- --browser firefox", "test:electron-main": "aegir test -t electron-main", - "dep-check": "aegir dep-check" + "dep-check": "aegir dep-check", + "docs": "aegir docs" }, "dependencies": { "cborg": "^5.0.1", diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..b718dd0 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,6 @@ +{ + "readme": "none", + "entryPoints": [ + "./src/index.js" + ] +}