- Kinds of Bricks
- Foundations (aka Extension Points)
- Blueprints (aka Recipes)
- Input/Output Schemas
Kinds of Bricks
The PixieBrix ecosystem is based on sharable/combinable components that we call "bricks". Each brick has a unique identifier and version
Foundations (aka Extension Points)
Foundations are where users can attach functionality. Examples: information panels, menu items/buttons, and triggers.
Blocks are functions that you can wire together and attach to an extension point. You can also create composite blocks that behave as a single block
- Readers: read information from a document. Current Support: HTML via JQuery, EmberJS, React, window variables. Each Extension Point has a default reader it provides.
- Effects: take an input and perform a side effect. Examples: append a row to spreadsheet, send a message to Slack, open a new tab with a Google search.
- Transforms: take an input and produce an output. Example: call an API, run a jq transform, extract data using a regular expression
- Renderers: a transform that returns HTML, e.g., to render in a panel extension point. Examples: renderer markdown, a data table
You can find a list of built-in bricks on the
Re-usable resources and configuration that can also be used to authenticate requests to APIs. By creating a PixieBrix account, you can share service configurations with your team. Examples: an API credential, a Google Sheet
Blueprints (aka Recipes)
Collections of extension point + block combinations that a user can install together. Example: a collection of context menu definitions for running searches on different sites
PixieBrix uses JSON Schema for specifying the shapes of inputs and outputs. In addition to serving as documentation, having a schema facilitates detecting which bricks are misbehaving.
You can learn more about using JSON Schema with PixieBrix on the