# 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 %}


---

# Agent Instructions: 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:

```
GET https://blueprint.onehilltech.com/developer-guide/application-resources/static-views.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
