{
  Kalamar => {
    ## Backend server path
    # api_path => 'https://korap.example.org/api/',
    # plugins => ["Auth"],
    ## Backend API version
    # api_version => '1.0',

    ## If the application is run behind a proxy, ignore the forwarded host
    # proxy_host => 0,

    ## Run the application in a subfolder behind a proxy:
    # proxy_prefix => '/deliko',

    ## The name of the base corpus,
    ## for query examples (see kalamar.queries.dict)
    examplecorpus => 'DeLiKo@DNB',

    ## For further Plugins, add them
    ## to this array:
    # plugins => [],
    plugins  => ['Plugins'],

    ## Currently bundled: Piwik, Auth

    ## Require everything to be send via https only:
    # https_only => 1,

    ## Override default content security policy
    # cs_policy => "default-src '*';"

    ## Set proxy timeouts
    # proxy_inactivity_timeout => 120,
    # proxy_connect_timeout => 120,
    defaults => {
      alignment => 'center'
    },
    proxies => [{
      root_path => '/plugin/export',
      mount => 'http://kalamar-export-plugin:7777',
      service => 'export-plugin-proxy'
    }],
    navi_ext => [ {
        "title" => "virtual_subcorpora",
        "id" => "virtual_subcorpora"
      }
    ],
  },
  CSP => {
    'frame-src' => ['self', 'https://korap.ids-mannheim.de/', 'https://www.youtube.com'],
    'frame-ancestors' => ['self','http://korap.dnb.de/','https://korap.dnb.de/']
   },
 'Kalamar-Plugins' => {
     default_plugins =>'deliko.plugins.json'
  },
  Localize => {
    dict => {
      'en_title_addon' => 'DeLiKo-XL@DNB',
      'en_Nav_virtual_subcorpora' => 'Useful Virtual Subcorpora',
      'de_Nav_virtual_subcorpora' => 'Nützliche virtuelle Subkorpora',
      'de_Template_intro' => 'custom/intro',
      'en_Template_intro' => 'custom/intro',
      'en_howToCite' => 'Citation Help',
      'de_howToCite' => 'Zitierhilfe',
      'en_recentCorpusPub' => 'Recent publications to refer to DeLiKo@DNB as research data',
      'de_recentCorpusPub' => 'Neuere Publikationen zu DeLiKo@DNB als Forschungsdatengrundlage',
      'en_recentToolPub' => 'Recent publications to refer to KorAP as a research tool',
      'de_recentToolPub' => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
    },
    override  => 1
  },
  'TagHelpers-ContentBlock' => {
    footer => [
    {
      inline => '<%= link_to loc("about") => "http://www.ids-mannheim.de/kl/projekte/korap/" %>',  
      position => 70
    },
    {
      inline => '<%= link_to loc("howToCite") => url_for(doc => { page => "faq" })->fragment("howToCite") %>',
      position => 75
    },
    {
      inline => '<%= link_to loc("imprint") => "https://www.dnb.de/DE/Service/Impressum/impressum_node.html" %>',  
      position => 80
    }],
    faq => [
      {
        position => 50,
        inline => <<'HOWTOCITE'
<section>
  <h3 id="howToCite"><%= loc 'howToCite' %></h3>
%= include 'custom/partial/citation'
</section>
HOWTOCITE
      }
    ]
  }
}
