From fef8c37c60436d5fb5d9c2dceb81650b6ebc740a Mon Sep 17 00:00:00 2001 From: rafapaezbas <15270736+rafapaezbas@users.noreply.github.com> Date: Wed, 21 Feb 2024 20:56:52 +0100 Subject: [PATCH] converted building-blocks, tools and helpers to tables (#65) * converted building-blocks, tools and helpers to tables * tweak readme tables css * corrected typo * more tweaks to readme tables css * removed code blocks from tables * fixed typos * format readme tables css --------- Co-authored-by: rafapaezbas --- README.md | 51 ++++++++++++++++++-------------- examples/react-app-using-pear.md | 2 +- lib/docs-viewer.js | 34 +++++++++++++++++++++ 3 files changed, 63 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index e1fe662..5b88663 100644 --- a/README.md +++ b/README.md @@ -34,17 +34,6 @@ Guides on using the pear runtime to build and share P2P applications. * [Sharing a Pear Application](./guide/sharing-a-pear-app.md) * [Releasing a Pear Application](./guide/releasing-a-pear-app.md) -### Building blocks - -The essential building blocks for building powerful P2P applications using Pear. - -* [`hypercore`](./building-blocks/hypercore.md): A distributed, secure append-only log for creating fast and scalable applications without a backend, as it is entirely P2P. -* [`hyperbee`](./building-blocks/hyperbee.md): An append-only B-tree based on Hypercore. It provides a key/value-store API with methods to insert and get key/value pairs, perform atomic batch insertions, and create sorted iterators. -* [`hyperdrive`](./building-blocks/hyperdrive.md): A secure, real-time distributed file system that simplifies P2P file sharing that provides an efficient way to store and access data across multiple connected devices in a decentralized manner. -* [`autobase`](./building-blocks/autobase.md): A "virtual Hypercore" layer over many Hypercores owned by many different peers. -* [`hyperdht`](./building-blocks/hyperdht.md): The Distributed Hash Table (DHT) powering Hyperswarm. Through this DHT, each server is bound to a unique key pair, with the client connecting to the server using the server's public key. -* [`hyperswarm`](./building-blocks/hyperswarm.md): A high-level API for finding and connecting to peers who are interested in a "topic". - ### How-tos Simple How-tos on using the essential builing blocks in Pear applications. @@ -56,26 +45,42 @@ Simple How-tos on using the essential builing blocks in Pear applications. * [How to share append-only databases with Hyperbee](./howto/share-append-only-databases-with-hyperbee.md) * [How to create a full peer-to-peer filesystem with Hyperdrive](./howto/create-a-full-peer-to-peer-filesystem-with-hyperdrive.md) +### Building blocks + +The essential building blocks for building powerful P2P applications using Pear. + +| Name | Description | Stability | +|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------| +| [Hypercore](./building-blocks/hypercore.md) | A distributed, secure append-only log for creating fast and scalable applications without a backend, as it is entirely P2P. | **stable** | +| [Hyperdrive](./building-blocks/hyperdrive.md)| A secure, real-time distributed file system that simplifies P2P file sharing and provides an efficient way to store and access data.| **stable** | +| [Autobase](./building-blocks/autobase.md) | A "virtual Hypercore" layer over many Hypercores owned by many different peers. | **experimental** | +| [Hyperdht](./building-blocks/hyperdht.md) | The Distributed Hash Table (DHT) powering Hyperswarm. | **stable** | +| [Hyperswarm](./building-blocks/hyperswarm.md)| A high-level API for finding and connecting to peers who are interested in a "topic". | **stable** | + ### Helpers Helper modules can be used together with the building blocks to create cutting-edge P2P tools and applications. -* [`corestore`](./helpers/corestore.md): A Hypercore factory designed to facilitate the management of sizable named Hypercore collections. -* [`localdrive`](./helpers/localdrive.md): A file system interoperable with Hyperdrive. -* [`mirrordrive`](./helpers/mirrordrive.md): Mirror a [`hyperdrive`](./building-blocks/hyperdrive.md) or a [`localdrive`](./helpers/localdrive.md) into another one. -* [`secretstream`](./helpers/secretstream.md): SecretStream is used to securely create connections between two peers in Hyperswarm. -* [`compact-encoding`](./helpers/compact-encoding.md): A series of binary encoding schemes for building fast and small parsers and serializers. We use this in Keet to store chat messages and in Hypercore's replication protocol. -* [`protomux`](./helpers/protomux.md): Multiplex multiple message oriented protocols over a stream. +| Name | Description | Stability | +|--------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| +| [Corestore](./helpers/corestore.md) | A Hypercore factory designed to facilitate the management of sizable named Hypercore collections. | **stable** | +| [Localdrive](./helpers/localdrive.md) | A file system interoperable with Hyperdrive. | **stable** | +| [Mirrordrive](./helpers/mirrordrive.md) | Mirror a [Hyperdrive](./building-blocks/hyperdrive.md) or a [Localdrive](./helpers/localdrive.md) into another one. | **stable** | +| [Secretstream](./helpers/secretstream.md) | SecretStream is used to securely create connections between two peers in Hyperswarm. | **stable** | +| [Compact-encoding](./helpers/compact-encoding.md)| A series of binary encoding schemes for building fast and small parsers and serializers. We use this in Keet to store chat messages and in Hypercore's replication protocol.| **stable** | +| [Protomux](./helpers/protomux.md) | Multiplex multiple message oriented protocols over a stream. | **stable** | ### Tools The following tools are used extensively employed in the day-to-day development and operation of applications built on Pear. -* [Hypershell](./tools/hypershell.md): A CLI to create and connect to P2P E2E encrypted shells. -* [Hypertele](./tools/hypertele.md): A swiss-knife proxy powered by [HyperDHT](./building-blocks/hyperdht.md). -* [Hyperbeam](./tools/hyperbeam.md): A one-to-one and end-to-end encrypted internet pipe. -* [Hyperssh](./tools/hyperssh.md): A CLI to run SSH over the [HyperDHT](./building-blocks/hyperdht.md). -* [Drives](./tools/drives.md): CLI to download, seed, and mirror a [hyperdrive](./building-blocks/hyperdrive.md) or a [localdrive](./helpers/localdrive.md). +| Name | Description | Stability | +|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------| +| [Hypershell](./tools/hypershell.md)| A CLI to create and connect to P2P E2E encrypted shells. | **stable** | +| [Hypertele](./tools/hypertele.md) | A swiss-knife proxy powered by [HyperDHT](./building-blocks/hyperdht.md). | **stable** | +| [Hyperbeam](./tools/hyperbeam.md) | A one-to-one and end-to-end encrypted internet pipe. | **stable** | +| [Hyperssh](./tools/hyperssh.md) | A CLI to run SSH over the [HyperDHT](./building-blocks/hyperdht.md). | **stable** | +| [Drives](./tools/drives.md) | CLI to download, seed, and mirror a [Hyperdrive](./building-blocks/hyperdrive.md) or a [Localdrive](./helpers/localdrive.md). | **stable** | ### Apps @@ -101,4 +106,4 @@ The following stability indices have been used: | **stable** | Unlikely to change or be removed in the foreseeable future. | | **experimental** | New, untested, or have known issues. | | **deprecated** | Being removed or replaced in the future. | -| **unstable** | May change or be removed without warning. | \ No newline at end of file +| **unstable** | May change or be removed without warning. | diff --git a/examples/react-app-using-pear.md b/examples/react-app-using-pear.md index bf72faa..71b3544 100644 --- a/examples/react-app-using-pear.md +++ b/examples/react-app-using-pear.md @@ -4,4 +4,4 @@ The following is an example of a filesharing application built with the React fr - [Filesharing React App Example](https://github.com/holepunchto/filesharing-react-app-example) -For further reference on using the Pear runtime, please refer to [Pear](../README.md#pear-runtime). \ No newline at end of file +For further reference on using the Pear Runtime, please refer to [Pear](../README.md#pear-runtime). diff --git a/lib/docs-viewer.js b/lib/docs-viewer.js index e993e89..d16fbd5 100644 --- a/lib/docs-viewer.js +++ b/lib/docs-viewer.js @@ -52,6 +52,40 @@ customElements.define('docs-viewer', class extends HTMLElement { img[src*="quality.png"]{ max-width: 20em } img[src*="secure.png"]{ max-width: 20em } img[src*="filehandling.png"]{ max-width: 20em } + + mark{ padding: 2px } + + #building-blocks + p + table td:first-child, + #helpers + p + table td:first-child, + #tools + p + table td:first-child { + width: 150px; vertical-align: top + } + + #building-blocks + p + table td:nth-child(2), + #helpers + p + table td:nth-child(2), + #tools + p + table td:nth-child(2) { + width: 730px; + } + + #building-blocks + p + table td:nth-child(3), + #helpers + p + table td:nth-child(3), + #tools + p + table td:nth-child(3) { + width: 150px; + text-align: center + } + + #building-blocks + p + table, + #helpers + p + table, #tools + p + table { + border-spacing: 0px 10px; + } + + #stability-indexing + p + p + table td:first-child { + width: 150px; text-align: center; vertical-align: top + } + + #stability-indexing + p + p + table td:nth-child(2) { + text-align: left + }