Skip to content
Kirby 5 is here! Learn more

hana+nils · Büro für Gestaltung

Design Studio

Kirby Partner

Braunschweig, Germany
2 people
We speak German & English

Our expertise

  • Custom Kirby implementations
  • Web and print design
  • UI/UX design
  • Digital strategy
  • Typography
Contact

About us

We are hana+nils, a multidisciplinary design studio from Braunschweig, Germany, creating visual designs for digital and analog media. Tailored to your project’s requirements, our studio offers all necessary steps from concept through implementation to build your website.

From Frontend to Backend

We believe that good design involves great expertise in all parts of the system. This is why we pair our knowledge in design with a deep understanding of the web platform, using semantic HTML, CSS and JavaScript as our base for a Kirby setup that fits your needs.

Communication by Design

For us, shared conversation plays a central role in the process of building a site. Analysis, research, and a critical examination of the initial situation and objectives lead us to strong concepts for content, structure and design. Our primary goal is to clearly communicate what you have to say. To achieve this, we strive for structural and typographic clarity, and draw on the interaction of color, form, time and space.

Project Management

Reliable project management forms the foundation of our work. We plan and coordinate working with you and with other parties as required.

We are Johanna and Nils Hörrmann, husband and wife, working together since 2011 as Büro für Gestaltung in Braunschweig, Germany. We speak German and English and work remotely as well as on location.

Our Kirby Plugins

<p
    <?= attrs([
        'id' => 'introduction',
        'class' => 'highlighted'
    ])?>
>
    An introductory paragraph.
</p>

Attributes Helper

Helper for Kirby to build attributes based on conditions, like conditionally adding classes to an element
// As helper
<?= blindtext() ?>

// As site methods
<?= $site->blindtext() ?>

// As page methods
<?= $page->blindtext() ?>

// As user methods
<?= $user->blindtext() ?>

Blindtext

Blindtext is the German word for filler text and thus this plugin offers fillers that can be inserted into templates for layout purposes.

Checkbox Field

Checkbox is a simple field for Kirby that is a companion of the core toggle field. It offers a single checkbox with label and info text and …
foreach ($page->fruits()->toChoices() as $fruit) {
    echo $fruit;
}

Choices

Choices is a plugin that provides methods to manage field options in the frontend. For any field – like select, multiselect or checkboxlist …
$page
  ->date()
  ->toDateTime()
  ->modify('+1 month')
  ->format('Y-m-d');

Date Methods

Date Methods is a plugin that allows for advanced date and time parsing and formatting using PHP's core date objects. It offers methods for …
$plugins->filterBy('category', 'includes all', ['field', 'section']);

List Filters

Kirby allows for the storage of value lists using its select, tags or checkboxes fields but it doesn't offer ways to filter items by those …
// using the username
$users->toList();

// using the page title
$pages->toList();

// using the filename
$files->toList();

List Methods

List Methods is a plugin providing methods to generate comma-separated list from collections like pages, users or files. It allows for …
site
└ methods
  └ file.php
  └ page.php
  └ site.php
  └ user.php

Methods Folder

Methods Folder is a plugin to automatically register local methods provided in the folder site/methods just like Kirby accepts local …
snippetWhen('article', $category->isNotEmpty())

snippetWhen Helper

snippetWhen is a helper function to conditionally embed snippets.

Structure: Textarea Preview

Structure: Textarea Preview offers Markdown previews for textareas in structure fields.

Tiles

Tiles is a plugin to serve basic vector map tiles (.mbtiles). The plugin provides routes for styles, tilejson and vector tiles that can be …
<?php foreach ($notifications as $notification): ?>
  <li>
    <?= $notification
      ->track()
      ->toReference()
      ->title() ?>
  </li>
<?php endforeach ?>

Tracker

Tracker is a plugin to track content changes and create panel logs or front-end notifications in member areas.
<?= $page->text()->toTree()->level(3) ?>

Tree Methods

Tree Methods converts field values to HTML and helps adapting the resulting markup by changing headline hierarchy, wrapping and filtering …
$object->isPage();
$object->isUser();
$object->isFile();
$page->isType('article');

Type Methods

Type Methods is a plugin helping to identify the type of an object, either page, user or file, in order to simplify logic in snippets that …

Typographer

Typographer is a plugin for Kirby to apply microtypographic rules to texts, setting opening and closing quotes (primary and secondary), …