freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddek...@apache.org
Subject [37/51] [partial] incubator-freemarker-site git commit: 2.3.26-voting docs, removed nightly
Date Wed, 15 Mar 2017 21:19:34 GMT
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/a4004324/builds/2.3.26-nightly/pgui.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui.html b/builds/2.3.26-nightly/pgui.html
deleted file mode 100644
index 4213288..0000000
--- a/builds/2.3.26-nightly/pgui.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<!-- Generated by FreeMarker/Docgen from DocBook -->
-<html lang="en" class="page-type-part">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<title>Programmer&#39;s Guide - Apache FreeMarker Manual</title>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="format-detection" content="telephone=no">
-<meta property="og:site_name" content="Apache FreeMarker Manual">
-<meta property="og:title" content="Programmer&#39;s Guide">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui.html">
-<link rel="icon" href="favicon.png" type="image/png">
-<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
-<script>
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-ga('create', 'UA-55420501-1', 'auto');
-ga('send', 'pageview');
-</script>
-</head>
-<body itemscope itemtype="https://schema.org/Code">
-    <meta itemprop="url" content="http://freemarker.org/docs/">
-    <meta itemprop="name" content="Apache FreeMarker Manual">
-
-  <!--[if lte IE 9]>
-  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
-  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
-</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui.html"><span itemprop="name">Programmer&#39;s Guide</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_ex
 p.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
-      <div class="content-wrapper">
-  <div id="table-of-contents-wrapper" class="col-left">
-      <script>var breadcrumb = ["Apache FreeMarker Manual","Programmer\'s Guide"];</script>
-      <script src="toc.js?1489402528979"></script>
-      <script src="docgen-resources/main.min.js?1489402528979"></script>
-  </div>
-<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="dgui_misc_alternativesyntax.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_quickstart.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-part" id="pgui" itemprop="headline">Programmer&#39;s Guide</h1>
-</div></div><div class="page-menu">
-<div class="page-menu-title">Section Contents</div>
-<ul><li><a class="page-menu-link" href="pgui_quickstart.html" data-menu-target="pgui_quickstart">Getting Started</a><ul><li><a class="page-menu-link" href="pgui_quickstart_createconfiguration.html" data-menu-target="pgui_quickstart_createconfiguration">Create a configuration instance</a></li><li><a class="page-menu-link" href="pgui_quickstart_createdatamodel.html" data-menu-target="pgui_quickstart_createdatamodel">Create a data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_gettemplate.html" data-menu-target="pgui_quickstart_gettemplate">Get the template</a></li><li><a class="page-menu-link" href="pgui_quickstart_merge.html" data-menu-target="pgui_quickstart_merge">Merging the template with the data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_all.html" data-menu-target="pgui_quickstart_all">Putting all together</a></li></ul></li><li><a class="page-menu-link" href="pgui_datamodel.html" data-menu-target="pgui_datamodel">The Data Model</a><ul><l
 i><a class="page-menu-link" href="pgui_datamodel_basics.html" data-menu-target="pgui_datamodel_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_datamodel_scalar.html" data-menu-target="pgui_datamodel_scalar">Scalars</a></li><li><a class="page-menu-link" href="pgui_datamodel_parent.html" data-menu-target="pgui_datamodel_parent">Containers</a></li><li><a class="page-menu-link" href="pgui_datamodel_method.html" data-menu-target="pgui_datamodel_method">Methods</a></li><li><a class="page-menu-link" href="pgui_datamodel_directive.html" data-menu-target="pgui_datamodel_directive">Directives</a></li><li><a class="page-menu-link" href="pgui_datamodel_node.html" data-menu-target="pgui_datamodel_node">Node variables</a></li><li><a class="page-menu-link" href="pgui_datamodel_objectWrapper.html" data-menu-target="pgui_datamodel_objectWrapper">Object wrappers</a></li></ul></li><li><a class="page-menu-link" href="pgui_config.html" data-menu-target="pgui_config">The Configuration</a>
 <ul><li><a class="page-menu-link" href="pgui_config_basics.html" data-menu-target="pgui_config_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_config_sharedvariables.html" data-menu-target="pgui_config_sharedvariables">Shared variables</a></li><li><a class="page-menu-link" href="pgui_config_settings.html" data-menu-target="pgui_config_settings">Settings</a></li><li><a class="page-menu-link" href="pgui_config_templateloading.html" data-menu-target="pgui_config_templateloading">Template loading</a></li><li><a class="page-menu-link" href="pgui_config_errorhandling.html" data-menu-target="pgui_config_errorhandling">Error handling</a></li><li><a class="page-menu-link" href="pgui_config_templateconfigurations.html" data-menu-target="pgui_config_templateconfigurations">Template configurations</a></li><li><a class="page-menu-link" href="pgui_config_outputformatsautoesc.html" data-menu-target="pgui_config_outputformatsautoesc">Associating output formats with templates</a></li
 ><li><a class="page-menu-link" href="pgui_config_custom_formats.html" data-menu-target="pgui_config_custom_formats">Custom number and date/time formats</a></li><li><a class="page-menu-link" href="pgui_config_incompatible_improvements.html" data-menu-target="pgui_config_incompatible_improvements">The &quot;incompatible improvements&quot; setting</a></li></ul></li><li><a class="page-menu-link" href="pgui_misc.html" data-menu-target="pgui_misc">Miscellaneous</a><ul><li><a class="page-menu-link" href="pgui_misc_var.html" data-menu-target="pgui_misc_var">Variables, scopes</a></li><li><a class="page-menu-link" href="pgui_misc_charset.html" data-menu-target="pgui_misc_charset">Charset issues</a></li><li><a class="page-menu-link" href="pgui_misc_multithreading.html" data-menu-target="pgui_misc_multithreading">Multithreading</a></li><li><a class="page-menu-link" href="pgui_misc_beanwrapper.html" data-menu-target="pgui_misc_beanwrapper">Bean wrapper</a></li><li><a class="page-menu-link" href=
 "pgui_misc_logging.html" data-menu-target="pgui_misc_logging">Logging</a></li><li><a class="page-menu-link" href="pgui_misc_servlet.html" data-menu-target="pgui_misc_servlet">Using FreeMarker with servlets</a></li><li><a class="page-menu-link" href="pgui_misc_secureenv.html" data-menu-target="pgui_misc_secureenv">Configuring security policy for FreeMarker</a></li><li><a class="page-menu-link" href="pgui_misc_xml_legacy.html" data-menu-target="pgui_misc_xml_legacy">Legacy XML wrapper implementation</a></li><li><a class="page-menu-link" href="pgui_misc_ant.html" data-menu-target="pgui_misc_ant">Using FreeMarker with Ant</a></li><li><a class="page-menu-link" href="pgui_misc_jythonwrapper.html" data-menu-target="pgui_misc_jythonwrapper">Jython wrapper</a></li></ul></li></ul> </div><div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="dgui_misc_alternativesyntax.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_quickstar
 t.html"><span>Next</span></a></div></div></div></div>      </div>
-    </div>
-<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
-Last generated:
-<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
-<p class="copyright">
-© <span itemprop="copyrightYear">1999</span>–2017
-<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
-</div></div></div></body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/a4004324/builds/2.3.26-nightly/pgui_config.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config.html b/builds/2.3.26-nightly/pgui_config.html
deleted file mode 100644
index f6feea0..0000000
--- a/builds/2.3.26-nightly/pgui_config.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<!-- Generated by FreeMarker/Docgen from DocBook -->
-<html lang="en" class="page-type-chapter">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<title>The Configuration - Apache FreeMarker Manual</title>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="format-detection" content="telephone=no">
-<meta property="og:site_name" content="Apache FreeMarker Manual">
-<meta property="og:title" content="The Configuration">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config.html">
-<link rel="icon" href="favicon.png" type="image/png">
-<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
-<script>
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-ga('create', 'UA-55420501-1', 'auto');
-ga('send', 'pageview');
-</script>
-</head>
-<body itemscope itemtype="https://schema.org/Code">
-    <meta itemprop="url" content="http://freemarker.org/docs/">
-    <meta itemprop="name" content="Apache FreeMarker Manual">
-
-  <!--[if lte IE 9]>
-  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
-  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
-</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui.html"><span itemprop="name">Programmer&#39;s Guide</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_config.html"><span itemprop="name">The Configuration</span></a></li></ul><div class="bookmark
 s" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
-      <div class="content-wrapper">
-  <div id="table-of-contents-wrapper" class="col-left">
-      <script>var breadcrumb = ["Apache FreeMarker Manual","Programmer\'s Guide","The Configuration"];</script>
-      <script src="toc.js?1489402528979"></script>
-      <script src="docgen-resources/main.min.js?1489402528979"></script>
-  </div>
-<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="pgui_datamodel_objectWrapper.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_basics.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-chapter" id="pgui_config" itemprop="headline">The Configuration</h1>
-</div></div><div class="page-menu">
-<div class="page-menu-title">Section Contents</div>
-<ul><li><a class="page-menu-link" href="pgui_config_basics.html" data-menu-target="pgui_config_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_config_sharedvariables.html" data-menu-target="pgui_config_sharedvariables">Shared variables</a></li><li><a class="page-menu-link" href="pgui_config_settings.html" data-menu-target="pgui_config_settings">Settings</a></li><li><a class="page-menu-link" href="pgui_config_templateloading.html" data-menu-target="pgui_config_templateloading">Template loading</a></li><li><a class="page-menu-link" href="pgui_config_errorhandling.html" data-menu-target="pgui_config_errorhandling">Error handling</a></li><li><a class="page-menu-link" href="pgui_config_templateconfigurations.html" data-menu-target="pgui_config_templateconfigurations">Template configurations</a></li><li><a class="page-menu-link" href="pgui_config_outputformatsautoesc.html" data-menu-target="pgui_config_outputformatsautoesc">Associating output formats with templates</a></li
 ><li><a class="page-menu-link" href="pgui_config_custom_formats.html" data-menu-target="pgui_config_custom_formats">Custom number and date/time formats</a></li><li><a class="page-menu-link" href="pgui_config_incompatible_improvements.html" data-menu-target="pgui_config_incompatible_improvements">The &quot;incompatible improvements&quot; setting</a></li></ul> </div><p>This is just an overview. See the <a href="api/index.html">FreeMarker Java API documentation</a> for the
-      details.</p><div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_datamodel_objectWrapper.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_basics.html"><span>Next</span></a></div></div></div></div>      </div>
-    </div>
-<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
-Last generated:
-<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
-<p class="copyright">
-© <span itemprop="copyrightYear">1999</span>–2017
-<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
-</div></div></div></body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/a4004324/builds/2.3.26-nightly/pgui_config_basics.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config_basics.html b/builds/2.3.26-nightly/pgui_config_basics.html
deleted file mode 100644
index 47c8a9a..0000000
--- a/builds/2.3.26-nightly/pgui_config_basics.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!doctype html>
-<!-- Generated by FreeMarker/Docgen from DocBook -->
-<html lang="en" class="page-type-section">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<title>Basics - Apache FreeMarker Manual</title>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="format-detection" content="telephone=no">
-<meta property="og:site_name" content="Apache FreeMarker Manual">
-<meta property="og:title" content="Basics">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config_basics.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config_basics.html">
-<link rel="icon" href="favicon.png" type="image/png">
-<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
-<script>
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-ga('create', 'UA-55420501-1', 'auto');
-ga('send', 'pageview');
-</script>
-</head>
-<body itemscope itemtype="https://schema.org/Code">
-    <meta itemprop="url" content="http://freemarker.org/docs/">
-    <meta itemprop="name" content="Apache FreeMarker Manual">
-
-  <!--[if lte IE 9]>
-  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
-  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
-</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui.html"><span itemprop="name">Programmer&#39;s Guide</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_config.html"><span itemprop="name">The Configuration</span></a></li><li class="step-3" itempr
 op="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_config_basics.html"><span itemprop="name">Basics</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
-      <div class="content-wrapper">
-  <div id="table-of-contents-wrapper" class="col-left">
-      <script>var breadcrumb = ["Apache FreeMarker Manual","Programmer\'s Guide","The Configuration","Basics"];</script>
-      <script src="toc.js?1489402528979"></script>
-      <script src="docgen-resources/main.min.js?1489402528979"></script>
-  </div>
-<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="pgui_config.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_sharedvariables.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_config_basics" itemprop="headline">Basics</h1>
-</div></div><p>First of all, be sure you have read the <a href="pgui_quickstart_createconfiguration.html">Getting Started</a>
-        chapter.</p><p>A configuration is a
-        <code class="inline-code">freemarker.template.Configuration</code> object that
-        stores your common (global, application level) settings and defines
-        variables that you want to be available in all templates (so called
-        shared variables). Also, it deals with the creation and caching of
-        <code class="inline-code">Template</code> instances.</p><p>An application typically uses only a single shared
-        <code class="inline-code">Configuration</code> instance. More precisely, typically
-        you have one <code class="inline-code">Configuration</code> instance per
-        independently developed component that internally uses FreeMarker, so
-        they can be configured independently of each other. For example, your
-        e-mail sender component and your report generator component (service)
-        probably want to use their own <code class="inline-code">Configuration</code>-s, as
-        their needs differ.</p><p>As the behavior of templates depends on the configuration
-        settings, each <code class="inline-code">Template</code> instance has an associated
-        <code class="inline-code">Configuration</code> instance. If you obtain the
-        <code class="inline-code">Template</code> instances with
-        <code class="inline-code">Configuration.getTemplate</code>, the associated
-        <code class="inline-code">Configuration</code> instance will be the one whose
-        <code class="inline-code">getTemplate</code> method was called. If you create the
-        <code class="inline-code">Template</code> instances directly with the
-        <code class="inline-code">Template</code> constructor, the
-        <code class="inline-code">Configuration</code> should be specified as constructor
-        parameter.</p><div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_config.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_sharedvariables.html"><span>Next</span></a></div></div></div></div>      </div>
-    </div>
-<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
-Last generated:
-<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
-<p class="copyright">
-© <span itemprop="copyrightYear">1999</span>–2017
-<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
-</div></div></div></body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/a4004324/builds/2.3.26-nightly/pgui_config_custom_formats.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config_custom_formats.html b/builds/2.3.26-nightly/pgui_config_custom_formats.html
deleted file mode 100644
index 1c083eb..0000000
--- a/builds/2.3.26-nightly/pgui_config_custom_formats.html
+++ /dev/null
@@ -1,700 +0,0 @@
-<!doctype html>
-<!-- Generated by FreeMarker/Docgen from DocBook -->
-<html lang="en" class="page-type-section">
-<head prefix="og: http://ogp.me/ns#">
-<meta charset="utf-8">
-<title>Custom number and date/time formats - Apache FreeMarker Manual</title>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<meta name="format-detection" content="telephone=no">
-<meta property="og:site_name" content="Apache FreeMarker Manual">
-<meta property="og:title" content="Custom number and date/time formats">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config_custom_formats.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config_custom_formats.html">
-<link rel="icon" href="favicon.png" type="image/png">
-<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1489402528979">
-<script>
-(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-ga('create', 'UA-55420501-1', 'auto');
-ga('send', 'pageview');
-</script>
-</head>
-<body itemscope itemtype="https://schema.org/Code">
-    <meta itemprop="url" content="http://freemarker.org/docs/">
-    <meta itemprop="name" content="Apache FreeMarker Manual">
-
-  <!--[if lte IE 9]>
-  <div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
-  <![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner">            <img itemprop="image" src="logo.png" alt="FreeMarker">
-</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://issues.apache.org/jira/browse/FREEMARKER/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="index.html" class="navigation-header">Manual</a><div class="navigation-header"></div><form method="get" class="search-form" action="search-results.html"><fieldset><legend class="sr-only">Search form</legend><label for="search-field" class="sr-only">Search query</label><input id="searc
 h-field" name="q" type="search" class="search-input" placeholder="Search" spellcheck="false" autocorrect="off" autocomplete="off"><button type="submit" class="search-btn"><span class="sr-only">Search</span></button></fieldset></form></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="index.html"><span itemprop="name">Apache FreeMarker Manual</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui.html"><span itemprop="name">Programmer&#39;s Guide</span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_config.html"><span itemprop="name">The Configuration</span></a></li><li class="step-3" itempr
 op="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_config_custom_formats.html"><span itemprop="name">Custom number and date/time formats</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div>    <div class="main-content site-width">
-      <div class="content-wrapper">
-  <div id="table-of-contents-wrapper" class="col-left">
-      <script>var breadcrumb = ["Apache FreeMarker Manual","Programmer\'s Guide","The Configuration","Custom number and date/time formats"];</script>
-      <script src="toc.js?1489402528979"></script>
-      <script src="docgen-resources/main.min.js?1489402528979"></script>
-  </div>
-<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="pgui_config_outputformatsautoesc.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_incompatible_improvements.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_config_custom_formats" itemprop="headline">Custom number and date/time formats</h1>
-</div></div><div class="page-menu">
-<div class="page-menu-title">Page Contents</div>
-<ul><li><a class="page-menu-link" href="#autoid_50" data-menu-target="autoid_50">Overview</a></li><li><a class="page-menu-link" href="#pgui_config_custom_formats_ex_cust_alg_simple" data-menu-target="pgui_config_custom_formats_ex_cust_alg_simple">Simple custom number format example</a></li><li><a class="page-menu-link" href="#pgui_config_custom_formats_ex_cust_algo_advanced" data-menu-target="pgui_config_custom_formats_ex_cust_algo_advanced">Advanced custom number format example</a></li><li><a class="page-menu-link" href="#pgui_config_custom_formats_ex_cust_algo_date" data-menu-target="pgui_config_custom_formats_ex_cust_algo_date">Custom date/time format example</a></li><li><a class="page-menu-link" href="#pgui_config_custom_formats_ex_alias" data-menu-target="pgui_config_custom_formats_ex_alias">Alias format example</a></li><li><a class="page-menu-link" href="#pgui_config_custom_formats_ex_model_aware" data-menu-target="pgui_config_custom_formats_ex_model_aware">Model-aware format 
 example</a></li></ul> </div>
-          
-
-
-
-<h2 class="content-header header-section2" id="autoid_50">Overview</h2>
-
-
-          <p>FreeMarker allows you to define your own number and
-          date/time/datetime formats, and associate a name to them. This
-          mechanism has several applications:</p>
-
-          <ul>
-            <li>
-              <p>Custom formatter algorithms: You can use your own
-              formatter algorithm instead of relying on those provided by
-              FreeMarker. For this, implement
-              <code class="inline-code">freemarker.core.TemplateNumberFormatFactory</code>
-              or <code class="inline-code">freemarker.core.TemplateDateFormatFactory</code>.
-              You will find a few examples of this <a href="#pgui_config_custom_formats_ex_cust_alg_simple">below</a>.</p>
-            </li>
-
-            <li>
-              <p>Aliasing: You can give application-specific names (like
-              "price", "weight",
-              "fileDate", "logEventTime", etc.) to
-              other formats by using
-              <code class="inline-code">AliasTemplateNumberFormatFactory</code> and
-              <code class="inline-code">AliasTemplateDateFormatFactory</code>. Thus
-              templates can just refer to that name, like in
-              <code class="inline-code">${lastModified?string.@fileDate}</code>, instead of
-              specifying the format directly. Thus the formats can be
-              specified on a single central place (where you configure
-              FreeMarker), instead of being specified repeatedly in templates.
-              Also thus template authors don&#39;t have to enter complex and hard
-              to remember formatting patterns. <a href="#pgui_config_custom_formats_ex_alias">See example
-              below</a>.</p>
-            </li>
-
-            <li>
-              <p>Model-sensitive formatting: Applications can put custom
-              <code class="inline-code">freemarker.TemplateModel</code>-s into the
-              data-model instead of dropping plain values (like
-              <code class="inline-code">int</code>-s, <code class="inline-code">double</code>-s, etc.)
-              into it, to attach rendering-related information to the value.
-              Custom formatters can utilize this information (for example, to
-              show the unit after numbers), as they receive the
-              <code class="inline-code">TemplateModel</code> itself, not the wrapped raw
-              value. <a href="#pgui_config_custom_formats_ex_model_aware">See example
-              below</a>.</p>
-            </li>
-
-            <li>
-              <p>Format that prints markup instead of plain text: You might
-              want to use HTML tags (or other markup) in the formatted values,
-              such as coloring negative numbers to red or using HTML
-              <code class="inline-code">sup</code> element for exponents. This is possible
-              if you write a custom format as shown in previous cases, but
-              override the <code class="inline-code">format</code> method in the formatter
-              class so that it returns a
-              <code class="inline-code">TemplateMarkupOutputModel</code> instead of a
-              <code class="inline-code">String</code>. (You shouldn&#39;t just return the markup
-              as <code class="inline-code">String</code>, as then it might will be escaped;
-              see <a href="dgui_misc_autoescaping.html">auto-escaping</a>.)</p>
-            </li>
-          </ul>
-
-          <p>Custom formats can be registered with the
-          <code class="inline-code">custom_number_formats</code> and
-          <code class="inline-code">custom_date_formats</code> configuration settings. After
-          that, anywhere where you can specify formats with a
-          <code class="inline-code">String</code>, now you can refer to your custom format
-          as <code class="inline-code">&quot;@<em class="code-color">name</em>&quot;</code>. So for
-          example, if you have registered your number format implementation
-          with name <code class="inline-code">&quot;smart&quot;</code>, then you could set the
-          <code class="inline-code">number_format</code> setting
-          (<code class="inline-code">Configurable.setNumberFormat(String)</code>) to
-          <code class="inline-code">&quot;@smart&quot;</code>, or issue
-          <code class="inline-code">${n?string.@smart}</code> or <code class="inline-code">&lt;#setting
-          number_format=&quot;@smart&quot;&gt;</code> in a template. Furthermore, you
-          can define parameters for your custom format, like <code class="inline-code">&quot;@smart
-          2&quot;</code>, and the interpretation of the parameters is up to your
-          formatter implementation.</p>
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_custom_formats_ex_cust_alg_simple">Simple custom number format example</h2>
-
-
-          <p>This custom number format shows numbers in hexadecimal
-          form:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">package com.example;
-
-import java.util.Locale;
-
-import freemarker.template.TemplateModelException;
-import freemarker.template.TemplateNumberModel;
-import freemarker.template.utility.NumberUtil;
-
-public class HexTemplateNumberFormatFactory extends TemplateNumberFormatFactory {
-
-    public static final HexTemplateNumberFormatFactory INSTANCE
-            = new HexTemplateNumberFormatFactory();
-
-    private HexTemplateNumberFormatFactory() {
-        // Defined to decrease visibility
-    }
-
-    @Override
-    public TemplateNumberFormat get(String params, Locale locale, Environment env)
-            throws InvalidFormatParametersException {
-        TemplateFormatUtil.checkHasNoParameters(params);
-        return HexTemplateNumberFormat.INSTANCE;
-    }
-
-    private static class HexTemplateNumberFormat extends TemplateNumberFormat {
-
-        private static final HexTemplateNumberFormat INSTANCE = new HexTemplateNumberFormat();
-
-        private HexTemplateNumberFormat() { }
-
-        @Override
-        public String formatToPlainText(TemplateNumberModel numberModel)
-                throws UnformattableValueException, TemplateModelException {
-            Number n = TemplateFormatUtil.getNonNullNumber(numberModel);
-            try {
-                return Integer.toHexString(NumberUtil.toIntExact(n));
-            } catch (ArithmeticException e) {
-                throw new UnformattableValueException(n + &quot; doesn&#39;t fit into an int&quot;);
-            }
-        }
-
-        @Override
-        public boolean isLocaleBound() {
-            return false;
-        }
-
-        @Override
-        public String getDescription() {
-            return &quot;hexadecimal int&quot;;
-        }
-
-    }
-
-}</pre></div>
-
-          <p>We register the above format with name
-          "hex":</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">// Where you initalize the application-wide Configuration singleton:
-Configuration cfg = ...;
-...
-Map&lt;String, TemplateNumberFormatFactory&gt; customNumberFormats = ...;
-...
-customNumberFormats.put(&quot;hex&quot;, HexTemplateNumberFormatFactory.INSTANCE);
-...
-cfg.setCustomNumberFormats(customNumberFormats);</pre></div>
-
-          <p>Now we can use this format in templates:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-template">${x?string.@hex}</pre></div>
-
-          <p>or even set it as the default number format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setNumberFormat(&quot;@hex&quot;);</pre></div>
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_custom_formats_ex_cust_algo_advanced">Advanced custom number format example</h2>
-
-
-          <p>This is a more complex custom number format that shows how to
-          deal with parameters in the format string, also how to delegate to
-          another format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">package com.example;
-
-import java.util.Locale;
-
-import freemarker.template.TemplateModelException;
-import freemarker.template.TemplateNumberModel;
-import freemarker.template.utility.NumberUtil;
-import freemarker.template.utility.StringUtil;
-
-/**
- * Shows a number in base N number system. Can only format numbers that fit into an {@code int},
- * however, optionally you can specify a fallback format. This format has one required parameter,
- * the numerical system base. That can be optionally followed by &quot;|&quot; and a fallback format.
- */
-public class BaseNTemplateNumberFormatFactory extends TemplateNumberFormatFactory {
-
-    public static final BaseNTemplateNumberFormatFactory INSTANCE
-            = new BaseNTemplateNumberFormatFactory();
-
-    private BaseNTemplateNumberFormatFactory() {
-        // Defined to decrease visibility
-    }
-
-    @Override
-    public TemplateNumberFormat get(String params, Locale locale, Environment env)
-            throws InvalidFormatParametersException {
-        TemplateNumberFormat fallbackFormat;
-        {
-            int barIdx = params.indexOf(&#39;|&#39;);
-            if (barIdx != -1) {
-                String fallbackFormatStr = params.substring(barIdx + 1);
-                params = params.substring(0, barIdx);
-                try {
-                    fallbackFormat = env.getTemplateNumberFormat(fallbackFormatStr, locale);
-                } catch (TemplateValueFormatException e) {
-                    throw new InvalidFormatParametersException(
-                            &quot;Couldn&#39;t get the fallback number format (specified after the \&quot;|\&quot;), &quot;
-                            + StringUtil.jQuote(fallbackFormatStr) + &quot;. Reason: &quot; + e.getMessage(),
-                            e);
-                }
-            } else {
-                fallbackFormat = null;
-            }
-        }
-
-        int base;
-        try {
-            base = Integer.parseInt(params);
-        } catch (NumberFormatException e) {
-            if (params.length() == 0) {
-                throw new InvalidFormatParametersException(
-                        &quot;A format parameter is required to specify the numerical system base.&quot;);
-            }
-            throw new InvalidFormatParametersException(
-                    &quot;The format paramter must be an integer, but was (shown quoted): &quot;
-                    + StringUtil.jQuote(params));
-        }
-        if (base &lt; 2) {
-            throw new InvalidFormatParametersException(&quot;A base must be at least 2.&quot;);
-        }
-        return new BaseNTemplateNumberFormat(base, fallbackFormat);
-    }
-
-    private static class BaseNTemplateNumberFormat extends TemplateNumberFormat {
-
-        private final int base;
-        private final TemplateNumberFormat fallbackFormat;
-
-        private BaseNTemplateNumberFormat(int base, TemplateNumberFormat fallbackFormat) {
-            this.base = base;
-            this.fallbackFormat = fallbackFormat;
-        }
-
-        @Override
-        public String formatToPlainText(TemplateNumberModel numberModel)
-                throws TemplateModelException, TemplateValueFormatException {
-            Number n = TemplateFormatUtil.getNonNullNumber(numberModel);
-            try {
-                return Integer.toString(NumberUtil.toIntExact(n), base);
-            } catch (ArithmeticException e) {
-                if (fallbackFormat == null) {
-                    throw new UnformattableValueException(
-                            n + &quot; doesn&#39;t fit into an int, and there was no fallback format &quot;
-                            + &quot;specified.&quot;);
-                } else {
-                    return fallbackFormat.formatToPlainText(numberModel);
-                }
-            }
-        }
-
-        @Override
-        public boolean isLocaleBound() {
-            return false;
-        }
-
-        @Override
-        public String getDescription() {
-            return &quot;base &quot; + base;
-        }
-
-    }
-
-}</pre></div>
-
-          <p>We register the above format with name
-          "base":</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">// Where you initalize the application-wide Configuration singleton:
-Configuration cfg = ...;
-...
-Map&lt;String, TemplateNumberFormatFactory&gt; customNumberFormats = ...;
-...
-customNumberFormats.put(&quot;base&quot;, BaseNTemplateNumberFormatFactory.INSTANCE);
-...
-cfg.setCustomNumberFormats(customNumberFormats);</pre></div>
-
-          <p>Now we can use this format in templates:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-template">${x?string.@base_8}</pre></div>
-
-          <p>Above there the parameter string was <code class="inline-code">&quot;8&quot;</code>,
-          as FreeMarker allows separating that from the format name with
-          <code class="inline-code">_</code> instead of whitespace, so that you don&#39;t have
-          to write the longer
-          <code class="inline-code"><em class="code-color">n</em>?string[&quot;@base 8&quot;]</code>
-          form.</p>
-
-          <p>Of course, we could also set this as the default number format
-          like:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setNumberFormat(&quot;@base 8&quot;);</pre></div>
-
-          <p>Here&#39;s an example of using the a fallback number format (which
-          is <code class="inline-code">&quot;0.0###&quot;</code>):</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setNumberFormat(&quot;@base 8|0.0###&quot;);</pre></div>
-
-          <p>Note that this functionality, with the <code class="inline-code">|</code>
-          syntax and all, is purely implemented in the example code
-          earlier.</p>
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_custom_formats_ex_cust_algo_date">Custom date/time format example</h2>
-
-
-          <p>This simple date format formats the date/time value to the
-          milliseconds since the epoch:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">package com.example;
-
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-
-import freemarker.template.TemplateDateModel;
-import freemarker.template.TemplateModelException;
-
-public class EpochMillisTemplateDateFormatFactory extends TemplateDateFormatFactory {
-
-    public static final EpochMillisTemplateDateFormatFactory INSTANCE
-            = new EpochMillisTemplateDateFormatFactory();
-
-    private EpochMillisTemplateDateFormatFactory() {
-        // Defined to decrease visibility
-    }
-
-    @Override
-    public TemplateDateFormat get(String params, int dateType,
-            Locale locale, TimeZone timeZone, boolean zonelessInput,
-            Environment env)
-            throws InvalidFormatParametersException {
-        TemplateFormatUtil.checkHasNoParameters(params);
-        return EpochMillisTemplateDateFormat.INSTANCE;
-    }
-
-    private static class EpochMillisTemplateDateFormat extends TemplateDateFormat {
-
-        private static final EpochMillisTemplateDateFormat INSTANCE
-                = new EpochMillisTemplateDateFormat();
-
-        private EpochMillisTemplateDateFormat() { }
-
-        @Override
-        public String formatToPlainText(TemplateDateModel dateModel)
-                throws UnformattableValueException, TemplateModelException {
-            return String.valueOf(TemplateFormatUtil.getNonNullDate(dateModel).getTime());
-        }
-
-        @Override
-        public boolean isLocaleBound() {
-            return false;
-        }
-
-        @Override
-        public boolean isTimeZoneBound() {
-            return false;
-        }
-
-        @Override
-        public Date parse(String s, int dateType) throws UnparsableValueException {
-            try {
-                return new Date(Long.parseLong(s));
-            } catch (NumberFormatException e) {
-                throw new UnparsableValueException(&quot;Malformed long&quot;);
-            }
-        }
-
-        @Override
-        public String getDescription() {
-            return &quot;millis since the epoch&quot;;
-        }
-
-    }
-
-}</pre></div>
-
-          <p>We register the above format with name
-          "epoch":</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">// Where you initalize the application-wide Configuration singleton:
-Configuration cfg = ...;
-...
-Map&lt;String, TemplateDateFormatFactory&gt; customDateFormats = ...;
-...
-customDateFormats.put(&quot;epoch&quot;, EpochMillisTemplateDateFormatFactory.INSTANCE);
-...
-cfg.setCustomDateFormats(customDateFormats);</pre></div>
-
-          <p>Now we can use this format in templates:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-template">${t?string.@epoch}</pre></div>
-
-          <p>Of course, we could also set this as the default date-time
-          format like:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setDateTimeFormat(&quot;@epoch&quot;);</pre></div>
-
-          <p>For a more complex that for example uses format parameters,
-          refer to the <a href="#pgui_config_custom_formats_ex_cust_algo_advanced">advanced
-          number format example</a>. Doing that with date formats is very
-          similar.</p>
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_custom_formats_ex_alias">Alias format example</h2>
-
-
-          <p>In this example we specify some number formats and date
-          formats that are aliases to another format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">// Where you initalize the application-wide Configuration singleton:
-Configuration cfg = ...;
-
-Map&lt;String, TemplateNumberFormatFactory&gt; customNumberFormats
-        = new HashMap&lt;String, TemplateNumberFormatFactory&gt;();
-customNumberFormats.put(&quot;price&quot;, new AliasTemplateNumberFormatFactory(&quot;,000.00&quot;));
-customNumberFormats.put(&quot;weight&quot;,
-        new AliasTemplateNumberFormatFactory(&quot;0.##;; roundingMode=halfUp&quot;));
-cfg.setCustomNumberFormats(customNumberFormats);
-
-Map&lt;String, TemplateDateFormatFactory&gt; customDateFormats
-        = new HashMap&lt;String, TemplateDateFormatFactory&gt;();
-customDateFormats.put(&quot;fileDate&quot;, new AliasTemplateDateFormatFactory(&quot;dd/MMM/yy hh:mm a&quot;));
-customDateFormats.put(&quot;logEventTime&quot;, new AliasTemplateDateFormatFactory(&quot;iso ms u&quot;));
-cfg.setCustomDateFormats(customDateFormats);</pre></div>
-
-          <p>So now you can do this in a template:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-template">${product.price?string.@price}
-${product.weight?string.@weight}
-${lastModified?string.@fileDate}
-${lastError.timestamp?string.@logEventTime}</pre></div>
-
-          <p>Note that the constructor parameter of
-          <code class="inline-code">AliasTemplateNumberFormatFactory</code> can naturally
-          refer to a custom format too:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">Map&lt;String, TemplateNumberFormatFactory&gt; customNumberFormats
-        = new HashMap&lt;String, TemplateNumberFormatFactory&gt;();
-customNumberFormats.put(&quot;base&quot;, BaseNTemplateNumberFormatFactory.INSTANCE);
-customNumberFormats.put(&quot;oct&quot;, new AliasTemplateNumberFormatFactory(&quot;@base 8&quot;));
-cfg.setCustomNumberFormats(customNumberFormats);</pre></div>
-
-          <p>So now
-          <code class="inline-code"><em class="code-color">n</em>?string.@oct</code> will
-          format the number to octal form.</p>
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_custom_formats_ex_model_aware">Model-aware format example</h2>
-
-
-          <p>In this example we specify a number format that automatically
-          show the unit after the number if that was put into the data-model
-          as <code class="inline-code">UnitAwareTemplateNumberModel</code>. First let&#39;s see
-          <code class="inline-code">UnitAwareTemplateNumberModel</code>:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">package com.example;
-
-import freemarker.template.TemplateModelException;
-import freemarker.template.TemplateNumberModel;
-
-public class UnitAwareTemplateNumberModel implements TemplateNumberModel {
-
-    private final Number value;
-    private final String unit;
-
-    public UnitAwareTemplateNumberModel(Number value, String unit) {
-        this.value = value;
-        this.unit = unit;
-    }
-
-    @Override
-    public Number getAsNumber() throws TemplateModelException {
-        return value;
-    }
-
-    public String getUnit() {
-        return unit;
-    }
-
-}</pre></div>
-
-          <p>When you fill the data-model, you could do something like
-          this:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">Map&lt;String, Object&gt; dataModel = new HashMap&lt;&gt;();
-dataModel.put(&quot;weight&quot;, new UnitAwareTemplateNumberModel(1.5, &quot;kg&quot;));
-// Rather than just: dataModel.put(&quot;weight&quot;, 1.5);</pre></div>
-
-          <p>Then if we have this in the template:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-template">${weight}</pre></div>
-
-          <p>we want to see this:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-output">1.5 kg</pre></div>
-
-          <p>To achieve that, we define this custom number format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">package com.example;
-
-import java.util.Locale;
-
-import freemarker.core.Environment;
-import freemarker.core.TemplateNumberFormat;
-import freemarker.core.TemplateNumberFormatFactory;
-import freemarker.core.TemplateValueFormatException;
-import freemarker.template.TemplateModelException;
-import freemarker.template.TemplateNumberModel;
-
-/**
- * A number format that takes any other number format as parameter (specified as a string, as
- * usual in FreeMarker), then if the model is a {@link UnitAwareTemplateNumberModel}, it  shows
- * the unit after the number formatted with the other format, otherwise it just shows the formatted
- * number without unit.
- */
-public class UnitAwareTemplateNumberFormatFactory extends TemplateNumberFormatFactory {
-
-    public static final UnitAwareTemplateNumberFormatFactory INSTANCE
-            = new UnitAwareTemplateNumberFormatFactory();
-
-    private UnitAwareTemplateNumberFormatFactory() {
-        // Defined to decrease visibility
-    }
-
-    @Override
-    public TemplateNumberFormat get(String params, Locale locale, Environment env)
-            throws TemplateValueFormatException {
-        return new UnitAwareNumberFormat(env.getTemplateNumberFormat(params, locale));
-    }
-
-    private static class UnitAwareNumberFormat extends TemplateNumberFormat {
-
-        private final TemplateNumberFormat innerFormat;
-
-        private UnitAwareNumberFormat(TemplateNumberFormat innerFormat) {
-            this.innerFormat = innerFormat;
-        }
-
-        @Override
-        public String formatToPlainText(TemplateNumberModel numberModel)
-                throws TemplateModelException, TemplateValueFormatException {
-            String innerResult = innerFormat.formatToPlainText(numberModel);
-            return numberModel instanceof UnitAwareTemplateNumberModel
-                    ? innerResult + &quot; &quot; + ((UnitAwareTemplateNumberModel) numberModel).getUnit()
-                    : innerResult;
-        }
-
-        @Override
-        public boolean isLocaleBound() {
-            return innerFormat.isLocaleBound();
-        }
-
-        @Override
-        public String getDescription() {
-            return &quot;unit-aware &quot; + innerFormat.getDescription();
-        }
-
-    }
-
-}</pre></div>
-
-          <p>Finally, we set the above custom format as the default number
-          format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">// Where you initalize the application-wide Configuration singleton:
-Configuration cfg = ...;
-
-Map&lt;String, TemplateNumberFormatFactory&gt; customNumberFormats = new HashMap&lt;&gt;();
-customNumberFormats.put(&quot;ua&quot;, UnitAwareTemplateNumberFormatFactory.INSTANCE);
-cfg.setCustomNumberFormats(customNumberFormats);
-
-// Note: &quot;0.####;; roundingMode=halfUp&quot; is a standard format specified in FreeMarker.
-cfg.setNumberFormat(&quot;@ua 0.####;; roundingMode=halfUp&quot;);</pre></div>
-        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_config_outputformatsautoesc.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_incompatible_improvements.html"><span>Next</span></a></div></div></div></div>      </div>
-    </div>
-<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
 ="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
-Last generated:
-<time itemprop="dateModified" datetime="2017-03-13T10:55:28Z" title="Monday, March 13, 2017 10:55:28 AM GMT">2017-03-13 10:55:28 GMT</time>, for Freemarker 2.3.26 </p>
-<p class="copyright">
-© <span itemprop="copyrightYear">1999</span>–2017
-<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
-</div></div></div></body>
-</html>


Mime
View raw message