> For the complete documentation index, see [llms.txt](https://performantlabs.gitbook.io/layout-builder-kit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://performantlabs.gitbook.io/layout-builder-kit/master.md).

# Layout Builder Kit

## Introduction

[Layout Builder Kit](https://www.drupal.org/project/layout_builder_kit) is a project of [Performant Labs](https://www.performantlabs.com). Our other projects are:

* [Campaign Kit](https://www.drupal.org/project/campaign_kit), a flexible donation system made entirely in Drupal
* [Payment Stripe](https://www.drupal.org/project/payment_stripe), a [Payment](https://www.drupal.org/project/payment) module plugin for Campaign Kit
* and the [Drupal Quality Initiative](https://www.drupal.org/project/dqi), a standards system to help teams and module builders improve the code they ship.

The kit has the following components:

* Book Navigation
* Icon Text
* Image
* Rich Text
* Tab
* Video

In Drupal 8, you will see the words Block and Component used interchangeably; they are the same thing for our purposes.

Be sure to read the [Known Issues](/layout-builder-kit/known-issues.md). If there is a bug that's not known yet, please [file a bug](https://www.drupal.org/node/add/project-issue/layout_builder_kit).

Some sites like to use [Asset Injector](https://www.drupal.org/project/asset_injector) to make page-specific theme CSS and Javascript customizations. Be careful, using this too much makes the site brittle and it can become difficult to track down errors. Do your best to keep theme changes in the primary CSS file of the site theme.

### Other Layout Builder Kit Resources

The slide deck for BADCamp 2019 is "[Start using the Emerging Layout Builder Ecosystem](https://docs.google.com/presentation/d/1NvVazpriHtsRgT5XFuxhHcefcD1_7wrEMOCaeYLmVWc)." The video is coming soon.

Did you know that  [Paragraphs has an Ecosystem, Too](/layout-builder-kit/paragraphs-has-an-ecosystem-too.md)?&#x20;

### Testing a SimplyTest.me

1. Go to "SimplyTest.me."
2. Select "layout\_builder\_kit" and the latest version.
3. Click "Launch sandbox;" let the sandbox initializ.
4. From the Drupal screen that appears, login with:
   1. Username: admin
   2. Password: admin
5. Add Layout Builder components via Structure > Block layout OR by enabling Layout Builder on a content type and adding components to the layout of that content type.

## Contributing New Components

We are happy to consider adding your component to the kit but create an issue so we can discuss your ideas first.&#x20;

When coding, follow the lead of the other components and use these guidelines:

1. Subclass the class LBKBaseComponent. This is where common functionality goes, like the title, the class textfield and multilingual support (in the future).
2. Use LBK as the class prefix to prevent name collisions with other component libraries.
3. Make sure it meets [Drupal Quality Initiative Level 1](http://drupal.org/project/dqi).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://performantlabs.gitbook.io/layout-builder-kit/master.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
