Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Block types provide a core-sponsored data structure for rendering different types of blocks. Many sites create their own custom block types that match desired design components. While sites often have unique visual presentation (theming), the same data structures can often be applied to many different designs. The goal of this project is to provide a library of commonly used block types that could be installed on any site.

The module offers a set of submodules, each of which represents a component. Submodules are advantageous for component-specific dependencies and configuration. It is expected that the library of provided block types can be customized for your specific needs after installation. After installation, block type configuration can be changed in your active site configuration for any desired customization (or, removed if not relevant).

A goal of this project is to explore the efficiency of regularly used components commonly found on sites. The general strategy used to achieve this goal is to provide a standard, out-of-the box implementation. But, an equally important goal is to provide full customization to override the default functionality after a component is installed. This module explores sane defaults for styling, markup, dependencies, libraries, and data structures - all of which relate to a fully featured, installable product.

This module relies on the Block Type Templates module to provide consistent markup per block type. This module furnishes default templates for each of the block types in the library. Themes can override the provided templates by [INSERT APPROACH HERE]

Naming Conventions

For all naming (field machine names, CSS classes, etc), please prefix with "btl" and the name of the structure, e.g. "section". For example, a "title" field would be named "field_btl_section_title".

Supporting organizations: 
Ideation, Development, Support

Project information