Konfiguration

Viele Einstellungen von Herbie kannst du in einer eigenen Konfigurationsdatei anpassen. Diese Datei kann eine YAML- oder eine PHP-Datei sein und muss im config-Verzeichnis deines Projekts abgelegt sein. Möchtest du bestimmte Einstellungen übersteuern, erstellst du also eine Datei mit folgendem Namen:

site/config/main.yml
site/config/main.php (Alternativ zur YAML-Datei)

Ohne eine solche Konfigurationsdatei gelten für Herbie die folgenden Default-Einstellungen.

app:
  path: APP_PATH

site:
  path: SITE_PATH

web:
  path: WEB_PATH
  url: WEB_URL

data:
  path: SITE_PATH/data
  extensions: [yml, yaml]

layouts:
  path: SITE_PATH/layouts

theme: default

pages:
  path: SITE_PATH/pages
  extensions: [txt, md, markdown, textile, htm, html, rss, xml]

posts:
  path: SITE_PATH/posts
  extensions: [txt, md, markdown, textile, htm, html, rss, xml]
  blog_route: blog

nice_urls: false

display_load_time: true

twig:
  debug: true
  cache: false
  #cache: SITE_PATH/cache/twig
  extend:
    functions: SITE_PATH/twig/functions
    filters: SITE_PATH/twig/filters
    tests: SITE_PATH/twig/tests

cache:
  page:
    enable: false
    dir: SITE_PATH/cache/page
    expire: "86400"

  data:
    enable: false
    dir: SITE_PATH/cache/data
    expire: "86400"

language: de
locale: "de_DE.UTF-8"
charset: "UTF-8"

plugins:
  path: SITE_PATH/plugins
  enable: []
  config: []

YAML-Konfiguration

In der YAML-Konfigurationsdatei stehen dir einige Konstanten zur Verfügung. Diese kannst du nutzen und damit die Konfiguration etwas übersichtlicher machen. Die Konstanten werden zur Laufzeit in echte Pfade umgewandelt.

Variable Beschreibung
APP_PATH Pfad zum Source-Code des Applikations-Verzeichnisses von Herbie.
SITE_PATH Pfad zum Site-Verzeichnis deines Projekts.
WEB_PATH Pfad zum Web-Verzeichnis deines Projekts.
WEB_URL URL zum Web-Verzeichnis deines Projekts.

PHP-Konfiguration

Deine Konfigurationsdatei kann auch ein normales PHP-Array sein. Findet Herbie eine Datei site/config.php, werden diese Einstellungen übernommen.

Die obigen Konstanten stehen Dir als normale PHP-Variablen zur Verfügung und heissen:

$APP_PATH
$SITE_PATH
$WEB_PATH
$WEB_URL

Bitte beachte, dass die PHP-Konfiguration Vorrang hat.

Beispiel

Für dein Projekt sollen schön lesbare URLs und das Twig-Debugging aktiviert werden.

Möchtest du YAML zur Konfiguration verwenden, erstellst du im site-Verzeichnis eine Datei config.yml mit folgendem Inhalt:

nice_urls: true
twig:
    debug: true

Möchtest du PHP zur Konfiguration verwenden, erstellst du im site-Verzeichnis eine Datei config.php mit folgendem Inhalt:

<?php
return [
    'nice_urls' => true,
    'twig' => [
        'debug' => true
    ]
];

Mit beiden Varianten erreichst du dasselbe.