freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddek...@apache.org
Subject [35/51] [partial] incubator-freemarker-site git commit: 2.3.26-voting docs, removed nightly
Date Wed, 15 Mar 2017 21:19:32 GMT
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/a4004324/builds/2.3.26-nightly/pgui_config_sharedvariables.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config_sharedvariables.html b/builds/2.3.26-nightly/pgui_config_sharedvariables.html
deleted file mode 100644
index d90f624..0000000
--- a/builds/2.3.26-nightly/pgui_config_sharedvariables.html
+++ /dev/null
@@ -1,143 +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>Shared variables - 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="Shared variables">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config_sharedvariables.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config_sharedvariables.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_sharedvariables.html"><span itemprop="name">Shared variables</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","Shared variables"];</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_basics.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_settings.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_config_sharedvariables" itemprop="headline">Shared variables</h1>
-</div></div><p><strong>Shared variables</strong> are variables
-        that are defined for all templates. You can add shared variables to
-        the configuration with the <code class="inline-code">setSharedVariable</code>
-        methods:</p>
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">Configuration cfg = new Configuration(Configuration.VERSION_2_3_25);
-<em>..</em>.
-cfg.setSharedVariable(&quot;warp&quot;, new WarpDirective());
-cfg.setSharedVariable(&quot;company&quot;, &quot;Foo Inc.&quot;);</pre></div><p>In all templates that use this configuration, an user-defined
-        directive with name <code class="inline-code">wrap</code> and a string with name
-        <code class="inline-code">company</code> will be visible in the data-model root, so
-        you don&#39;t have to add them to the root hash again and again. A
-        variable in the root object that you pass to the
-        <code class="inline-code">Template.process</code> will hide the shared variable with
-        the same name.</p>  <div class="callout warning">
-    <strong class="callout-label">Warning!</strong>
-
-          <p>Never use <code class="inline-code">TemplateModel</code> implementation that
-          is not <a href="gloss.html#gloss.threadSafe">thread-safe</a> for
-          shared variables, if the configuration is used by multiple threads!
-          This is the typical situation for Servlet based applications.</p>
-          </div>
-<p>Due to backward compatibility heritage, the set of shared
-        variables is initially (i.e., for a new
-        <code class="inline-code">Configuration</code> instance) not empty. It contains the
-        following user-defined directives (they are &quot;user-defined&quot; in the
-        sense that you use <code class="inline-code">@</code> to call them instead of
-        <code class="inline-code">#</code>):</p>  <div class="table-responsive">
-    <table class="table">
-
-          <thead>
-            <tr>
-              <th>name</th>
-
-
-              <th>class</th>
-
-            </tr>
-
-          </thead>
-
-
-          <tbody>
-            <tr>
-              <td><code class="inline-code">capture_output</code></td>
-
-
-              <td><code class="inline-code">freemarker.template.utility.CaptureOutput</code></td>
-
-            </tr>
-
-
-            <tr>
-              <td><code class="inline-code">compress</code></td>
-
-
-              <td><code class="inline-code">freemarker.template.utility.StandardCompress</code></td>
-
-            </tr>
-
-
-            <tr>
-              <td><code class="inline-code">html_escape</code></td>
-
-
-              <td><code class="inline-code">freemarker.template.utility.HtmlEscape</code></td>
-
-            </tr>
-
-
-            <tr>
-              <td><code class="inline-code">normalize_newlines</code></td>
-
-
-              <td><code class="inline-code">freemarker.template.utility.NormalizeNewlines</code></td>
-
-            </tr>
-
-
-            <tr>
-              <td><code class="inline-code">xml_escape</code></td>
-
-
-              <td><code class="inline-code">freemarker.template.utility.XmlEscape</code></td>
-
-            </tr>
-
-          </tbody>
-
-            </table>
-  </div>
-<div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_config_basics.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_settings.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_templateconfigurations.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config_templateconfigurations.html b/builds/2.3.26-nightly/pgui_config_templateconfigurations.html
deleted file mode 100644
index 2c2f86c..0000000
--- a/builds/2.3.26-nightly/pgui_config_templateconfigurations.html
+++ /dev/null
@@ -1,314 +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>Template configurations - 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="Template configurations">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config_templateconfigurations.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config_templateconfigurations.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_templateconfigurations.html"><span itemprop="name">Template configurations</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","Template configurations"];</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_errorhandling.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_outputformatsautoesc.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_config_templateconfigurations" itemprop="headline">Template configurations</h1>
-</div></div><p>"Template configurations" refers to the
-        <code class="inline-code">template_configurations</code> setting of
-        <code class="inline-code">Configuration</code>
-        (<code class="inline-code">Configuration.setTemplateConfigurations(<em class="code-color">...</em>)</code>).
-        This setting lets you override individual settings coming from the
-        common <code class="inline-code">Configuration</code> object, depending on the name
-        (path) of the template.</p><p>It&#39;s important to understand, however, that this setting only
-        has effect if you get templates with
-        <code class="inline-code">Configuration.getTemplate(<em class="code-color">...</em>)</code>,
-        not when you create templates directly with the
-        <code class="inline-code">Template</code> constructors. In that case it&#39;s up to you
-        to invoke this mechanism (see <code class="inline-code">TemplateCache</code> source
-        code as an example).</p><p>You will use these kind of objects to declare your template
-        configuration rules:</p><ul>
-          <li>
-            <p><code class="inline-code">TemplateConfiguration</code>-s: These store the
-            actual setting assignments that you want to apply. For example,
-            this <code class="inline-code">TemplateConfiguration</code> will set the
-            encoding and the output format of the matched template (and leave
-            all other settings of it alone):</p>
-
-            
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">TemplateConfiguration tcUTF8XML = new TemplateConfiguration();
-tc.setEncoding(&quot;utf-8&quot;);
-tc.setOutputFormat(XMLOutputFormat.INSTANCE);</pre></div>
-          </li>
-
-          <li>
-            <p><code class="inline-code">TemplateSourceMatcher</code> (abstract)
-            subclasses: These define a rule that matches templates based on
-            their source name (their source path; as in
-            <code class="inline-code">Template.getSourceName()</code>), and possibly on
-            other <code class="inline-code">TemplateLoader</code>-dependent properties. For
-            example, <code class="inline-code">new FileExtensionMatcher(&quot;xml&quot;)</code>
-            matches templates that has <code class="inline-code">xml</code> file extension.
-            See all the subclasses in the Java API documentation.</p>
-          </li>
-
-          <li>
-            <p><code class="inline-code">TemplateConfigurationFactory</code>-es: This is
-            what connects <code class="inline-code">TemplateConfiguration</code>-s and
-            <code class="inline-code">TemplateSourceMatcher</code>-s together. This is the
-            Java type of the <code class="inline-code">template_configurations</code>
-            setting. See the examples below for more.</p>
-          </li>
-        </ul>
-          
-
-
-
-<h2 class="content-header header-simplesect" id="autoid_47">Example 1</h2>
-
-
-          <p>This setup combines our earlier two example objects with a
-          <code class="inline-code">ConditionalTemplateConfigurationFactory</code>, causing
-          all templates with <code class="inline-code">xml</code> extension to get UTF-8
-          encoding and XML output format:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setTemplateConfigurations(
-        new ConditionalTemplateConfigurationFactory(
-                new FileExtensionMatcher(&quot;xml&quot;),
-                tcUTF8XML));</pre></div>
-
-          <p>The same configuring is also doable if you don&#39;t have access
-          to the configuring Java code, but only to a Java
-          <code class="inline-code">*.properties</code> file or other kind of string-string
-          key value pairs (the <code class="inline-code">\</code>-s are prescribed by the
-          Java Properties file format for multi-line values):</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">templateConfigurations = \
-    ConditionalTemplateConfigurationFactory( \
-        FileExtensionMatcher(&quot;xml&quot;), \
-        TemplateConfiguration( \
-            encoding = &quot;utf-8&quot;, \
-            outputFormat = XMLOutputFormat() \
-        ) \
-    )</pre></div>
-        
-          
-
-
-
-<h2 class="content-header header-simplesect" id="autoid_48">Example 2</h2>
-
-
-          <p>Let&#39;s say you only need to handle templates in the
-          <code class="inline-code">mail</code> directory specially, other templates can use
-          the setting coming from the shared <code class="inline-code">Configuration</code>
-          singleton. The names of templates there must contain
-          <code class="inline-code">&quot;.subject.&quot;</code> or <code class="inline-code">&quot;.body.&quot;</code>.
-          Subject templates must get <code class="inline-code">plainText</code> output
-          format, while body templates must get <code class="inline-code">HTML</code> output
-          format. So we have to make a choice here, and that&#39;s when you need a
-          <code class="inline-code">FirstMatchTemplateConfigurationFactory</code>.</p>
-
-          <p>Assuming <code class="inline-code">cfg</code> stores the shared
-          <code class="inline-code">Configuration</code> singleton, you set this up like
-          this:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setTemplateConfigurations(
-        new ConditionalTemplateConfigurationFactory(
-                new PathGlobMatcher(&quot;mail/**&quot;),
-                new FirstMatchTemplateConfigurationFactory(
-                        new ConditionalTemplateConfigurationFactory(
-                                new FileNameGlobMatcher(&quot;*.subject.*&quot;),
-                                tcSubject),
-                        new ConditionalTemplateConfigurationFactory(
-                                new FileNameGlobMatcher(&quot;*.body.*&quot;),
-                                tcBody)
-                        )
-                        .noMatchErrorDetails(
-                                &quot;Mail template names must contain \&quot;.subject.\&quot; or \&quot;.body.\&quot;!&quot;)
-                ));</pre></div>
-
-          <p>The equivalent configuration using a Java
-          <code class="inline-code">*.properties</code> file or other kind of string-string
-          key value pairs (the <code class="inline-code">\</code>-s are prescribed by the
-          Java Properties file format only):</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">templateConfigurations = \
-    ConditionalTemplateConfigurationFactory( \
-        PathGlobMatcher(&quot;mail/**&quot;), \
-        FirstMatchTemplateConfigurationFactory( \
-            ConditionalTemplateConfigurationFactory( \
-                FileNameGlobMatcher(&quot;*.subject.*&quot;), \
-                TemplateConfiguration(outputFormat = PlainTextOutputFormat()) \
-            ), \
-            ConditionalTemplateConfigurationFactory( \
-                FileNameGlobMatcher(&quot;*.body.*&quot;), \
-                TemplateConfiguration(outputFormat = HTMLOutputFormat()) \
-            ), \
-            noMatchErrorDetails = &#39;Mail template names must contain &quot;.subject.&quot; or &quot;.body.&quot;!&#39; \
-        ) \
-    )</pre></div>
-        
-          
-
-
-
-<h2 class="content-header header-simplesect" id="autoid_49">Example 3</h2>
-
-
-          <p>Let&#39;s say you want the following deviations from the shared
-          <code class="inline-code">Configuration</code> settings in your
-          application:</p>
-
-          <ul>
-            <li>
-              <p>All templates whose name contains
-              <code class="inline-code">&quot;.stats.&quot;</code> should use ISO date/time format and
-              UTC time zone</p>
-            </li>
-
-            <li>
-              <p>All templates inside the <code class="inline-code">mail</code> directory
-              should use UTF-8 encoding</p>
-            </li>
-
-            <li>
-              <p>Templates with <code class="inline-code">xml</code> file extension
-              should use XML <code class="inline-code">output_format</code>, templates with
-              <code class="inline-code">html</code> or <code class="inline-code">htm</code> extension
-              should use HTML output format. For other templates, the shared
-              <code class="inline-code">Configuration</code> can dictate the
-              <code class="inline-code">output_format</code>.</p>
-            </li>
-          </ul>
-
-          <p>Here we have 3 independent concerns, and possibly multiple (or
-          none) of those apply to a template; that&#39;s when you need a
-          <code class="inline-code">MergingTemplateConfigurationFactory</code>. The last
-          point describes a rule where you have mutually exclusive choices;
-          that&#39;s when you need a
-          <code class="inline-code">FirstMatchTemplateConfigurationFactory</code>, but this
-          time no choice is also allowed. Here&#39;s the source code, assuming
-          <code class="inline-code">cfg</code> stores the shared
-          <code class="inline-code">Configuration</code> instance:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">TemplateConfiguration tcStats = new TemplateConfiguration();
-tcStats.setDateTimeFormat(&quot;iso&quot;);
-tcStats.setDateFormat(&quot;iso&quot;);
-tcStats.setTimeFormat(&quot;iso&quot;);
-tcStats.setTimeZone(DateUtil.UTC);
-
-TemplateConfiguration tcMail = new TemplateConfiguration();
-tcMail.setEncoding(&quot;utf-8&quot;);
-
-TemplateConfiguration tcHTML = new TemplateConfiguration();
-tcHTML.setOutputFormat(HTMLOutputFormat.INSTANCE);
-
-TemplateConfiguration tcXML = new TemplateConfiguration();
-tcXML.setOutputFormat(XMLOutputFormat.INSTANCE);
-
-cfg.setTemplateConfigurations(
-        new MergingTemplateConfigurationFactory(
-                new ConditionalTemplateConfigurationFactory(
-                        new FileNameGlobMatcher(&quot;*.stats.*&quot;),
-                        tcStats),
-                new ConditionalTemplateConfigurationFactory(
-                        new PathGlobMatcher(&quot;mail/**&quot;),
-                        tcMail),
-                new FirstMatchTemplateConfigurationFactory(
-                        new ConditionalTemplateConfigurationFactory(
-                                new FileExtensionMatcher(&quot;xml&quot;),
-                                tcXML),
-                        new ConditionalTemplateConfigurationFactory(
-                                new OrMatcher(
-                                        new FileExtensionMatcher(&quot;html&quot;),
-                                        new FileExtensionMatcher(&quot;htm&quot;)),
-                                tcHTML)
-                ).allowNoMatch(true)
-        )
-);</pre></div>
-
-          <p>The equivalent configuration using a Java
-          <code class="inline-code">*.properties</code> file or other kind of string-string
-          key value pairs (the <code class="inline-code">\</code>-s are prescribed by the
-          Java Properties file format only):</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">templateConfigurations = \
-    MergingTemplateConfigurationFactory( \
-        ConditionalTemplateConfigurationFactory( \
-            FileNameGlobMatcher(&quot;*.stats.*&quot;), \
-            TemplateConfiguration( \
-                dateTimeFormat = &quot;iso&quot;, \
-                dateFormat = &quot;iso&quot;, \
-                timeFormat = &quot;iso&quot;, \
-                timeZone = TimeZone(&quot;UTC&quot;) \
-            ) \
-        ), \
-        ConditionalTemplateConfigurationFactory( \
-            PathGlobMatcher(&quot;mail/**&quot;), \
-            TemplateConfiguration(encoding = &quot;utf-8&quot;) \
-        ), \
-        FirstMatchTemplateConfigurationFactory( \
-            ConditionalTemplateConfigurationFactory( \
-                FileExtensionMatcher(&quot;xml&quot;), \
-                TemplateConfiguration(outputFormat = XMLOutputFormat()) \
-            ), \
-            ConditionalTemplateConfigurationFactory( \
-                OrMatcher( \
-                    FileExtensionMatcher(&quot;html&quot;), \
-                    FileExtensionMatcher(&quot;htm&quot;) \
-                ), \
-                TemplateConfiguration(outputFormat = HTMLOutputFormat()) \
-            ), \
-            allowNoMatch = true \
-        ) \
-    )</pre></div>
-        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_config_errorhandling.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_outputformatsautoesc.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_templateloading.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_config_templateloading.html b/builds/2.3.26-nightly/pgui_config_templateloading.html
deleted file mode 100644
index 62595bb..0000000
--- a/builds/2.3.26-nightly/pgui_config_templateloading.html
+++ /dev/null
@@ -1,364 +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>Template loading - 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="Template loading">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_config_templateloading.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_config_templateloading.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_templateloading.html"><span itemprop="name">Template loading</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","Template loading"];</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_settings.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_errorhandling.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_config_templateloading" itemprop="headline">Template loading</h1>
-</div></div><div class="page-menu">
-<div class="page-menu-title">Page Contents</div>
-<ul><li><a class="page-menu-link" href="#autoid_38" data-menu-target="autoid_38">Template loaders</a><ul><li><a class="page-menu-link" href="#autoid_39" data-menu-target="autoid_39">Built-in template loaders</a></li><li><a class="page-menu-link" href="#autoid_40" data-menu-target="autoid_40">Loading templates from multiple locations</a></li><li><a class="page-menu-link" href="#autoid_41" data-menu-target="autoid_41">Loading templates from other sources</a></li><li><a class="page-menu-link" href="#autoid_42" data-menu-target="autoid_42">The template name (template path)</a></li></ul></li><li><a class="page-menu-link" href="#pgui_config_templateloading_caching" data-menu-target="pgui_config_templateloading_caching">Template caching</a></li></ul> </div>
-          
-
-
-
-<h2 class="content-header header-section2" id="autoid_38">Template loaders</h2>
-
-
-          
-
-          <p>Template loaders are objects that load raw textual data based
-          on abstract template paths like <code class="inline-code">&quot;index.ftl&quot;</code> or
-          <code class="inline-code">&quot;products/catalog.ftl&quot;</code>. It&#39;s up to the concrete
-          template loader if from where and how the template
-          "files" are loaded. They could be real files inside a
-          specified directory, or values in a data base table, or
-          <code class="inline-code">String</code>-s in a Java Map, etc. When you call
-          <code class="inline-code">cfg.getTemplate</code> (where <code class="inline-code">cfg</code> is
-          a <code class="inline-code">Configuration</code> instance), FreeMarker asks the
-          template loader (<code class="inline-code">cfg.getTemplateLoader</code>) to return
-          the text for the given template path, and then FreeMarker parses
-          that text as template. It doesn&#39;t care or even know if the template
-          is a real file or not, and where it is physically; those details are
-          only known by the template loader.</p>
-
-          
-            
-
-
-
-<h3 class="content-header header-section3" id="autoid_39">Built-in template loaders</h3>
-
-
-            <p>You can set up the three most common template loading
-            mechanism in the <code class="inline-code">Configuration</code> using the
-            following <em>convenience</em> methods:</p>
-
-            <ul>
-              <li>
-                <p><code class="inline-code">void setDirectoryForTemplateLoading(File
-                dir)</code>: Sets a directory on the file system from which
-                to load templates. Template names (template paths) will be
-                interpreted relatively to this physical directory. It won&#39;t
-                let you load files outside this directory.</p>
-              </li>
-
-              <li>
-                <p><code class="inline-code">void setClassForTemplateLoading(Class cl,
-                String basePackagePath)</code> and <code class="inline-code">void
-                setClassLoaderForTemplateLoading(ClassLoader classLoader,
-                String basePackagePath)</code>: These are for when you want
-                to load templates via the same mechanism with which Java loads
-                classes (from the class-path, as they used to say vaguely).
-                This is very likely be the preferred means of loading
-                templates for production code, as it allows you to keep
-                everything inside the deployment <code class="inline-code">jar</code> files.
-                The first parameter decides which Java
-                <code class="inline-code">ClassLoader</code> will be used. The second
-                parameter specifies the package that contains the templates,
-                in <code class="inline-code">/</code>-separated format. Note that if you
-                don&#39;t start it with <code class="inline-code">/</code>, it will be
-                interpreted relatively to the package of the
-                <code class="inline-code">Class</code> parameter.</p>
-              </li>
-
-              <li>
-                <p><code class="inline-code">void setServletContextForTemplateLoading(Object
-                servletContext, String path)</code>: Takes the context of
-                your Servlet-based web application, and a base path, which is
-                interpreted relative to the web application root directory
-                (that&#39;s the parent of the <code class="inline-code">WEB-INF</code>
-                directory). Note that we refer to &quot;directory&quot; here although
-                this loading method works even for unpacked
-                <code class="inline-code">.war</code> files, since it uses
-                <code class="inline-code">ServletContext.getResource()</code> to access the
-                templates. If you omit the second parameter (or use
-                <code class="inline-code">&quot;&quot;</code>), you can simply store the static files
-                (<code class="inline-code">.html</code>, <code class="inline-code">.jpg</code>, etc.)
-                mixed with the <code class="inline-code">.ftl</code> files. Of course, you
-                must set up a Servlet for the <code class="inline-code">*.ftl</code>,
-                <code class="inline-code">*.ftlh</code>, <code class="inline-code">*.ftlx</code>
-                uri-patterns in <code class="inline-code">WEB-INF/web.xml</code> for this,
-                otherwise the client will get the raw templates as is! To
-                avoid a such accident, many prefers storing the templates
-                somewhere inside the <code class="inline-code">WEB-INF</code> directory,
-                which is never visitable directly. This mechanism will very
-                likely be the preferred means of loading templates for servlet
-                applications, since the templates can be updated without
-                restarting the web application, while this often doesn&#39;t work
-                with the class-loader mechanism.</p>
-              </li>
-            </ul>
-
-            <p>If you want to use a custom
-            <code class="inline-code">TemplateLoader</code> implementation, or need to set
-            up some extra settings of a built-in template loader, you need to
-            instantiate the <code class="inline-code">TemplateLoader</code> object yourself,
-            and then call
-            <code class="inline-code">Configuration.setTemplateLoader(TemplateLoader)</code>:</p>
-
-            
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">WebappTemplateLoader templateLoader = new WebappTemplateLoader(servletContext, &quot;WEB-INF/templates&quot;);
-templateLoader.setURLConnectionUsesCaches(false);
-templateLoader.setAttemptFileAccess(false);
-cfg.setTemplateLoader(templateLoader);</pre></div>
-          
-
-          
-            
-
-
-
-<h3 class="content-header header-section3" id="autoid_40">Loading templates from multiple locations</h3>
-
-
-            <p>If you need to load templates from multiple locations, you
-            have to instantiate the template loader objects for every
-            location, wrap them into a <code class="inline-code">MultiTemplateLoader</code>,
-            and finally pass that loader to the
-            <code class="inline-code">setTemplateLoader(TemplateLoader loader)</code> method
-            of <code class="inline-code">Configuration</code>. Here&#39;s an example for loading
-            templates from two distinct directories and with the
-            class-loader:</p>
-
-            
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">import freemarker.cache.*; // template loaders live in this package
-
-<em>...</em>
-
-FileTemplateLoader ftl1 = new FileTemplateLoader(new File(&quot;/tmp/templates&quot;));
-FileTemplateLoader ftl2 = new FileTemplateLoader(new File(&quot;/usr/data/templates&quot;));
-ClassTemplateLoader ctl = new ClassTemplateLoader(getClass(), &quot;/com/example/templates&quot;);
-
-MultiTemplateLoader mtl = new MultiTemplateLoader(new TemplateLoader[] { ftl1, ftl2, ctl });
-
-cfg.setTemplateLoader(mtl);</pre></div>
-
-            <p>Now FreeMarker will try to load templates from
-            <code class="inline-code">/tmp/templates</code> directory, and if it does not
-            find the requested template there, it will try to load that from
-            <code class="inline-code">/usr/data/templates</code>, and if it still does not
-            find the requested template, then it tries to load it from the
-            <code class="inline-code">com.example.templates</code> Java package.</p>
-          
-
-          
-            
-
-
-
-<h3 class="content-header header-section3" id="autoid_41">Loading templates from other sources</h3>
-
-
-            <p>If none of the built-in class loaders fit your needs, you
-            can write your own class that implements the
-            <code class="inline-code">freemarker.cache.TemplateLoader</code> interface and
-            pass it to the <code class="inline-code">setTemplateLoader(TemplateLoader
-            loader)</code> method of <code class="inline-code">Configuration</code>.
-            Please read the API JavaDoc for more information.</p>
-
-            <p>If your template source accesses the templates through an
-            URL, you needn&#39;t implement a <code class="inline-code">TemplateLoader</code>
-            from scratch; you can choose to subclass
-            <code class="inline-code">freemarker.cache.URLTemplateLoader</code> instead and
-            just implement the <code class="inline-code">URL getURL(String
-            templateName)</code> method.</p>
-          
-
-          
-            
-
-
-
-<h3 class="content-header header-section3" id="autoid_42">The template name (template path)</h3>
-
-
-            
-
-            
-
-            
-
-            <p>It is up to the template loader how it interprets template
-            names (also known as template paths). But to work together with
-            other components there are restrictions regarding the format of
-            the path. In general, it is strongly recommended that template
-            loaders use URL-style paths. The path must not use
-            <code class="inline-code">/</code> (path step separator) character, nor the
-            <code class="inline-code">.</code> (same-directory) and <code class="inline-code">..</code>
-            (parent directory) path steps with other meaning than they have in
-            URL paths (or in UN*X paths). The <code class="inline-code">*</code> (asterisk)
-            step is also reserved, and used for "template
-            acquisition" feature of FreeMarker.</p>
-
-            <p><code class="inline-code">://</code> (or with
-            <code class="inline-code">template_name_format</code> setting set to
-            <code class="inline-code">DEFAULT_2_4_0</code>, the <code class="inline-code">:</code> (colon)
-            character) is reserved for specifying a scheme part, similarly as
-            it works with URI-s. For example
-            <code class="inline-code">someModule://foo/bar.ftl</code> uses the
-            <code class="inline-code">someModule</code>, or assuming the
-            <code class="inline-code">DEFAULT_2_4_0</code> format,
-            <code class="inline-code">classpath:foo/bar.ftl</code> uses the
-            <code class="inline-code">classpath</code> scheme. Interpreting the scheme part
-            is completely up to the <code class="inline-code">TemplateLoader</code>. (The
-            FreeMarker core is only aware of the idea of schemes because
-            otherwise it couldn&#39;t resolve relative template names
-            properly.)</p>
-
-            <p>FreeMarker always normalizes the paths before passing them
-            to the <code class="inline-code">TemplateLoader</code>, so the paths don&#39;t
-            contain <code class="inline-code">/../</code> or such, and are relative to the
-            imaginary template root directory (that is, they don&#39;t start with
-            <code class="inline-code">/</code>). They don&#39;t contain the <code class="inline-code">*</code>
-            step either, as template acquisition happens in an earlier stage.
-            Furthermore, with <code class="inline-code">template_name_format</code> setting
-            set to <code class="inline-code">DEFAULT_2_4_0</code>, multiple consecutive
-            <code class="inline-code">/</code>-s will be normalized to a single
-            <code class="inline-code">/</code> (unless they are part of the
-            <code class="inline-code">://</code> scheme separator).</p>
-
-            <p>Note that FreeMarker template path should always uses slash
-            (not backslash) regardless of the host OS.</p>
-          
-        
-          
-
-
-
-<h2 class="content-header header-section2" id="pgui_config_templateloading_caching">Template caching</h2>
-
-
-          
-
-          
-
-          <p>FreeMarker caches templates (assuming you use the
-          <code class="inline-code">Configuration</code> methods to create
-          <code class="inline-code">Template</code> objects). This means that when you call
-          <code class="inline-code">getTemplate</code>, FreeMarker not only returns the
-          resulting <code class="inline-code">Template</code> object, but stores it in a
-          cache, so when next time you call <code class="inline-code">getTemplate</code>
-          with the same (or equivalent) path, it just returns the cached
-          <code class="inline-code">Template</code> instance, and will not load and parse
-          the template file again.</p>
-
-          <p>If you change the template file, then FreeMarker will re-load
-          and re-parse the template automatically when you get the template
-          next time. However, since always checking for changes can be burden
-          for a system that processes lot of templates, there is a
-          <code class="inline-code">Configuration</code> level setting called "update
-          delay" (defaults is 5 seconds). Until this much time has
-          elapsed since the last checking for a newer version, FreeMarker will
-          not check again if the template was changed. If you want to see the
-          changes without delay, set this setting to 0. Note that some
-          template loaders won&#39;t see that a template was changed because of
-          the underlying storage mechanism doesn&#39;t support that; for example,
-          class-loader based template loaders may have this problem.</p>
-
-          <p>A template will be removed from the cache if you call
-          <code class="inline-code">getTemplate</code> and FreeMarker realizes that the
-          template file has been removed meanwhile. Also, if the JVM thinks
-          that it begins to run out of memory, by default it can arbitrarily
-          drop templates from the cache. Furthermore, you can empty the cache
-          manually with the <code class="inline-code">clearTemplateCache</code> method of
-          <code class="inline-code">Configuration</code>. You can also drop selected
-          template from the cache with
-          <code class="inline-code">removeTemplateFromCache</code>; this can be also
-          utilized to force re-loading a template regardless of the
-          "update delay" setting.</p>
-
-          <p>The actual strategy of when a cached template should be thrown
-          away is pluggable with the <code class="inline-code">cache_storage</code> setting,
-          by which you can plug any <code class="inline-code">CacheStorage</code>
-          implementation. For most users
-          <code class="inline-code">freemarker.cache.MruCacheStorage</code> will be
-          sufficient. This cache storage implements a two-level Most Recently
-          Used cache. In the first level, items are strongly referenced up to
-          the specified maximum (strongly referenced items can&#39;t be dropped by
-          the JVM, as opposed to softly referenced items). When the maximum is
-          exceeded, the least recently used item is moved into the second
-          level cache, where they are softly referenced, up to another
-          specified maximum. The size of the strong and soft parts can be
-          specified with the constructor. For example, set the size of the
-          strong part to 20, and the size of soft part to 250:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setCacheStorage(new freemarker.cache.MruCacheStorage(20, 250))</pre></div>
-
-          <p>Or, since <code class="inline-code">MruCacheStorage</code> is the default
-          cache storage implementation:</p>
-
-          
-
-<div class="code-wrapper"><pre class="code-block code-unspecified">cfg.setSetting(Configuration.CACHE_STORAGE_KEY, &quot;strong:20, soft:250&quot;);</pre></div>
-
-          <p>When you create a new <code class="inline-code">Configuration</code> object,
-          initially it uses an <code class="inline-code">MruCacheStorage</code> where
-          <code class="inline-code">strongSizeLimit</code> is 0, and
-          <code class="inline-code">softSizeLimit</code> is
-          <code class="inline-code">Integer.MAX_VALUE</code> (that is, in practice,
-          infinite). Depending on how smart the JVM is, using non-0
-          <code class="inline-code">strongSizeLimit</code> is maybe a safer option, as with
-          only softly referenced items the JVM could even throw the most
-          frequently used templates when there&#39;s a resource shortage, which
-          then have to be re-loaded and re-parsed, burdening the system even
-          more.</p>
-        <div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_config_settings.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_config_errorhandling.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_datamodel.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_datamodel.html b/builds/2.3.26-nightly/pgui_datamodel.html
deleted file mode 100644
index d660cee..0000000
--- a/builds/2.3.26-nightly/pgui_datamodel.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 Data Model - 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 Data Model">
-<meta property="og:locale" content="en_US">
-<meta property="og:url" content="http://freemarker.org/docs/pgui_datamodel.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_datamodel.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_datamodel.html"><span itemprop="name">The Data Model</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 Data Model"];</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_quickstart_all.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_datamodel_basics.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-chapter" id="pgui_datamodel" itemprop="headline">The Data Model</h1>
-</div></div><div class="page-menu">
-<div class="page-menu-title">Section Contents</div>
-<ul><li><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> </div><p>This is just an introductory explanation. See the <a href="api/index.html">FreeMarker Java API 
 documentation</a> for more
-      detailed information.</p><div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_quickstart_all.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_datamodel_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_datamodel_basics.html
----------------------------------------------------------------------
diff --git a/builds/2.3.26-nightly/pgui_datamodel_basics.html b/builds/2.3.26-nightly/pgui_datamodel_basics.html
deleted file mode 100644
index eae2c70..0000000
--- a/builds/2.3.26-nightly/pgui_datamodel_basics.html
+++ /dev/null
@@ -1,105 +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_datamodel_basics.html">
-<link rel="canonical" href="http://freemarker.org/docs/pgui_datamodel_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_datamodel.html"><span itemprop="name">The Data Model</span></a></li><li class="step-3" itempr
 op="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="pgui_datamodel_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 Data Model","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_datamodel.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_datamodel_scalar.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-section1" id="pgui_datamodel_basics" itemprop="headline">Basics</h1>
-</div></div><p>You have seen how to build a data-model in the <a href="pgui_quickstart.html">Getting Started</a> using the standard
-        Java classes (<code class="inline-code">Map</code>, <code class="inline-code">String</code>,
-        etc.). Internally, the variables available in the template are Java
-        objects that implement the
-        <code class="inline-code">freemarker.template.TemplateModel</code> interface. But
-        you could use standard Java collections as variables in your
-        data-model, because these were replaced with the appropriate
-        <code class="inline-code">TemplateModel</code> instances behind the scenes. This
-        facility is called <strong>object wrapping</strong>.
-        The object wrapping facility can convert <em>any</em> kind
-        of object transparently to the instances of classes that implement
-        <code class="inline-code">TemplateModel</code> interface. This makes it possible,
-        for example, to access <code class="inline-code">java.sql.ResultSet</code> as
-        sequence variable in templates, or to access
-        <code class="inline-code">javax.servlet.ServletRequest</code> objects as a hash
-        variable that contains the request attributes, or even to traverse XML
-        documents as FTL variables (<a href="xgui.html">see here</a>). To
-        wrap (convert) these objects, however, you need to plug the proper
-        <code class="inline-code">ObjectWrapper</code> implementation (possibly your custom
-        implementation); this will be discussed <a href="pgui_datamodel_objectWrapper.html">later</a>. The point for now
-        is that any object that you want to access from the templates, sooner
-        or later must be converted to an object that implements
-        <code class="inline-code">TemplateModel</code> interface. So first you should
-        familiarize yourself with writing of <code class="inline-code">TemplateModel</code>
-        implementations.</p><p>There is roughly one
-        <code class="inline-code">freemarker.template.TemplateModel</code> descendant
-        interface corresponding to each basic type of variable
-        (<code class="inline-code">TemplateHashModel</code> for hashes,
-        <code class="inline-code">TemplateSequenceModel</code> sequences,
-        <code class="inline-code">TemplateNumberModel</code> for numbers, etc.). For
-        example, if you want to expose a <code class="inline-code">java.sql.ResultSet</code>
-        as a sequence for the templates, then you have to write a
-        <code class="inline-code">TemplateSequenceModel</code> implementation that can read
-        <code class="inline-code">java.sql.ResultSet</code>-s. We used to say on this, that
-        you <em>wrap</em> the
-        <code class="inline-code">java.sql.ResultSet</code> with your
-        <code class="inline-code">TemplateModel</code> implementation, as basically you just
-        encapsulate the <code class="inline-code">java.sql.ResultSet</code> to provide
-        access to it with the common <code class="inline-code">TemplateSequenceModel</code>
-        interface. Note that a class can implement multiple
-        <code class="inline-code">TemplateModel</code> interfaces; this is why FTL variables
-        can have multiple types (see: <a href="dgui_datamodel_basics.html">Template Author&#39;s Guide/Values, Types/Basics</a>)</p><p>Note that a trivial implementation of these interfaces is
-        provided with the <code class="inline-code">freemarker.template</code> package. For
-        example, to convert a <code class="inline-code">String</code> to FTL string
-        variable, you can use <code class="inline-code">SimpleScalar</code>, to convert a
-        <code class="inline-code">java.util.Map</code> to FTL hash variable, you can use
-        <code class="inline-code">SimpleHash</code>, etc.</p><p>An easy way to try your own <code class="inline-code">TemplateModel</code>
-        implementation, is to create an instance of that, and drop it directly
-        into the data-model (as <code class="inline-code">put</code> it into the root hash).
-        The object wrapper will expose it untouched for the template, as it
-        already implements <code class="inline-code">TemplateModel</code>, so no conversion
-        (wrapping) needed. (This trick is also useful in cases when you do not
-        want the object wrapper to try to wrap (convert) a certain
-        object.)</p><div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="pgui_datamodel.html"><span>Previous</span></a><a class="paging-arrow next" href="pgui_datamodel_scalar.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