﻿//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/"
onlineTrackerHTML: "docgen-misc/googleAnalytics.html"
cookieConsentScriptURL: "https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js"
searchKey: "014728049242975963158:8awjt03uofm"
validation: {
  programlistingsRequireRole
  // programlistingsRequireLanguage
  maximumProgramlistingWidth: 100
}
showXXELogo
generateEclipseTOC
// eclipse: {
//  link_to: "freemarker-toc.xml#ManualLink"
// }

removeNodesWhenOnline: [ "preface" ]

copyrightHolder: "The Apache Software Foundation"
copyrightStartYear: 1999
copyrightCommentFile: "../en_US/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"
  
  // 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: "http://try.freemarker.org/"
  twitter: "https://twitter.com/freemarker"
  sourceforgeProject: "https://sourceforge.net/projects/freemarker/"
  githubProject: "https://github.com/freemarker/freemarker"
  newBugReport: "https://sourceforge.net/p/freemarker/bugs/new/"
  newStackOverflowQuestion: "https://stackoverflow.com/questions/ask?tags=freemarker"
  asfIncubator: "http://incubator.apache.org/"
}

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:newBugReport" }
  "Download": { class: "icon-download", href: "olink:freemarkerdownload" }
}

footerSiteMap: {
  "Overview": {
    "What is FreeMarker?": "olink:what-is-freemarker"
    "Download": "olink:freemarkerdownload"
    "Version history": "id:app_versions"
    "About us": "olink:history"
    "License": "id:app_license"
  }
  "Handy stuff": {
    "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"
  }
  "Community": {
    "FreeMarker on Github": "olink:githubProject"
    "Follow us on Twitter": "olink:twitter"
    "Report a bug": "olink:newBugReport"
    "Ask a question": "olink:newStackOverflowQuestion"
    "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:newStackOverflowQuestion" }
}
