//charset: UTF-8

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
// 
//   http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

deployUrl: "https://freemarker.apache.org/docs/"
// ASF policy doesn't allow using Google Analytics anymore:
// onlineTrackerHTML: "docgen-misc/googleAnalytics.html"
// Search still uses cookies:
cookieConsentScriptURL: "https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js"
searchKey: "003127866208504630097:arjqbv_znfw"
validation: {
  programlistingsRequireRole
  // programlistingsRequireLanguage
  maximumProgramlistingWidth: 100
}
showXXELogo
generateEclipseTOC
// eclipse: {
//  link_to: "freemarker-toc.xml#ManualLink"
// }

removeNodesWhenOnline: [ "preface" ]

copyrightHolder: "The Apache Software Foundation"
copyrightHolderSite: "https://apache.org/"
copyrightSuffix: "Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners."
copyrightStartYear: 1999
copyrightCommentFile: "docgen-misc/copyrightComment.txt"

seoMeta: {
  "dgui_quickstart": {
    "title": "Getting Started with template writing"
  }
  "pgui_quickstart": {
    "title": "Getting Started with the Java API"
  }
}

logo: {
  href: "https://freemarker.apache.org"
  src: logo.png,
  alt: "FreeMarker"
}

olinks: {
  homepage: "https://freemarker.apache.org/"
  api: "api/index.html"
  apiConfigurationSettings: "api/freemarker/core/Configurable.html#setSetting-java.lang.String-java.lang.String-"
  
  // Homepage links:
  freemarkerdownload: "https://freemarker.apache.org/freemarkerdownload.html"
  contribute: "https://freemarker.apache.org/contribute.html"
  history: "https://freemarker.apache.org/history.html"
  what-is-freemarker: "https://freemarker.apache.org/"
  mailing-lists: "https://freemarker.apache.org/mailing-lists.html"
  
  // External URL-s:
  onlineTemplateTester: "https://try.freemarker.apache.org/"
  twitter: "https://twitter.com/freemarker"
  githubProject: "https://github.com/apache/freemarker"
  reportBug: "https://issues.apache.org/jira/projects/FREEMARKER"
  reportSecurityVulnerability: "https://freemarker.apache.org/report-security-vulnerabilities.html"
  askHelpOnStackOverflow: "https://stackoverflow.com/questions/ask?tags=freemarker"
  asfPrivacyPolicy: "https://privacy.apache.org/policies/privacy-policy-public.html"
}

internalBookmarks: {
  "Alpha. index": alphaidx
  "Glossary": gloss
  "Expressions": exp_cheatsheet
  "?builtins": ref_builtins_alphaidx
  "#directives": ref_directive_alphaidx
  ".spec_vars": ref_specvar
  "FAQ": app_faq
}

tabs: {
  "Home": "olink:homepage"
  "Manual": ""  // Empty => We are here
  "Java API": "olink:api"
}

// Available icons:
// .icon-heart
// .icon-bug
// .icon-download
// .icon-star
secondaryTabs: {
  "Contribute": { class: "icon-heart", href: "olink:contribute" }
  "Report a Bug": { class: "icon-bug", href: "olink:reportBug" }
  "Download": { class: "icon-download", href: "olink:freemarkerdownload" }
}

footerSiteMap: {
  "Overview": {
    "What is FreeMarker?": "olink:what-is-freemarker"
    "Download": "olink:freemarkerdownload"
    "Version history": "id:app_versions"
    "FAQ": "id:app_faq"
    "License": "id:app_license"
    "Privacy policy": "olink:asfPrivacyPolicy"
  }
  "Often used / Reference": {
    "Try template online": "olink:onlineTemplateTester"
    "Expressions cheatsheet": "id:exp_cheatsheet"
    "#directives": "id:ref_directive_alphaidx"
    "?built_ins": "id:ref_builtins_alphaidx"
    ".special_vars": "id:ref_specvar"
    "Configuration settings": "olink:apiConfigurationSettings"
  }
  "Community": {
    "Github project page": "olink:githubProject"
    "Report a bug": "olink:reportBug"
    "Report security vulnerability": "olink:reportSecurityVulnerability"
    "Get help on StackOverflow": "olink:askHelpOnStackOverflow"
    "Announcements on Twitter": "olink:twitter"
    "Discuss on mailing lists": "olink:mailing-lists"
  }
}

socialLinks: {
  "Github": { class: "github", href: "olink:githubProject" }
  "Twitter": { class: "twitter", href: "olink:twitter" }
  "Stack Overflow": { class: "stack-overflow", href: "olink:askHelpOnStackOverflow" }
}
