// SPDX-FileCopyrightText: 2026 Slatian <baschdel@disroot.org>
//
// SPDX-License-Identifier: AGPL-3.0-or-later
//! # Template Directory Layout
//!
//! lib-humus is mainly structured around rendering templates, the template directory
//! [HumusEngineLoader.template_location][crate::HumusEngineLoader::template_location]
//! contains files read by lib-humus at runtime.
//!
//! * `tera2/` The [templates][crate::doc::writing_templates] themselves.
//! * `{view-name}.{view-type-extension}` - Templates automatically loaded based on configured file extensions. Example: `index.html`
//! * `{additional_template_name}` - Additional templates loaded with the `additional_templates` key in `templates.toml`. Example: `shared-components`
//! * `templates.toml` - [Templates manifest file][crate::doc::templates_manifest] to configure the templating engine
//! * `extra.toml` - Default *extra configuration file* accessible to the template in the `extra` object. This file is optional.
//! * `static/` - Currently not implemented by lib-humus itself, but the recommended directory to serve static content from (see examples). You can put assets like CSS, Javascript, Images a robots.txt and so on here.
//! * `languages/` - Configuration for the [LanguageEngine][crate::language::LanguageEngine]
//! * `manifest.toml` - The [language manifest][crate::language::LanguageManifest] file. This file is always required.
//! * `{code}.ftl` - The [fluent](https://projectfluent.org) template for a given language code. One is needed for each language defined in the `manifest.toml` file, `{code}` is the key that is used in the `[languages.{code}]` section header.
//!