Skip to content

imchell/blockprotocol

 
 

Repository files navigation

Block Protocol

The Block Protocol is an open standard for building and using data-driven blocks. Blocks developed in accordance with the protocol allow you to make websites and applications that are both more useful to and readable by humans and machines.

Getting Started

Please refer to the Block Protocol documentation for complete instructions on using the Block Protocol, including:

  • developing new blocks;
  • publishing blocks to the Block Hub; and
  • embedding blocks within your application.

Usage

HASH is an example embedding application that uses the Block Protocol to enable users to insert arbitrary blocks from the Block Hub at runtime. Neither the blocks nor the application have any special knowledge of one another. Both simply conform to the protocol.

For more examples, please refer to the Block Protocol documentation or browse the complete Block Hub.

Roadmap

Learn more on our RFCs & Roadmap page in the docs.

Repository contents

We welcome contributions to this repository. Within it you will find folders for:

  1. site: the code for blockprotocol.org, including:

  2. packages: utility packages for constructing Block Protocol blocks. These are all available via yarn add <package_name> or npm install <package_name>. See the individual README files in each folder for more details.

    • @blockprotocol/core: implements the Block Protocol core specification for blocks and embedding applications
    • @blockprotocol/graph: implements the Block Protocol graph specification for blocks and embedding applications
    • block-scripts: scripts used by block-template
    • block-template: starter templates for blocks, used by create-block-app
    • create-block-app: a script to create a new block using block-template
    • mock-block-dock: a mock embedding application used for developing blocks
    • react-block-loader: a component for loading Block Protocol blocks from a remote URL (pending an update to support Block Protocol v0.2)

Contributing

The Block Protocol is an open-source standard, and community contributions are what make open-source such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please consider starring the project and watching it on GitHub, to be kept abreast of future developments and show your appreciation.

If you’ve got an idea for a new block, would like to make a suggestion that improves the protocol itself, or want to contribute to a better developer experience for users of the protocol, then please either open an RFC, or open an issue with the tag “enhancement”. If you're unsure as to which is more appropriate, read the "When to follow this process" section of our RFC README.

Please feel free to fork the repo in order to create a pull request:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

If you’re looking for inspiration regarding new blocks to build, or contributions you could make, please check the open issues.

License

Distributed under the MIT License. See LICENSE.md for more information.

Contact

Find us on Twitter at @blockprotocol or email support@blockprotocol.org

You can also join our community Discord server for quick help and support.

Project permalink: https://github.com/blockprotocol/blockprotocol

Acknowledgments

About

The open block protocol Þ

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.3%
  • JavaScript 4.6%
  • Other 1.1%