[[_theme_resource]]
=== Theme Resources

When implementing custom providers in {project_name} there may often be a need to add additional templates and resources.

ifeval::[{project_community}==true]
An example use-case would be a <<_auth_spi,custom authenticator>> that requires additional templates and resources.
endif::[]

The easiest way to load additional theme resources is to create a JAR with templates in `theme-resources/templates`
and resources in `theme-resources/resources` and drop it into the `standalone/deployments/` directory of {project_name}.

If you want a more flexible way to load templates and resources that can be achieved through the ThemeResourceSPI.
By implementing `ThemeResourceProviderFactory` and `ThemeResourceProvider` you can decide exactly how to load templates
and resources.

Follow the steps in <<_providers,Service Provider Interfaces>> for more details on how to create and deploy a custom
provider.
