HASH is built around the open Block Protocol (@blockprotocol/blockprotocol on GitHub). The current version of HASH is based upon an adapted version of the Block Protocol Graph Module which will be formalized at a later date.
Planned features such as pages and apps more directly utilize the blocks found in this directory, which contains the source code for all public HASH-developed Block Protocol blocks.
You can preview most HASH blocks on the @hash
page in the Þ Hub, and direct links are provided below.
Directory | Spec Target | Status | Þ Hub URL | Description |
---|---|---|---|---|
address |
0.3 | Maintained | @hash/blocks/address | |
ai-chat |
0.3 | Maintained | @hash/blocks/ai-chat | |
ai-image |
0.3 | Maintained | @hash/blocks/ai-image | |
ai-text |
0.3 | Maintained | @hash/blocks/ai-text | |
callout |
0.3 | Maintained | @hash/blocks/callout | |
chart |
0.1 | Maintained | @hash/blocks/callout | |
code |
0.3 | Maintained | @hash/blocks/code | |
countdown |
0.3 | Maintained | @hash/blocks/countdown | |
divider |
0.3 | Maintained | @hash/blocks/divider | |
embed |
0.1 | Pending Update | ||
faq |
0.3 | Maintained | @hash/blocks/faq | |
heading |
0.3 | Maintained | @hash/blocks/heading | |
how-to |
0.3 | Maintained | @hash/blocks/how-to | |
image |
0.3 | Maintained | @hash/blocks/image | |
kanban-board |
0.3 | Maintained | @hash/blocks/kanban-board | |
minesweeper |
0.3 | Maintained | @hash/blocks/minesweeper | |
paragraph |
0.3 | Maintained | @hash/blocks/paragraph | |
person |
0.2 | Pending Update | ||
shuffle |
0.3 | Maintained | @hash/blocks/shuffle | |
table |
0.3 | Maintained | @hash/blocks/table | |
timer |
0.3 | Maintained | @hash/blocks/timer | |
video |
0.3 | Maintained | @hash/blocks/video |
Please note: this table/directory contains HASH-developed blocks which are (or were) published to the Þ Hub under the official @hash
namespace. This reflects neither the full extent of available Þ blocks, nor even those originally developed by HASH. A number of other publicly-accessible blocks can be found in the @hashdeps
GitHub org, including the Calculation Table, Drawing, and Pull/Merge Request Overview blocks.
In the HASH app (production): Blocks published to the Þ Hub can be run within HASH via the 'insert block' (aka. 'slash') menu.
In the HASH app (development): While running the HASH app in development mode, in addition to inserting blocks published to the Þ Hub, you can also test locally-developed blocks out by going to any page, clicking on the menu next to an empty block, and pasting in the URL to your block's distribution folder (i.e. the one containing block-metadata.json
, block-schema.json
, and the block's code). If you need a way of serving your folder, try serve
.
From the command line: If you want to work on, build or serve a single block, run:
yarn workspace @blocks/block-name dev
## or
yarn workspace @blocks/block-name build
## or
yarn workspace @blocks/block-name serve
From other applications: Blocks published to the Þ Hub can be used within any embedding application that integrates with the Block Protocol.
See the Developing Blocks page in the Þ Docs for instructions on developing and publishing your own blocks.
Run the following command to create a new block:
yarn create-block block-name
The HASH-developed blocks in this repository are currently published via manually-triggered GitHub actions:
- Publish blocks to preview (choose a branch)
- Publish blocks to production
To publish your own block, in another Þ Hub namespace (and separate from this repository), see the "Publishing Blocks" guide in the Þ Docs.