//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: "http://freemarker.org/"
onlineTrackerHTML: "docgen-misc/googleAnalytics.html"
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."
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: "http://freemarker.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: "http://try.freemarker.org/"
  twitter: "https://twitter.com/freemarker"
  sourceforgeProject: "https://sourceforge.net/projects/freemarker/"
  gitFreemarker: "https://git-wip-us.apache.org/repos/asf/incubator-freemarker.git"
  githubMirrorFreemarker: "https://github.com/apache/incubator-freemarker"
  gitDocgen: "https://git-wip-us.apache.org/repos/asf/incubator-freemarker-docgen.git"
  githubMirrorDocgen: "https://github.com/apache/incubator-freemarker-docgen"
  gitSite: "https://git-wip-us.apache.org/repos/asf/incubator-freemarker-site.git"
  githubMirrorSite: "https://github.com/apache/incubator-freemarker-site"
  githubProject: "olink:githubMirrorFreemarker"
  githubProjectOld: "https://github.com/freemarker/"
  privateMailingList: "mailto:private@freemarker.incubator.apache.org"
  devMailingList: "mailto:dev@freemarker.incubator.apache.org"
  devMailingListSubscribe: "mailto:dev-subscribe@freemarker.incubator.apache.org"
  devMailingListUnsubscribe: "mailto:dev-unsubscribe@freemarker.incubator.apache.org"
  notificationsMailingListSubscribe: "mailto:notifications-subscribe@freemarker.incubator.apache.org"
  notificationsMailingListUnsubscribe: "mailto:notifications-unsubscribe@freemarker.incubator.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: "http://stackoverflow.com/questions/ask?tags=freemarker"
  
  emacsPluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/ftl.el/download"
  kwritePluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/kwriteftl.tar.gz/download"
  textPadPluginDownload: "http://sourceforge.net/projects/freemarker/files/editor-plugins/textpadftl.zip/download"
  vimPluginDownload: "http://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" }
}
