> For the complete documentation index, see [llms.txt](https://blueprint.onehilltech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blueprint.onehilltech.com/developer-guide/application-resources/static-views.md).

# Views

## What is a View?

We briefly introduced you to views when we discussed [binding actions to static views](/developer-guide/routers-and-controllers/routers.md#static-views) in the router definition. Views are well-defined, reusable representation of a response to a request. Views can be static—meaning there are no variable definitions in the view, or dynamic—meaning there are variable portions in the view.

{% hint style="info" %}
All views are located in `app/views`.
{% endhint %}

## Supported View Types

Blueprint does not have its own, proprietary view type. Instead, Blueprint support any view type (*i.e.*, template engine) supported by [consolidate.js](https://github.com/tj/consolidate.js/). You just have to

1. Install the node module for the template engine you plan to use for your view type; and
2. The extension of the view must match the name of its corresponding template engine.

For example, if you want to use [pug](https://github.com/pugjs/pug) as the template engine for your views, then your views must have the file extension in `.pug`. Likewise, if you want to use [handlebars](https://handlebarsjs.com/), then your views must have the file extension `.handlebars`.

{% hint style="info" %}
Blueprint will automatically configure Express to support the different kinds of views located in `app/views`. There is no need to manually register the different template engines with Express.
{% endhint %}
