//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/"
onlineTrackerHTML: "docgen-misc/googleAnalytics.html"
cookieConsentScriptURL: "https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js"
offline: false
simpleNavigationMode
timeZone: "GMT"
validation: {
  programlistingsRequireLanguage
  maximumProgramlistingWidth: 100
}
showXXELogo

copyrightHolder: "The Apache Software Foundation"
copyrightHolderSite: "http://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

seoMeta: {
  "file:index.html": {
    "fullTitle": "FreeMarker Java Template Engine"
    // Keep this under 160 characters or so (so that Google doesn't truncate it):
    "description": "\
        Java template engine; generates HTML web pages, e-mails, configuration files, source code, etc. \
        from template files and the data your application provides."
  }
}

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

olinks: {
  // Manual links:
  manual: "docs/index.html"
  api: "docs/api/index.html"
  chienseManual: "https://sourceforge.net/projects/freemarker/files/chinese-manual/"
  templateAuthorsGuide: "docs/dgui_quickstart_basics.html"
  license: "docs/app_license.html"
  versionHistory: "docs/app_versions.html"
  freemarkerServlet: "docs/pgui_misc_servlet.html"
  expressionCheatsheet: "docs/dgui_template_exp.html#exp_cheatsheet"
  specialVariables: "docs/ref_specvar.html"
  directives: "docs/ref_directive_alphaidx.html"
  builtIns: "docs/ref_builtins_alphaidx.html"
  faq: "docs/app_faq.html"
  
  // External URL-s:
  onlineTemplateTester: "https://try.freemarker.apache.org/"
  twitter: "https://twitter.com/freemarker"
  gitFreemarker: "https://gitbox.apache.org/repos/asf/freemarker.git"
  githubMirrorFreemarker: "https://github.com/apache/freemarker"
  gitDocgen: "https://gitbox.apache.org/repos/asf/freemarker-docgen.git"
  githubMirrorDocgen: "https://github.com/apache/freemarker-docgen"
  gitSite: "https://gitbox.apache.org/repos/asf/freemarker-site.git"
  githubMirrorSite: "https://github.com/apache/freemarker-site"
  gitOnlineTester: "https://gitbox.apache.org/repos/asf/freemarker-online-tester.git"
  githubMirrorOnlineTester: "https://github.com/apache/freemarker-online-tester"
  githubProject: "olink:githubMirrorFreemarker"
  githubProjectOld: "https://github.com/freemarker/"
  privateMailingList: "mailto:private@freemarker.apache.org"
  devMailingList: "mailto:dev@freemarker.apache.org"
  devMailingListSubscribe: "mailto:dev-subscribe@freemarker.apache.org"
  devMailingListUnsubscribe: "mailto:dev-unsubscribe@freemarker.apache.org"
  devMailingListArchive: "https://lists.apache.org/list.html?dev@freemarker.apache.org"
  notificationsMailingListSubscribe: "mailto:notifications-subscribe@freemarker.apache.org"
  notificationsMailingListUnsubscribe: "mailto:notifications-unsubscribe@freemarker.apache.org"
  oldMailingListSubscription: "https://sourceforge.net/p/freemarker/mailman/"
  oldUserMailingListArchive: "http://news.gmane.org/gmane.comp.web.freemarker.user"
  oldDevelMailingListArchive: "http://news.gmane.org/gmane.comp.web.freemarker.devel"
  newBugReport: "https://issues.apache.org/jira/browse/FREEMARKER/"
  oldBugTracker: "https://sourceforge.net/p/freemarker/bugs/"
  newStackOverflowQuestion: "https://stackoverflow.com/questions/ask?tags=freemarker"
  asfSponsorship: "http://www.apache.org/foundation/sponsorship.html"
  asfThanks: "http://www.apache.org/foundation/thanks.html"
  asfHome: "http://www.apache.org/"
  asfIncubator: "http://incubator.apache.org/"
  asfLicense: "http://www.apache.org/licenses/"
  
  emacsPluginDownload: "https://sourceforge.net/projects/freemarker/files/editor-plugins/ftl.el/download"
  kwritePluginDownload: "https://sourceforge.net/projects/freemarker/files/editor-plugins/kwriteftl.tar.gz/download"
  textPadPluginDownload: "https://sourceforge.net/projects/freemarker/files/editor-plugins/textpadftl.zip/download"
  vimPluginDownload: "https://sourceforge.net/projects/freemarker/files/editor-plugins/ftl.vim/download"
}

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

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

footerSiteMap: {
  "Overview": {
    "What is FreeMarker?": "id:what-is-freemarker"
    "Download": "id:freemarkerdownload"
    "Version history": "olink:versionHistory"
    "About us": "id:history"
    "License": "olink:license"
  }
  "Handy stuff": {
    "Try template online": "olink:onlineTemplateTester"
    "Expressions cheatsheet": "olink:expressionCheatsheet"
    "#directives": "olink:directives"
    "?built_ins": "olink:builtIns"
    ".special_vars": "olink:specialVariables"
  }
  "Community": {
    "FreeMarker on Github": "olink:githubProject"
    "Follow us on Twitter": "olink:twitter"
    "Report a bug": "olink:newBugReport"
    "Ask a question": "olink:newStackOverflowQuestion"
    "Mailing lists": "id:mailing-lists"
  }
}

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

sideTOCLogos: [
  { src: "https://www.apache.org/events/current-event-234x60.png", alt: "Apache Incubator", href: "https://www.apache.org/events/current-event.html" }
]
