This document describes the available configuration settings from the `configuration.php` file in more detail.
## Language configuration
This is the core language which will be used. A corresponding language file **must exists** within `core/language/`. Currently are only `en` and `de` supported. If you are a translator, please only use the original `en` language file for your translation and open a pull request on GitHub or send your language file via email to `code@nerdmind.de`!
* `CORE.LANGUAGE`: [string: `'en'`]
## ETag configuration
If this parameter is set to `TRUE`, the system will generate an `ETag` header which includes a hash of the configuration and the timestamps of the last published items and sends them to the client. The client will cache this header and sends them with each further request in the request header to the application. If the hash which the appplication now again creates is not the same as the one from the request header (which means that no new items was published), the application exit and returns the `304 Not Modified` response header without.
* `CORE.SEND_304`: [boolean: `TRUE`|`FALSE`]
## Blog informations
Meta informations about your custom blog installation. Note that `BLOGMETA.LANG` is not the system language! It is the language in which **your content** is written and is useful for the `lang` attribute on the `` tag within the template. It depends on the template whether this variable is used or not.
* `BLOGMETA.NAME`: [string: `'My Techblog'`]
* `BLOGMETA.DESC`: [string: `'[a creative description]'`]
* `BLOGMETA.HOME`: [string: `'Welcome'`]
* `BLOGMETA.MAIL`: [string: `'webmaster@example.org'`]
* `BLOGMETA.LANG`: [string: `'en'`]
## Database
Database and hostname with login credentials to authenticate to the MySQL server.
* `DATABASE.HOSTNAME`: [string: `'localhost'`]
* `DATABASE.BASENAME`: [string: `'niceblog'`]
* `DATABASE.USERNAME`: [string: `'john_doe'`]
* `DATABASE.PASSWORD`: [string: `'#passwd#'`]
## Backend
Settings for administration area. A corresponding language file **must exists** within the template directory of the template defined by `ADMIN.TEMPLATE`!
* `ADMIN.TEMPLATE`: [string: `'admin'`]
* `ADMIN.LANGUAGE`: [string: `'en'`]
## Template
Template directory and language (from `template/{template_name}/lang/`) to use.
* `TEMPLATE.NAME`: [string: `'standard'`]
* `TEMPLATE.LANG`: [string: `'en'`]
## Paths
Protocol, hostname and base directory for your installation. If you change the base directory, you also have to change the `RewriteBase` rule within your `.htaccess` file to a value like `RewriteBase /sub/directory/`!
* `PATHINFO.PROT`: [string: `'https://'`]
* `PATHINFO.HOST`: [string: `'example.org'`]
* `PATHINFO.BASE`: [string: `'sub/directory/'`]
## List size
Number of items to display per-site on overview sites.
* `PAGE.LIST_SIZE`: [integer: `10`]
* `POST.LIST_SIZE`: [integer: `10`]
* `USER.LIST_SIZE`: [integer: `10`]
## Feed size
Number of items to display within the RSS feed.
* `PAGE.FEED_SIZE`: [integer: `25`]
* `POST.FEED_SIZE`: [integer: `25`]
## Slug URLs
Enable or disable the use of slug URLs for page items. If disabled, the unique primary item ID is used instead.
* `PAGE.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
* `POST.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
* `USER.SLUG_URLS`: [boolean: `TRUE`|`FALSE`]
## Directories
Base directory relative to your root directory where page items should be linked. If you change one of these default values, you also have to change your `.htaccess` as well.
* `PAGE.DIRECTORY`: [string: `'page/'`]
* `POST.DIRECTORY`: [string: `'post/'`]
* `USER.DIRECTORY`: [string: `'user/'`]
## Emoticons
Enable or disable parsing of emoticons for the body of the item.
* `PAGE.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
* `POST.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
* `USER.EMOTICONS`: [boolean: `TRUE`|`FALSE`]
## `` description
Number of characters from the items content to display within the `` description.
* `PAGE.DESCRIPTION_SIZE`: [integer: `200`]
* `POST.DESCRIPTION_SIZE`: [integer: `200`]
* `USER.DESCRIPTION_SIZE`: [integer: `200`]
## List sort
The `ORDER BY` clause for item sorting on item overview sites. You can use each column from the database table to sort and you also can combine multiple columns together. See the MySQL documentation for `ORDER BY` for more information.
* `PAGE.LIST_SORT`: [string: `'time_insert DESC'`]
* `POST.LIST_SORT`: [string: `'time_insert DESC'`]
* `USER.LIST_SORT`: [string: `'time_insert DESC'`]
## Feed sort
The `ORDER BY` clause for item sorting within the RSS feed. You can use each column from the database table to sort and you also can combine multiple columns together. See the MySQL documentation for `ORDER BY` for more information.
* `PAGE.FEED_SORT`: [string: `'time_insert DESC'`]
* `POST.FEED_SORT`: [string: `'time_insert DESC'`]
## Feed `` hash
Item attributes (database columns) to use to generate the `` value for the RSS feed items.
* `PAGE.FEED_GUID`: [array: `['id', 'time_insert']`]
* `POST.FEED_GUID`: [array: `['id', 'time_insert']`]