Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ethercreative/craft-b

Shared module for traditional Craft/Twig sites
https://github.com/ethercreative/craft-b

Last synced: about 2 months ago
JSON representation

Shared module for traditional Craft/Twig sites

Awesome Lists containing this project

README

        

# craft-b
Shared module for traditional Craft/Twig sites

## Installation

```shell
$ composer require ether/craftb
```

In `config/app.php`:

```php
[
'craft-b' => [
'class' => '\ether\craftb\CraftB',
],
],
'bootstrap' => ['craft-b'],
];
```

## Twig

### Atom

Renders an atom (basically a module or component but with a shorter name).
Optionally you can pass some variables. The context is never passed to the atom,
and it will fail silently if it doesn't exist.
By default, it will load templates from the `_atoms` directory in your
`templates` folder. You can change this by adding a [config file](#config).

```twig
{% atom 'hero' {} %}
```

Also supports `children` (will inject a variable called `children`):

```twig
{% atom 'hero' {} %}

Hello world!


{% endatom %}
```

### Critical

For use with [Build](https://github.com/tam/build).
Outputs critical css into the head of the rendered template.
Will look for css files in the `_critical` directory in `templates`. You can
change this in the [config file](#config).

```twig
{% critical 'about' %}
```

## Config

You can override the config by creating a `B.php` file in the `config` directory.
See [config.php](src/config.php) for the available settings.

## Development

With Docker installed run:

```shell
$ docker-compose run php composer install
```