# Application Templates
Nodewood comes with three default templates, all located in wood/ui/templates:
- Most user-facing pages will default to being rendered in
ApplicationTemplate, a template that has a simple sidebar and header with user dropdown. - Public user-facing pages will default to being rendered in
MinimalTemplate, a simple template that displays a header and centers the content. - Admin-facing pages will default to being rendered in
AdminTemplate, essentially the same template asApplicationTemplate, but with some indicators to let you know this is the admin section of the site.
# Changing what template a page renders inside of
To modify the template a page will render inside of, you must modify the meta.routeTemplate field in its route. In your feature's ui/init.js file, modify the target route as follows:
{
path: '/your-route',
name: 'yourRoute',
component: () => import(/* webpackMode: "eager" */ '#ui/pages/YourRoutePage'),
meta: {
routeTemplate: 'YourNewTemplate',
},
},
# Adding a new template
First, using an existing template for reference, create a template in app/ui/templates. Then, edit app/config/ui.js and add your template to the templateComponents array, like so:
const woodConfig = require('@wood/config/app');
const YourNewTemplate = require('#ui/templates/YourNewTemplate/YourNewTemplate').default;
module.exports = {
...woodConfig,
templateComponents: {
YourNewTemplate,
},
};
Finally, modify the meta.routeTemplate field for the page you wish to use the new template, as above.