You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2015/11/02 20:07:23 UTC
[2/2] incubator-freemarker-site git commit: Adding some of the
freemarker.org content (until it's back online).
Adding some of the freemarker.org content (until it's back online).
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/commit/fd1caa91
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/tree/fd1caa91
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/diff/fd1caa91
Branch: refs/heads/asf-site
Commit: fd1caa91a030d484f93b3bd5fc7a6f02484fe536
Parents: 54055e6
Author: ddekany <dd...@apache.org>
Authored: Mon Nov 2 20:06:54 2015 +0100
Committer: ddekany <dd...@apache.org>
Committed: Mon Nov 2 20:06:54 2015 +0100
----------------------------------------------------------------------
LICENSE.txt | 236 +++++
contribute.html | 204 +++++
docgen-resources/docgen.css | 1353 ++++++++++++++++++++++++++++
docgen-resources/docgen.min.css | 1 +
docgen-resources/fonts/icomoon.eot | Bin 0 -> 4220 bytes
docgen-resources/fonts/icomoon.svg | 28 +
docgen-resources/fonts/icomoon.ttf | Bin 0 -> 4056 bytes
docgen-resources/fonts/icomoon.woff | Bin 0 -> 4132 bytes
docgen-resources/img/callouts/1.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/10.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/11.gif | Bin 0 -> 244 bytes
docgen-resources/img/callouts/12.gif | Bin 0 -> 244 bytes
docgen-resources/img/callouts/13.gif | Bin 0 -> 244 bytes
docgen-resources/img/callouts/14.gif | Bin 0 -> 244 bytes
docgen-resources/img/callouts/2.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/3.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/4.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/5.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/6.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/7.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/8.gif | Bin 0 -> 968 bytes
docgen-resources/img/callouts/9.gif | Bin 0 -> 968 bytes
docgen-resources/img/patterned-bg.png | Bin 0 -> 4565 bytes
docgen-resources/img/xxe.png | Bin 0 -> 2649 bytes
docgen-resources/main.js | 214 +++++
docgen-resources/main.min.js | 1 +
freemarkerdownload.html | 198 ++++
images/bullet_e0e0e0.png | Bin 0 -> 278 bytes
images/eclipse.png | Bin 0 -> 5732 bytes
images/logo_e0e0e0.png | Bin 0 -> 3372 bytes
images/none.gif | Bin 0 -> 42 bytes
images/osi-certified-120x100.png | Bin 0 -> 6991 bytes
images/overview.png | Bin 0 -> 11837 bytes
images/poweredby_big_ffffff.png | Bin 0 -> 3686 bytes
images/poweredby_ffffff.png | Bin 0 -> 2775 bytes
images/poweredby_sq_bluespot.png | Bin 0 -> 2843 bytes
images/poweredby_sq_simple.png | Bin 0 -> 1778 bytes
images/poweredby_sq_sunset.png | Bin 0 -> 4318 bytes
images/sflogo.png | Bin 0 -> 2112 bytes
mailing-lists.html | 96 ++
robots.txt | 2 +
sourcecode.html | 109 +++
test-bar.html | 1 -
toc.js | 180 ++++
44 files changed, 2622 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/LICENSE.txt
----------------------------------------------------------------------
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..05c2d89
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,236 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+==============================================================================
+END LICENSE
+
+
+Files developed outside the FreeMarker project
+----------------------------------------------
+
+FreeMarker, both in its source code and binary form (freemarker.jar)
+includes a number of files that are licensed by the Apache Software
+Foundation under the Apache License, Version 2.0. This is the same
+license as the license of FreeMaker. These files are:
+
+ freemarker/ext/jsp/web-app_2_2.dtd
+ freemarker/ext/jsp/web-app_2_3.dtd
+ freemarker/ext/jsp/web-jsptaglibrary_1_1.dtd
+ freemarker/ext/jsp/web-jsptaglibrary_1_2.dtd
+
+
+Historical notes
+----------------
+
+FreeMarker 1.x was released under the LGPL license. Later, by
+community consensus, we have switched over to a BSD-style license. As
+of FreeMarker 2.2pre1, the original author, Benjamin Geer, has
+relinquished the copyright in behalf of Visigoth Software Society.
+
+With FreeMarker 2.3.21 the license has changed to Apache License,
+Version 2.0, and the owner has changed from Visigoth Software Society
+to three of the FreeMarker 2.x developers, Attila Szegedi, Daniel
+Dekany, and Jonathan Revusky.
+
+After FreeMarker 2.3.24-pre01 (2015-09-02), the owner changes to the
+Apache Software Foundation.
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/contribute.html
----------------------------------------------------------------------
diff --git a/contribute.html b/contribute.html
new file mode 100644
index 0000000..421e6b6
--- /dev/null
+++ b/contribute.html
@@ -0,0 +1,204 @@
+<!doctype html>
+<html lang="en" class="page-type-section">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<title>Contributors wanted! - FreeMarker</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="FreeMarker">
+<meta property="og:title" content="Contributors wanted!">
+<meta property="og:locale" content="en_US">
+<meta property="og:url" content="http://freemarker.org/contribute.html">
+<link rel="canoical" href="http://freemarker.org/contribute.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">
+<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/">
+ <meta itemprop="name" content="FreeMarker">
+
+ <!--[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 class="current"><a href="index.html">Home</a></li><li><a href="docs/index.html">Manual</a></li><li><a class="external" href="docs/api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="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="freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div> <div class="main-content site-width">
+ <div class="content-wrapper">
+ <div id="table-of-contents-wrapper" class="col-left">
+ <script>var breadcrumb = ["FreeMarker","Community","Contributors wanted!"];</script>
+ <script src="toc.js"></script>
+ <script src="docgen-resources/main.min.js"></script>
+ </div>
+<div class="col-right"><div class="page-content"><div class="page-title"><div class="title-wrapper">
+<h1 class="content-header header-section1" id="contribute" itemprop="headline">Contributors wanted!</h1>
+</div></div><p>Usually, contributors come because they want to fix/improve a
+ certain thing. But if you just want to help in general, here are some
+ topics that are not (that) hard to jump into and are considered to be
+ important:</p><ul>
+ <li>
+ <p>Tooling / desktop:</p>
+
+ <ul>
+ <li>
+ <p>Eclipse plugin. Either help improving the JBoss Tools
+ "FreeMarker IDE", or if you have serious ambitions,
+ even start your own!</p>
+ </li>
+
+ <li>
+ <p>IntelliJ plugin. Check how well it works (like support for
+ recent FreeMarker features), try to find a way to contribute
+ where needed.</p>
+ </li>
+
+ <li>
+ <p>Plugin or syntax highlighter for you favorite editor
+ (Notepad++, jEdit, VIM, etc.) that actually covers FTL
+ reasonably well, and is legally properly contributed to the
+ project.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>Tooling / online tools:</p>
+
+ <ul>
+ <li>
+ <p>Improve <a href="http://freemarker-online.kenshoo.com/">freemarker-online</a>, the
+ template tester page. For example, it should be REST service
+ with an AJAX based front-end, instead of the current full page
+ reloading one. Ultimately, we want to be able to embed the
+ tester into the Manual for trying the examples.</p>
+ </li>
+
+ <li>
+ <p>Online editor, syntax highlighter. This might means
+ FreeMarker support for CodeMirror. This, among others, would be
+ useful in the online template tester (see previous point)</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>Improve framework integration:</p>
+
+ <ul>
+ <li>
+ <p>FreeMarker Spring MVC integration. Someone who know both
+ well should keep an eye on this, improving it where
+ necessary.</p>
+ </li>
+
+ <li>
+ <p>FreeMarker Struts integration. Same as with Spring
+ MVC.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>Android support. This is related to the next two points
+ too</p>
+ </li>
+
+ <li>
+ <p>Bean introspection without
+ <code class="inline-code">javax.bean.Introspector</code> (or in additionally to
+ it). FreeMarker relies on this class for maximum conformance to the
+ JavaBeans specs., however, its limitations start to hurt too much:
+ It doesn't work on Android, it doesn't support Java 8 default
+ methods, and it's not lenient enough in many cases (<code class="inline-code">Boolean
+ isXxx</code> doesn't work, <code class="inline-code">xFoo</code> is not a
+ possible property name of <code class="inline-code">getXFoo</code>, etc.), it
+ doesn't work with static methods
+ (<code class="inline-code">BeansWrapper.staticModels</code>).</p>
+ </li>
+
+ <li>
+ <p>Support for Java 8 date/time API-s (this is actually certainly
+ a difficult one)</p>
+ </li>
+
+ <li>
+ <p><code class="inline-code">javax.script</code> (JSR-223) support</p>
+ </li>
+
+ <li>
+ <p>Write <code class="inline-code">TemplateLoader</code> that loads from
+ database (<code class="inline-code">DataSource</code>)</p>
+ </li>
+
+ <li>
+ <p>Migrate build from Ant to Gradle. Or for Docgen an Site, Maven
+ is certainly a good fit.</p>
+ </li>
+
+ <li>
+ <p>Performance tests, to spot performance regressions.</p>
+ </li>
+ </ul><p>Continuous activities that are always welcome:</p><ul>
+ <li>
+ <p>Spotting mistakes in commits; more eyes see more</p>
+ </li>
+
+ <li>
+ <p>Trying to break new features (finding bugs)</p>
+ </li>
+
+ <li>
+ <p>Improve JUnit coverage where it's due</p>
+ </li>
+
+ <li>
+ <p>Fixing typos in the documentation (includes JavaDoc!)</p>
+ </li>
+
+ <li>
+ <p>Help users. This mostly means monitoring FreeMarker related
+ questions on Stack Overflow.</p>
+ </li>
+
+ <li>
+ <p>Pick a bug from the bug tracker, and squash it.</p>
+ </li>
+
+ <li>
+ <p>Recommend using FreeMarker to others when there's a fitting
+ task</p>
+ </li>
+ </ul><p>Last not least, FreeMarker needs long standing/returning
+ contributors who tackle deeper issues.</p>
+
+
+
+
+<h2 class="content-header header-simplesect" id="autoid_27">What to do if I want to contribute</h2>
+
+
+ <p>First you should <a href="mailing-lists.html">subsrcribe to the
+ developer mailing list</a> to discuss what you plant to do. If you
+ are going to contribute to the engine itself, you will need an <a href="http://www.apache.org/dev/new-committers-guide.html#cla">Individual
+ Contributor License Agreement (ICLA) or Corporate CLA at the Apache
+ Software Foundation</a>.</p>
+
+ <p>Of course, you will also want to check the project out from the
+ source code repository, and build it. See here <a href="sourcecode.html">what to check out</a>. After checking
+ something out, see the <code class="inline-code">README</code> file in it for more
+ information about building and IDE setup.</p>
+ </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="index.html">What is FreeMarker?</a></li><li><a href="freemarkerdownload.html">Download</a></li><li><a href="docs/app_versions.html">Version history</a></li><li><a href="history.html">About us</a></li><li><a itemprop="license" href="docs/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="docs/dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="docs/ref_directive_alphaidx.html">#directives</a></li><li><a href="docs/ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="docs/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/freem
arker/">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="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/">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><span class="last-updated"> Last generated:
+<time itemprop="dateModified" datetime="2015-10-26T20:43:58Z" title="Monday, October 26, 2015 8:43:58 PM GMT">2015-10-26 20:43:58 GMT</time></span></p> <p class="copyright">
+© <span itemprop="copyrightYear">1999</span>–2015
+<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://freemarker.org">The FreeMarker Project</a>. All rights reserved. </p>
+</div></div></div></body>
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/docgen.css
----------------------------------------------------------------------
diff --git a/docgen-resources/docgen.css b/docgen-resources/docgen.css
new file mode 100644
index 0000000..95d1a69
--- /dev/null
+++ b/docgen-resources/docgen.css
@@ -0,0 +1,1353 @@
+@font-face {
+ font-family: 'icomoon';
+ src: url('fonts/icomoon.eot?-fbty7i');
+ src: url('fonts/icomoon.eot?#iefix-fbty7i') format('embedded-opentype'), url('fonts/icomoon.woff?-fbty7i') format('woff'), url('fonts/icomoon.ttf?-fbty7i') format('truetype'), url('fonts/icomoon.svg?-fbty7i#icomoon') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+html {
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ font-size: 14px;
+ color: #333333;
+ line-height: 1.5;
+ font-weight: normal;
+ background-color: #fff;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ text-size-adjust: 100%;
+ height: 100%;
+}
+body {
+ min-height: 100%;
+ margin: 0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+a {
+ color: #0050b2;
+ text-decoration: none;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+}
+a:hover {
+ color: #0973f5;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 500;
+ color: #0050b2;
+ word-break: break-word;
+}
+h1 {
+ font-size: 36px;
+}
+h2 {
+ font-size: 21px;
+}
+code,
+pre {
+ font-size: 13px;
+ font-family: "Droid Sans Mono", "Courier New", Courier, Monaco, Consolas, monospace;
+ -webkit-font-smoothing: antialiased;
+}
+code {
+ padding: 0 2px;
+ color: #C5351F;
+ word-break: break-word;
+}
+a > code {
+ color: #0050b2;
+}
+a:hover > code {
+ color: #0973f5;
+}
+pre {
+ display: block;
+ border: 0;
+ padding: 6px 12px;
+ margin: 0 0 9px;
+ overflow-x: auto;
+ word-break: normal;
+ white-space: pre;
+}
+@-moz-document url-prefix() {
+ pre {
+ white-space: pre-wrap;
+ word-break: break-all;
+ }
+}
+img {
+ border: 0;
+ vertical-align: middle;
+}
+fieldset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+}
+input[type=search]::-webkit-search-cancel-button {
+ display: none;
+}
+table {
+ border: 0;
+ border-collapse: collapse;
+}
+td,
+th {
+ padding: 0;
+}
+.header-top-bg {
+ background-color: #0050b2;
+ background-image: -webkit-radial-gradient(50% 15px, circle, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 50%, #00276c 100%), url(img/patterned-bg.png);
+ background-image: radial-gradient(circle at 50% 15px, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 50%, #00276c 100%), url(img/patterned-bg.png);
+ box-shadow: 0 3px 9px #c1c1c1;
+ border-bottom: 3px solid #003270;
+ position: relative;
+ z-index: 2;
+}
+.header-top {
+ text-align: center;
+ padding: 12px 0;
+}
+@media (min-width: 568px) {
+ .header-top {
+ padding-bottom: 18px;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+}
+.header-bottom-bg {
+ background-color: #efefef;
+ border-bottom: 1px solid #dedede;
+ box-shadow: 0 0 7px #eee;
+ position: relative;
+ z-index: 1;
+}
+.search-row {
+ padding-top: 12px;
+}
+@media (min-width: 568px) {
+ .search-row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+}
+.search-row .navigation-header,
+.search-row .search-form {
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+.search-row .navigation-header {
+ display: block;
+ font-size: 18px;
+ line-height: 1;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+}
+@media (min-width: 568px) {
+ .search-row .navigation-header {
+ font-size: 27px;
+ }
+}
+@media (min-width: 768px) {
+ .search-row .navigation-header {
+ -webkit-box-flex: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ }
+}
+.breadcrumb-row {
+ padding-top: 9px;
+ padding-bottom: 9px;
+}
+.search-row + .breadcrumb-row {
+ padding-top: 0;
+}
+@media (min-width: 568px) {
+ .breadcrumb-row {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: end;
+ -webkit-align-items: flex-end;
+ -ms-flex-align: end;
+ align-items: flex-end;
+ }
+}
+.main-content {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+}
+.content-wrapper {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ padding-top: 18px;
+ padding-bottom: 18px;
+}
+@media (min-width: 768px) {
+ .content-wrapper {
+ padding-top: 30px;
+ padding-bottom: 48px;
+ }
+}
+.content-wrapper.no-toc {
+ display: block;
+}
+.content-wrapper .col-left {
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 160px;
+ -ms-flex: 0 0 160px;
+ flex: 0 0 160px;
+ max-width: 160px;
+ margin-right: 18px;
+ display: none;
+}
+@media (min-width: 568px) {
+ .content-wrapper .col-left {
+ display: block;
+ }
+}
+@media (min-width: 768px) {
+ .content-wrapper .col-left {
+ -webkit-flex-basis: 210px;
+ -ms-flex-preferred-size: 210px;
+ flex-basis: 210px;
+ max-width: 210px;
+ margin-right: 48px;
+ }
+ .content-wrapper .col-left.expanded {
+ max-width: 100%;
+ }
+}
+.content-wrapper .col-right {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ position: relative;
+}
+@media (min-width: 768px) {
+ .page-content {
+ padding-bottom: 42px;
+ }
+}
+.page-content a {
+ word-break: break-word;
+}
+.page-content .page-title {
+ border-bottom: 1px solid #eeeeee;
+ padding-bottom: 12px;
+ margin-bottom: 12px;
+ /* The Google results already adds some borders and is mostly empty at the top */
+}
+.page-type-docgen-search-results .page-content .page-title {
+ border: none;
+ padding-bottom: 0;
+ margin-bottom: 0;
+}
+@media (min-width: 768px) {
+ .page-content .page-title {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ }
+}
+@media (min-width: 768px) {
+ .page-content .page-title {
+ padding-bottom: 24px;
+ margin-bottom: 24px;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-box-align: baseline;
+ -webkit-align-items: baseline;
+ -ms-flex-align: baseline;
+ align-items: baseline;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ }
+}
+.page-content .page-title .title-wrapper {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+}
+.page-content .page-title h1 {
+ margin: 0;
+ font-size: 24px;
+}
+@media (min-width: 768px) {
+ .page-content .page-title h1 {
+ font-size: 30px;
+ }
+}
+.page-content .page-title .subtitle {
+ display: block;
+ font-size: 14px;
+}
+@media (min-width: 768px) {
+ .page-content .page-title .subtitle {
+ font-size: 18px;
+ }
+}
+@media (min-width: 992px) {
+ .page-content .page-title .subtitle {
+ font-size: 24px;
+ }
+}
+.page-content .content-header::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: "\f1dd";
+ margin-left: -18px;
+ margin-top: 2px;
+ width: 18px;
+ font-weight: normal;
+ font-size: 18px;
+ color: #C82222;
+ float: left;
+ visibility: hidden;
+}
+@media (min-width: 768px) {
+ .page-content .content-header::before {
+ margin-left: -24px;
+ }
+}
+.page-content .active::before {
+ -webkit-animation: header-pulse 0.3s 3 steps(2, end);
+ animation: header-pulse 0.3s 3 steps(2, end);
+}
+@-webkit-keyframes header-pulse {
+ 0% {
+ visibility: hidden;
+ }
+ 100% {
+ visibility: visible;
+ }
+}
+@keyframes header-pulse {
+ 0% {
+ visibility: hidden;
+ }
+ 100% {
+ visibility: visible;
+ }
+}
+.site-footer {
+ border-top: 3px solid #003270;
+ background-color: #0050b2;
+ background-image: -webkit-radial-gradient(50% -50px, ellipse, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 24%, #000c3b 86%, #000c3b 100%), url(img/patterned-bg.png);
+ background-image: radial-gradient(ellipse at 50% -50px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 24%, #000c3b 86%, #000c3b 100%), url(img/patterned-bg.png);
+ font-weight: 300;
+ color: #fff;
+}
+.site-footer a {
+ color: #fff;
+}
+.site-footer a:hover {
+ color: rgba(255, 255, 255, 0.8);
+}
+@media (min-width: 568px) {
+ .footer-top {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
+ }
+}
+@media (min-width: 992px) {
+ .footer-top {
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ }
+}
+.footer-top .col-left {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+}
+.footer-top .col-right {
+ padding-top: 12px;
+ padding-bottom: 12px;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 auto;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+}
+@media (min-width: 992px) {
+ .footer-top .col-right {
+ padding-top: 24px;
+ }
+}
+@media (min-width: 768px) {
+ .footer-top .col-right {
+ text-align: right;
+ }
+}
+@media (min-width: 568px) {
+ .sitemap {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ }
+}
+.sitemap .column {
+ padding-top: 12px;
+ padding-bottom: 12px;
+ margin-right: 12px;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 1 auto;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+}
+@media (min-width: 992px) {
+ .sitemap .column {
+ padding-top: 24px;
+ }
+}
+.sitemap .column:last-child {
+ margin-right: 0;
+}
+@media (min-width: 768px) {
+ .sitemap .column {
+ margin-right: 54px;
+ }
+}
+.sitemap .column .column-header {
+ color: #fff;
+ border-bottom: 2px solid #4c76ab;
+ margin: 0 0 6px;
+ padding-bottom: 6px;
+ font-weight: 400;
+}
+.sitemap .column ul {
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+}
+.sitemap .column a {
+ padding-right: 9px;
+ display: block;
+}
+.xxe {
+ display: inline-block;
+ width: 110px;
+ height: 34px;
+ margin-top: 15px;
+ background: #ffffff url(img/xxe.png) 50% no-repeat;
+ border: 1px solid #002254;
+}
+.xxe span {
+ display: none;
+}
+.footer-bottom {
+ padding: 45px 0 30px;
+}
+@media (min-width: 768px) {
+ .footer-bottom {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ }
+}
+.footer-bottom p {
+ margin: 0 0 6px;
+ -webkit-flex: 0 1 auto;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ -webkit-box-flex: 1;
+}
+.footer-bottom .generated-for-product {
+ font-size: 12px;
+ display: block;
+}
+.footer-bottom .last-updated {
+ font-size: 12px;
+ display: block;
+}
+.logo {
+ padding: 6px 0 0;
+ display: block;
+}
+.logo img {
+ display: block;
+ margin: 0 auto;
+ width: 204px;
+ height: 19px;
+}
+.tabs {
+ list-style-type: none;
+ margin: 0;
+ padding: 6px 0 0;
+ text-align: center;
+ font-weight: 300;
+}
+@media (min-width: 568px) {
+ .tabs {
+ margin-left: 24px;
+ -webkit-box-flex: 0;
+ -webkit-flex: 0 0 auto;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ padding-top: 0;
+ }
+}
+.tabs li {
+ display: inline-block;
+}
+.tabs li.current a {
+ color: #fff;
+ font-weight: 400;
+}
+.tabs li::after,
+.secondary-tabs li::after {
+ width: 1px;
+ background-color: #96a5b8;
+ height: 9px;
+ display: inline-block;
+ content: '';
+ margin: 0 15px;
+}
+.tabs li:last-child::after,
+.secondary-tabs li:last-child::after {
+ display: none;
+}
+.tabs li a,
+.secondary-tabs .tab {
+ color: #c9dbf1;
+}
+.tabs li a:hover,
+.secondary-tabs li a:hover {
+ color: #fff;
+}
+.secondary-tabs {
+ margin: 0;
+ list-style-type: none;
+ padding: 6px 0 0;
+ display: none;
+ text-align: center;
+}
+@media (min-width: 768px) {
+ .secondary-tabs {
+ display: block;
+ text-align: right;
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 auto;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ }
+}
+.secondary-tabs li {
+ display: inline-block;
+}
+.secondary-tabs li:last-child {
+ margin-right: 0;
+}
+.secondary-tabs li a:hover strong {
+ border-bottom-color: transparent;
+}
+.secondary-tabs .tab::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 18px;
+ height: 18px;
+ display: inline-block;
+ font-size: 12px;
+ text-align: center;
+}
+@media (min-width: 992px) {
+ .secondary-tabs .tab::before {
+ padding-right: 6px;
+ }
+}
+.secondary-tabs .tab.icon-heart::before {
+ content: "\e609";
+}
+.secondary-tabs .tab.icon-star::before {
+ content: "\e608";
+}
+.secondary-tabs .tab.icon-bug::before {
+ content: "\f188";
+}
+.secondary-tabs .tab.icon-download::before {
+ content: "\e606";
+}
+.secondary-tabs .tab strong {
+ font-weight: normal;
+ border-bottom: 1px solid #8fafd7;
+}
+.secondary-tabs .tab span {
+ display: none;
+}
+@media (min-width: 992px) {
+ .secondary-tabs .tab span {
+ display: inline;
+ }
+}
+.breadcrumb {
+ list-style-type: none;
+ margin: 0;
+ padding: 6px 0 0 0;
+ font-size: 12px;
+ display: block;
+ white-space: nowrap;
+ overflow: hidden;
+}
+@media (min-width: 768px) {
+ .breadcrumb {
+ font-size: 13px;
+ }
+}
+.breadcrumb li {
+ display: inline-block;
+}
+.breadcrumb li::after {
+ content: '/';
+ color: #979797;
+ margin: 0 3px;
+}
+@media (min-width: 768px) {
+ .breadcrumb li::after {
+ margin: 0 6px;
+ }
+}
+.breadcrumb li:last-child a {
+ color: #333333;
+}
+.breadcrumb li:last-child::after {
+ display: none;
+}
+.breadcrumb li.step-0 a::after {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: "\e60a";
+ display: inline-block;
+ width: 14px;
+ height: 14px;
+ font-size: 12px;
+ position: relative;
+ top: 1px;
+}
+.breadcrumb li.step-0 a span {
+ display: none;
+}
+.table-of-contents {
+ list-style-type: none;
+ padding: 0;
+ margin: 6px 0 0;
+ font-size: 12px;
+}
+@media (min-width: 768px) {
+ .table-of-contents {
+ margin-top: 12px;
+ font-size: 13px;
+ }
+}
+.table-of-contents .current::before {
+ color: #0973f5;
+}
+.table-of-contents .current > a:first-child {
+ color: #0973f5;
+}
+.table-of-contents ul {
+ list-style-type: none;
+}
+.section {
+ border-bottom: 1px solid #eeeeee;
+ margin-bottom: 12px;
+ padding-bottom: 12px;
+}
+@media (min-width: 768px) {
+ .section {
+ margin-bottom: 24px;
+ padding-bottom: 24px;
+ }
+}
+.section.last {
+ border-bottom: 0;
+ margin-bottom: 0;
+}
+.section.last .depth-0-link {
+ margin-bottom: 0;
+}
+.depth-0-link {
+ color: #0050b2;
+ text-transform: uppercase;
+ font-weight: 400;
+ display: block;
+ line-height: 1;
+ margin-bottom: 12px;
+}
+@media (min-width: 768px) {
+ .depth-0-link {
+ margin-bottom: 24px;
+ }
+}
+a.depth-0-link:hover {
+ color: #0973f5;
+}
+.depth-1 {
+ margin: 0;
+ padding: 0;
+}
+.depth-1 li {
+ padding-left: 14px;
+ position: relative;
+}
+.depth-1 li::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: "\e602";
+ width: 14px;
+ height: 14px;
+ display: block;
+ position: absolute;
+ left: -3px;
+ top: 2px;
+ font-size: 14px;
+ line-height: 1;
+}
+.depth-1 li.has-children::before {
+ content: "\e600";
+ font-size: 13px;
+ cursor: pointer;
+}
+.depth-1 li.has-children.open::before {
+ content: "\e601";
+ font-size: 13px;
+}
+.depth-1 li.has-children .last::before {
+ content: "\e602";
+ top: 3px;
+}
+.depth-1 a {
+ display: block;
+ color: #444;
+}
+.depth-1 a:hover {
+ color: #888;
+}
+.depth-2 {
+ margin: 0;
+ padding: 0;
+}
+.closed ul {
+ display: none;
+}
+.open ul {
+ display: block;
+}
+.page-menu {
+ margin: 0 0 12px;
+ padding: 0 0 12px 18px;
+ border-bottom: 1px solid #eeeeee;
+}
+.page-menu .page-menu-title {
+ margin-top: 0;
+ margin-bottom: 1em;
+ color: #0050b2;
+ font-weight: bold;
+}
+@media (min-width: 768px) {
+ .page-menu {
+ margin-bottom: 24px;
+ margin-top: -12px;
+ }
+}
+.page-menu ul {
+ margin: 0 0 0 18px;
+ padding: 0;
+}
+.page-menu a:visited {
+ color: #800080;
+}
+.search-form {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 1 auto;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ height: 26px;
+ width: 100%;
+ display: inline-block;
+}
+.search-form.offline {
+ display: none;
+}
+@media (min-width: 768px) {
+ .search-form {
+ max-width: 300px;
+ }
+}
+.search-form fieldset {
+ height: 26px;
+}
+.search-form .search-btn {
+ color: #0050b2;
+ line-height: 1;
+ background-color: #fff;
+ background-image: none;
+ border: 0;
+ border-radius: 0;
+ padding: 0 3px;
+ width: 26px;
+ height: 24px;
+ position: relative;
+ top: -25px;
+ float: right;
+ right: 1px;
+}
+.search-form .search-btn:hover,
+.search-form .search-btn:focus {
+ color: #4c9cff;
+ cursor: pointer;
+ outline: 0;
+}
+.search-form .search-btn::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: "\f002";
+ box-sizing: border-box;
+ font-size: 16px;
+ width: 18px;
+ height: 18px;
+ display: block;
+}
+.search-form .search-input {
+ -webkit-appearance: none;
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ background-image: none;
+ background: #fff;
+ font-size: 16px;
+ line-height: 21px;
+ border: 1px solid #aec0d6;
+ border-radius: 0;
+ box-sizing: border-box;
+ padding: 3px 24px 3px 9px;
+ height: 26px;
+ width: 100%;
+ -webkit-transition: border-color 0.2s ease-in;
+ transition: border-color 0.2s ease-in;
+}
+.search-form .search-input::-moz-placeholder {
+ color: #0050b2;
+ opacity: 0.6;
+ font-size: 14px;
+}
+.search-form .search-input:-ms-input-placeholder {
+ color: #0050b2;
+ font-size: 14px;
+ line-height: 21px;
+}
+.search-form .search-input::-webkit-input-placeholder {
+ color: #0050b2;
+ opacity: 0.6;
+ font-size: 14px;
+}
+.search-form .search-input:focus {
+ outline: 0;
+ border-color: #0050b2;
+}
+.search-results .gsc-control-cse {
+ padding: 0;
+}
+.search-results .gs-title,
+.search-results .gs-title * {
+ color: #0050b2 !important;
+ text-decoration: none !important;
+}
+.search-results .gs-title:hover,
+.search-results .gs-title *:hover {
+ color: #0973f5 !important;
+}
+.bottom-pagers-wrapper::before,
+.bottom-pagers-wrapper::after {
+ content: " ";
+ display: table;
+}
+.bottom-pagers-wrapper::after {
+ clear: both;
+}
+@media (min-width: 768px) {
+ .bottom-pagers-wrapper {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ }
+}
+.pagers {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ white-space: nowrap;
+}
+@media (min-width: 768px) {
+ .pagers {
+ float: right;
+ font-size: 14px;
+ }
+}
+.pagers.top {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ margin-bottom: 6px;
+}
+@media (min-width: 768px) {
+ .pagers.top {
+ margin-left: 12px;
+ margin-bottom: 0;
+ }
+}
+.paging-arrow {
+ -webkit-box-flex: 1;
+ -webkit-flex: 1 0 auto;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ word-break: normal;
+}
+.paging-arrow::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ display: block;
+ line-height: 21px;
+ vertical-align: middle;
+ width: 17px;
+}
+@media (min-width: 568px) {
+ .paging-arrow.previous {
+ margin-right: 12px;
+ }
+}
+.paging-arrow.previous::before {
+ content: "\f190";
+ padding-right: 3px;
+ float: left;
+}
+.paging-arrow.next {
+ text-align: right;
+}
+.paging-arrow.next::before {
+ content: "\f18e";
+ padding-left: 3px;
+ float: right;
+}
+.bookmarks {
+ text-align: right;
+ display: none;
+}
+@media (min-width: 992px) {
+ .bookmarks {
+ display: block;
+ }
+}
+.bookmarks::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ content: "\e607";
+ width: 14px;
+ height: 14px;
+ display: inline-block;
+ position: relative;
+ top: 2px;
+ margin-right: 1px;
+ color: #0050b2;
+}
+.bookmarks ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ display: inline-block;
+ font-size: 13px;
+}
+.bookmarks ul li {
+ display: inline-block;
+}
+.bookmarks ul li::after {
+ content: ",";
+ display: inline-block;
+ margin: 0 3px 0 0;
+}
+.bookmarks ul li:last-child::after {
+ display: none;
+}
+.callout {
+ padding: 15px 18px;
+ margin: 12px 0;
+ border-left: 4px solid #eee;
+ background-color: #f9f9f9;
+ max-width: 600px;
+}
+.callout.note {
+ border-left-color: #A181AE;
+ background-color: #F9F2FA;
+}
+.callout.note .callout-label {
+ color: #7D578C;
+}
+.callout.warning {
+ border-left-color: #EDBABA;
+ background-color: #FCEAEA;
+}
+.callout.warning .callout-label {
+ color: #900;
+}
+.callout p:first-of-type {
+ margin-top: 3px;
+}
+.callout p:last-child {
+ margin-bottom: 0;
+}
+.callout-label {
+ display: block;
+ padding-bottom: 3px;
+}
+.callout-label::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ font-size: 12px;
+}
+.note .callout-label::before {
+ content: "\e605";
+ margin-right: 3px;
+}
+.warning .callout-label::before {
+ content: "\e604";
+ font-size: 14px;
+ margin-right: 6px;
+}
+.marked-text {
+ background-color: #AEDDFF;
+}
+.marked-interpolation {
+ background-color: #FFC070;
+}
+.marked-ftl-tag {
+ background-color: #FFEE6B;
+}
+.marked-comment {
+ background-color: #5CFF6A;
+}
+.marked-template {
+ background-color: #e4e4e4;
+}
+.marked-data-model {
+ background-color: #D2E2EF;
+}
+.marked-output {
+ background-color: #D5EAD7;
+}
+.marked-invisible-text {
+ opacity: 0.33;
+}
+.marked-for-programmers {
+ color: #333399;
+ font-style: italic;
+}
+.code-color {
+ color: #f00;
+}
+.code-block {
+ border: 0;
+ position: relative;
+ padding: 3px 6px 4px;
+ margin: 12px 0;
+ background-color: #f4f4f4;
+ /*
+ &.code-unspecified {
+ // Same as default for now
+ }
+ */
+}
+@media (min-width: 992px) {
+ .code-block {
+ display: inline-block;
+ min-width: 600px;
+ margin: 0;
+ }
+ ul .code-block {
+ min-width: 300px;
+ display: block;
+ }
+}
+.callout .code-block {
+ background-color: transparent !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+.callout .code-block::after {
+ display: none !important;
+}
+.code-block.code-template {
+ background-color: #f4f4f4;
+ padding-top: 23px;
+}
+.code-block.code-template::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ padding: 3px 9px;
+ font-size: 10px;
+ font-weight: bold;
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ text-transform: uppercase;
+ color: rgba(94, 94, 94, 0.8);
+ background-color: #e4e4e4;
+ content: "Template";
+}
+.code-block.code-data-model {
+ background-color: #ecf3f8;
+ padding-top: 23px;
+}
+.code-block.code-data-model::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ padding: 3px 9px;
+ font-size: 10px;
+ font-weight: bold;
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ text-transform: uppercase;
+ color: rgba(94, 94, 94, 0.8);
+ background-color: #D2E2EF;
+ content: "Data Model";
+}
+.code-block.code-output {
+ background-color: #ECF8EE;
+ padding-top: 23px;
+}
+.code-block.code-output::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ padding: 3px 9px;
+ font-size: 10px;
+ font-weight: bold;
+ font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
+ text-transform: uppercase;
+ color: rgba(94, 94, 94, 0.8);
+ background-color: #D5EAD7;
+ content: "Output";
+}
+.table-responsive {
+ min-height: .01%;
+ overflow-x: auto;
+}
+@media (max-width: 767px) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-y: hidden;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ }
+}
+.table {
+ background-color: transparent;
+ border-spacing: 0;
+ border-collapse: collapse;
+ border: 1px solid #ddd;
+ width: 100%;
+ max-width: 100%;
+}
+.table th {
+ font-weight: 500;
+ text-align: left;
+ background-color: #f9f9f9;
+ border-bottom: 1px solid #ddd;
+ white-space: nowrap;
+}
+.table th,
+.table td {
+ padding: 3px 6px;
+ border: 1px solid #ddd;
+ vertical-align: top;
+}
+.table td {
+ white-space: nowrap;
+}
+@media (min-width: 992px) {
+ .table td {
+ white-space: normal;
+ }
+}
+.table a {
+ word-break: normal;
+}
+.social-icons {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+.social-icons li {
+ display: inline-block;
+ margin-right: 18px;
+}
+.social-icons li:last-child {
+ margin-right: 0;
+}
+.social-icons li a::before {
+ font-family: 'icomoon';
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ width: 14px;
+ height: 22px;
+ display: inline-block;
+ padding-right: 3px;
+}
+.social-icons li .github::before {
+ content: "\f09b";
+}
+.social-icons li .twitter::before {
+ content: "\f099";
+}
+.social-icons li .stack-overflow::before {
+ content: "\f16c";
+}
+.site-width {
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 18px;
+ padding-right: 18px;
+}
+@media (min-width: 768px) {
+ .site-width {
+ padding-left: 24px;
+ padding-right: 24px;
+ width: 700px;
+ }
+}
+@media (min-width: 992px) {
+ .site-width {
+ width: 924px;
+ }
+}
+@media (min-width: 1200px) {
+ .site-width {
+ width: 1132px;
+ }
+}
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+.center-img {
+ text-align: center;
+}
+.center-img img {
+ max-width: 100%;
+}
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/docgen.min.css
----------------------------------------------------------------------
diff --git a/docgen-resources/docgen.min.css b/docgen-resources/docgen.min.css
new file mode 100644
index 0000000..0179fc0
--- /dev/null
+++ b/docgen-resources/docgen.min.css
@@ -0,0 +1 @@
+@font-face{font-family:icomoon;src:url(fonts/icomoon.eot?-fbty7i);src:url(fonts/icomoon.eot?#iefix-fbty7i) format('embedded-opentype'),url(fonts/icomoon.woff?-fbty7i) format('woff'),url(fonts/icomoon.ttf?-fbty7i) format('truetype'),url(fonts/icomoon.svg?-fbty7i#icomoon) format('svg');font-weight:400;font-style:normal}html{font-family:Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px;color:#333;line-height:1.5;font-weight:400;background-color:#fff;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;height:100%}body{min-height:100%;margin:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}a{color:#0050b2;text-decoration:none;-ms-touch-action:manipulation;touch-action:manipulation}a:hover{color:#0973f5}h1,h2,h3,h4,h5,h6{font-family:Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.5;font-weig
ht:500;color:#0050b2;word-break:break-word}h1{font-size:36px}h2{font-size:21px}code,pre{font-size:13px;font-family:"Droid Sans Mono","Courier New",Courier,Monaco,Consolas,monospace;-webkit-font-smoothing:antialiased}code{padding:0 2px;color:#C5351F;word-break:break-word}a>code{color:#0050b2}a:hover>code{color:#0973f5}pre{display:block;border:0;padding:6px 9pt;margin:0 0 9px;overflow-x:auto;word-break:normal;white-space:pre}@-moz-document url-prefix(){pre{white-space:pre-wrap;word-break:break-all}}img{border:0;vertical-align:middle}fieldset{margin:0;padding:0;border:0}input[type=search]::-webkit-search-cancel-button{display:none}table{border:0;border-collapse:collapse}td,th{padding:0}.header-top-bg{background-color:#0050b2;background-image:-webkit-radial-gradient(50% 15px,circle,rgba(0,0,0,0) 0,rgba(0,0,0,0) 50%,#00276c 100%),url(img/patterned-bg.png);background-image:radial-gradient(circle at 50% 15px,rgba(0,0,0,0) 0,rgba(0,0,0,0) 50%,#00276c 100%),url(img/patterned-bg.png);box-shad
ow:0 3px 9px #c1c1c1;border-bottom:3px solid #003270;position:relative;z-index:2}.header-top{text-align:center;padding:9pt 0}@media (min-width:568px){.header-top{padding-bottom:18px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}}.header-bottom-bg{background-color:#efefef;border-bottom:1px solid #dedede;box-shadow:0 0 7px #eee;position:relative;z-index:1}.search-row{padding-top:9pt}@media (min-width:568px){.search-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-webkit-align-items:flex-en
d;-ms-flex-align:end;align-items:flex-end}}.search-row .navigation-header,.search-row .search-form{padding-top:3px;padding-bottom:3px}.search-row .navigation-header{display:block;font-size:18px;line-height:1;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}@media (min-width:568px){.search-row .navigation-header{font-size:27px}}@media (min-width:768px){.search-row .navigation-header{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}}.breadcrumb-row{padding-top:9px;padding-bottom:9px}.search-row+.breadcrumb-row{padding-top:0}@media (min-width:568px){.breadcrumb-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}}.main-content{-webkit-box-flex:1;-webkit-fle
x:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.content-wrapper{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:18px;padding-bottom:18px}@media (min-width:768px){.content-wrapper{padding-top:30px;padding-bottom:3pc}}.content-wrapper.no-toc{display:block}.content-wrapper .col-left{-webkit-box-flex:0;-webkit-flex:0 0 10pc;-ms-flex:0 0 10pc;flex:0 0 10pc;max-width:10pc;margin-right:18px;display:none}@media (min-width:568px){.content-wrapper .col-left{display:block}}@media (min-width:768px){.content-wrapper .col-left{-webkit-flex-basis:210px;-ms-flex-preferred-size:210px;flex-basis:210px;max-width:210px;margin-right:3pc}.content-wrapper .col-left.expanded{max-width:100%}}.cont
ent-wrapper .col-right{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}@media (min-width:768px){.page-content{padding-bottom:42px}}.page-content a{word-break:break-word}.page-content .page-title{border-bottom:1px solid #eee;padding-bottom:9pt;margin-bottom:9pt}.page-type-docgen-search-results .page-content .page-title{border:none;padding-bottom:0;margin-bottom:0}@media (min-width:768px){.page-content .page-title{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}}@media (min-width:768px){.page-content .page-title{padding-bottom:24px;margin-bottom:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:baseline;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.page-content .page-title .title-wrapper{-webk
it-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.page-content .page-title h1{margin:0;font-size:24px}@media (min-width:768px){.page-content .page-title h1{font-size:30px}}.page-content .page-title .subtitle{display:block;font-size:14px}@media (min-width:768px){.page-content .page-title .subtitle{font-size:18px}}@media (min-width:992px){.page-content .page-title .subtitle{font-size:24px}}.page-content .content-header::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f1dd";margin-left:-18px;margin-top:2px;width:18px;font-weight:400;font-size:18px;color:#C82222;float:left;visibility:hidden}@media (min-width:768px){.page-content .content-header::before{margin-left:-24px}}.page-content .active::before{-webkit-animation:header-pulse .3s 3 steps(2,end);animation:header-pulse .3s 3 steps(2,end)}@-webkit-keyframes header-pulse{0%{visibility:hidden}100%{visibility:visible}}@keyframes header-pulse{0%{visibility:hidden}100%{visibility:visi
ble}}.site-footer{border-top:3px solid #003270;background-color:#0050b2;background-image:-webkit-radial-gradient(50% -50px,ellipse,rgba(0,0,0,0) 0,rgba(0,0,0,0) 24%,#000c3b 86%,#000c3b 100%),url(img/patterned-bg.png);background-image:radial-gradient(ellipse at 50% -50px,rgba(0,0,0,0) 0,rgba(0,0,0,0) 24%,#000c3b 86%,#000c3b 100%),url(img/patterned-bg.png);font-weight:300;color:#fff}.site-footer a{color:#fff}.site-footer a:hover{color:rgba(255,255,255,.8)}@media (min-width:568px){.footer-top{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}}@media (min-width:992px){.footer-top{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}}.footer-top .col-left{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.footer-top .col-
right{padding-top:9pt;padding-bottom:9pt;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}@media (min-width:992px){.footer-top .col-right{padding-top:24px}}@media (min-width:768px){.footer-top .col-right{text-align:right}}@media (min-width:568px){.sitemap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.sitemap .column{padding-top:9pt;padding-bottom:9pt;margin-right:9pt;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}@media (min-width:992px){.sitemap .column{padding-top:24px}}.sitemap .column:last-child{margin-right:0}@media (min-width:768px){.sitemap .column{margin-right:54px}}.sitemap .column .column-header{color:#fff;border-bottom:2px solid #4c76ab;margin:0 0 6px;padding-bottom:6px;font-weight:400}.sitemap .column ul{padding:0;margin:0;list-style-type:none}.sitemap .column a{padding-right:9px;display:block}.xxe{display:inline-block;width:110px;heigh
t:34px;margin-top:15px;background:#fff url(img/xxe.png) 50% no-repeat;border:1px solid #002254}.xxe span{display:none}.footer-bottom{padding:45px 0 30px}@media (min-width:768px){.footer-bottom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.footer-bottom p{margin:0 0 6px;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-flex:1}.footer-bottom .generated-for-product{font-size:9pt;display:block}.footer-bottom .last-updated{font-size:9pt;display:block}.logo{padding:6px 0 0;display:block}.logo img{display:block;margin:0 auto;width:204px;height:19px}.tabs{list-style-type:none;margin:0;padding:6px 0 0;text-align:center;font-weight:300}@media (min-width:568px){.tabs{margin-left:24px;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding-top:0}}.tabs li{
display:inline-block}.tabs li.current a{color:#fff;font-weight:400}.secondary-tabs li::after,.tabs li::after{width:1px;background-color:#96a5b8;height:9px;display:inline-block;content:'';margin:0 15px}.secondary-tabs li:last-child::after,.tabs li:last-child::after{display:none}.secondary-tabs .tab,.tabs li a{color:#c9dbf1}.secondary-tabs li a:hover,.tabs li a:hover{color:#fff}.secondary-tabs{margin:0;list-style-type:none;padding:6px 0 0;display:none;text-align:center}@media (min-width:768px){.secondary-tabs{display:block;text-align:right;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}}.secondary-tabs li{display:inline-block}.secondary-tabs li:last-child{margin-right:0}.secondary-tabs li a:hover strong{border-bottom-color:transparent}.secondary-tabs .tab::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:18px;height:18px;display:inline-block;font-size:9pt;text-align:center}@media (min-width:992px){.secondar
y-tabs .tab::before{padding-right:6px}}.secondary-tabs .tab.icon-heart::before{content:"\e609"}.secondary-tabs .tab.icon-star::before{content:"\e608"}.secondary-tabs .tab.icon-bug::before{content:"\f188"}.secondary-tabs .tab.icon-download::before{content:"\e606"}.secondary-tabs .tab strong{font-weight:400;border-bottom:1px solid #8fafd7}.secondary-tabs .tab span{display:none}@media (min-width:992px){.secondary-tabs .tab span{display:inline}}.breadcrumb{list-style-type:none;margin:0;padding:6px 0 0 0;font-size:9pt;display:block;white-space:nowrap;overflow:hidden}@media (min-width:768px){.breadcrumb{font-size:13px}}.breadcrumb li{display:inline-block}.breadcrumb li::after{content:'/';color:#979797;margin:0 3px}@media (min-width:768px){.breadcrumb li::after{margin:0 6px}}.breadcrumb li:last-child a{color:#333}.breadcrumb li:last-child::after{display:none}.breadcrumb li.step-0 a::after{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e60
a";display:inline-block;width:14px;height:14px;font-size:9pt;position:relative;top:1px}.breadcrumb li.step-0 a span{display:none}.table-of-contents{list-style-type:none;padding:0;margin:6px 0 0;font-size:9pt}@media (min-width:768px){.table-of-contents{margin-top:9pt;font-size:13px}}.table-of-contents .current::before{color:#0973f5}.table-of-contents .current>a:first-child{color:#0973f5}.table-of-contents ul{list-style-type:none}.section{border-bottom:1px solid #eee;margin-bottom:9pt;padding-bottom:9pt}@media (min-width:768px){.section{margin-bottom:24px;padding-bottom:24px}}.section.last{border-bottom:0;margin-bottom:0}.section.last .depth-0-link{margin-bottom:0}.depth-0-link{color:#0050b2;text-transform:uppercase;font-weight:400;display:block;line-height:1;margin-bottom:9pt}@media (min-width:768px){.depth-0-link{margin-bottom:24px}}a.depth-0-link:hover{color:#0973f5}.depth-1{margin:0;padding:0}.depth-1 li{padding-left:14px;position:relative}.depth-1 li::before{font-family:icomoon;-
webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e602";width:14px;height:14px;display:block;position:absolute;left:-3px;top:2px;font-size:14px;line-height:1}.depth-1 li.has-children::before{content:"\e600";font-size:13px;cursor:pointer}.depth-1 li.has-children.open::before{content:"\e601";font-size:13px}.depth-1 li.has-children .last::before{content:"\e602";top:3px}.depth-1 a{display:block;color:#444}.depth-1 a:hover{color:#888}.depth-2{margin:0;padding:0}.closed ul{display:none}.open ul{display:block}.page-menu{margin:0 0 9pt;padding:0 0 9pt 18px;border-bottom:1px solid #eee}.page-menu .page-menu-title{margin-top:0;margin-bottom:1em;color:#0050b2;font-weight:700}@media (min-width:768px){.page-menu{margin-bottom:24px;margin-top:-9pt}}.page-menu ul{margin:0 0 0 18px;padding:0}.page-menu a:visited{color:purple}.search-form{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;height:26px;width:100%;display:inline-block}.search-form.offli
ne{display:none}@media (min-width:768px){.search-form{max-width:300px}}.search-form fieldset{height:26px}.search-form .search-btn{color:#0050b2;line-height:1;background-color:#fff;background-image:none;border:0;border-radius:0;padding:0 3px;width:26px;height:24px;position:relative;top:-25px;float:right;right:1px}.search-form .search-btn:focus,.search-form .search-btn:hover{color:#4c9cff;cursor:pointer;outline:0}.search-form .search-btn::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\f002";box-sizing:border-box;font-size:1pc;width:18px;height:18px;display:block}.search-form .search-input{-webkit-appearance:none;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;background-image:none;background:#fff;font-size:1pc;line-height:21px;border:1px solid #aec0d6;border-radius:0;box-sizing:border-box;padding:3px 24px 3px 9px;height:26px;width:100%;-webkit-transition:border-color .2s ease-in;transition:border-color .2s ease-in}.search
-form .search-input::-moz-placeholder{color:#0050b2;opacity:.6;font-size:14px}.search-form .search-input:-ms-input-placeholder{color:#0050b2;font-size:14px;line-height:21px}.search-form .search-input::-webkit-input-placeholder{color:#0050b2;opacity:.6;font-size:14px}.search-form .search-input:focus{outline:0;border-color:#0050b2}.search-results .gsc-control-cse{padding:0}.search-results .gs-title,.search-results .gs-title *{color:#0050b2!important;text-decoration:none!important}.search-results .gs-title :hover,.search-results .gs-title:hover{color:#0973f5!important}.bottom-pagers-wrapper::after,.bottom-pagers-wrapper::before{content:" ";display:table}.bottom-pagers-wrapper::after{clear:both}@media (min-width:768px){.bottom-pagers-wrapper{position:absolute;bottom:0;right:0}}.pagers{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap}@media (min-width:768px){.pagers{float:right;font-size:14px}}.pagers.top{-webkit-box-ordinal-group:2;-webkit-ord
er:1;-ms-flex-order:1;order:1;margin-bottom:6px}@media (min-width:768px){.pagers.top{margin-left:9pt;margin-bottom:0}}.paging-arrow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;word-break:normal}.paging-arrow::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;line-height:21px;vertical-align:middle;width:17px}@media (min-width:568px){.paging-arrow.previous{margin-right:9pt}}.paging-arrow.previous::before{content:"\f190";padding-right:3px;float:left}.paging-arrow.next{text-align:right}.paging-arrow.next::before{content:"\f18e";padding-left:3px;float:right}.bookmarks{text-align:right;display:none}@media (min-width:992px){.bookmarks{display:block}}.bookmarks::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"\e607";width:14px;height:14px;display:inline-block;position:relative;top:2px;margin-right:1px;color:#0050b2}.bookmarks ul{list-style-type:no
ne;margin:0;padding:0;display:inline-block;font-size:13px}.bookmarks ul li{display:inline-block}.bookmarks ul li::after{content:",";display:inline-block;margin:0 3px 0 0}.bookmarks ul li:last-child::after{display:none}.callout{padding:15px 18px;margin:9pt 0;border-left:4px solid #eee;background-color:#f9f9f9;max-width:600px}.callout.note{border-left-color:#A181AE;background-color:#F9F2FA}.callout.note .callout-label{color:#7D578C}.callout.warning{border-left-color:#EDBABA;background-color:#FCEAEA}.callout.warning .callout-label{color:#900}.callout p:first-of-type{margin-top:3px}.callout p:last-child{margin-bottom:0}.callout-label{display:block;padding-bottom:3px}.callout-label::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:9pt}.note .callout-label::before{content:"\e605";margin-right:3px}.warning .callout-label::before{content:"\e604";font-size:14px;margin-right:6px}.marked-text{background-color:#AEDDFF}.marked-interpolatio
n{background-color:#FFC070}.marked-ftl-tag{background-color:#FFEE6B}.marked-comment{background-color:#5CFF6A}.marked-template{background-color:#e4e4e4}.marked-data-model{background-color:#D2E2EF}.marked-output{background-color:#D5EAD7}.marked-invisible-text{opacity:.33}.marked-for-programmers{color:#339;font-style:italic}.code-color{color:red}.code-block{border:0;position:relative;padding:3px 6px 4px;margin:9pt 0;background-color:#f4f4f4}@media (min-width:992px){.code-block{display:inline-block;min-width:600px;margin:0}ul .code-block{min-width:300px;display:block}}.callout .code-block{background-color:transparent!important;padding:0!important;margin:0!important}.callout .code-block::after{display:none!important}.code-block.code-template{background-color:#f4f4f4;padding-top:23px}.code-block.code-template::after{position:absolute;top:0;right:0;left:0;padding:3px 9px;font-size:10px;font-weight:700;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;text-transform:uppercase;color:rgba(
94,94,94,.8);background-color:#e4e4e4;content:"Template"}.code-block.code-data-model{background-color:#ecf3f8;padding-top:23px}.code-block.code-data-model::after{position:absolute;top:0;right:0;left:0;padding:3px 9px;font-size:10px;font-weight:700;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;text-transform:uppercase;color:rgba(94,94,94,.8);background-color:#D2E2EF;content:"Data Model"}.code-block.code-output{background-color:#ECF8EE;padding-top:23px}.code-block.code-output::after{position:absolute;top:0;right:0;left:0;padding:3px 9px;font-size:10px;font-weight:700;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;text-transform:uppercase;color:rgba(94,94,94,.8);background-color:#D5EAD7;content:"Output"}.table-responsive{min-height:.01%;overflow-x:auto}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar}}.table{background-color:transparent;border-spacing:0;border-collapse:collapse;border:1px
solid #ddd;width:100%;max-width:100%}.table th{font-weight:500;text-align:left;background-color:#f9f9f9;border-bottom:1px solid #ddd;white-space:nowrap}.table td,.table th{padding:3px 6px;border:1px solid #ddd;vertical-align:top}.table td{white-space:nowrap}@media (min-width:992px){.table td{white-space:normal}}.table a{word-break:normal}.social-icons{margin:0;padding:0;list-style-type:none}.social-icons li{display:inline-block;margin-right:18px}.social-icons li:last-child{margin-right:0}.social-icons li a::before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:14px;height:22px;display:inline-block;padding-right:3px}.social-icons li .github::before{content:"\f09b"}.social-icons li .twitter::before{content:"\f099"}.social-icons li .stack-overflow::before{content:"\f16c"}.site-width{margin-left:auto;margin-right:auto;padding-left:18px;padding-right:18px}@media (min-width:768px){.site-width{padding-left:24px;padding-right:24px;width:700px
}}@media (min-width:992px){.site-width{width:924px}}@media (min-width:1200px){.site-width{width:849pt}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.center-img{text-align:center}.center-img img{max-width:100%}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/fonts/icomoon.eot
----------------------------------------------------------------------
diff --git a/docgen-resources/fonts/icomoon.eot b/docgen-resources/fonts/icomoon.eot
new file mode 100644
index 0000000..6d5cc05
Binary files /dev/null and b/docgen-resources/fonts/icomoon.eot differ
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/fonts/icomoon.svg
----------------------------------------------------------------------
diff --git a/docgen-resources/fonts/icomoon.svg b/docgen-resources/fonts/icomoon.svg
new file mode 100644
index 0000000..0539897
--- /dev/null
+++ b/docgen-resources/fonts/icomoon.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="icomoon" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode=" " d="" horiz-adv-x="512" />
+<glyph unicode="" d="M810.667 384h-256v-256h-85.333v256h-256v85.333h256v256h85.333v-256h256v-85.333z" />
+<glyph unicode="" d="M810.667 384h-597.333v85.333h597.333v-85.333z" />
+<glyph unicode="" d="M399.36 460.8c0-62.208 50.483-112.64 112.691-112.64s112.589 50.483 112.589 112.64c0 62.208-50.381 112.589-112.589 112.589s-112.691-50.381-112.691-112.589z" />
+<glyph unicode="" d="M998.963 52.224l-456.038 851.558c-6.349 11.008-18.125 17.818-30.925 17.818-12.851 0-24.627-6.81-30.925-17.818l-455.987-851.558c-6.195-10.803-6.093-24.115 0.256-34.816 6.4-10.803 18.022-17.408 30.618-17.408h912.077c12.544 0 24.269 6.605 30.618 17.408 6.349 10.701 6.451 24.013 0.307 34.816zM563.2 102.4h-102.4v102.4h102.4v-102.4zM563.2 281.6h-102.4v332.8h102.4v-332.8z" />
+<glyph unicode="" d="M636.518 972.8c68.608 0 102.912-46.694 102.912-100.198 0-66.816-59.597-128.614-137.165-128.614-64.973 0-102.861 38.4-101.069 101.888 0 53.402 45.107 126.925 135.322 126.925zM425.421-51.2c-54.17 0-93.85 33.382-55.962 180.429l62.157 260.71c10.803 41.677 12.595 58.419 0 58.419-16.23 0-86.477-28.774-128.102-57.19l-27.034 45.056c131.686 111.923 283.187 177.51 348.211 177.51 54.118 0 63.13-65.178 36.096-165.376l-71.219-274.022c-12.595-48.384-7.219-65.075 5.427-65.075 16.23 0 69.478 20.070 121.805 61.798l30.72-41.677c-128.102-130.406-268.032-180.582-322.099-180.582z" />
+<glyph unicode="" d="M768 614.4h-153.6v307.2h-204.8v-307.2h-153.6l256-256 256 256zM990.106 279.962c-10.752 11.469-82.483 88.218-102.963 108.237-13.568 13.261-32.973 21.402-53.35 21.402h-89.958l156.877-153.293h-181.453c-5.222 0-9.933-2.662-12.288-6.81l-41.779-95.898h-306.381l-41.779 95.898c-2.355 4.147-7.117 6.81-12.288 6.81h-181.453l156.826 153.293h-89.907c-20.326 0-39.731-8.141-53.35-21.402-20.48-20.070-92.211-96.819-102.963-108.237-25.037-26.675-38.81-47.923-32.256-74.189l28.723-157.389c6.554-26.317 35.379-47.923 64.102-47.923h835.174c28.723 0 57.549 21.606 64.102 47.923l28.723 157.389c6.451 26.266-7.27 47.514-32.358 74.189z" />
+<glyph unicode="" d="M768 972.8h-204.8c-28.314 0-51.2-22.886-51.2-51.2l1.178-11.366c56.422 0 102.4-45.926 102.4-102.4v-581.581l50.022 60.467 153.6-184.32v819.2c0 28.314-22.886 51.2-51.2 51.2zM461.978 819.2h-205.978c-28.314 0-51.2-22.886-51.2-51.2v-819.2l153.6 184.32 153.6-184.32v819.2c0 28.314-21.709 51.2-50.022 51.2z" />
+<glyph unicode="" d="M512 906.24l122.266-344.166h328.294l-267.878-202.138 95.795-354.714-278.477 212.685-278.426-212.685 95.744 354.714-267.93 202.138h328.294l122.317 344.166z" />
+<glyph unicode="" d="M880.128 760.013c-85.606 78.592-224.41 78.592-310.016 0l-58.112-53.299-58.163 53.299c-85.606 78.592-224.358 78.592-309.965 0-96.307-88.371-96.307-231.373 0-319.744l368.128-337.869 368.128 337.869c96.256 88.371 96.256 231.424 0 319.744zM825.549 492.8l-313.549-292.608-313.6 292.608c-31.59 29.030-43.827 66.918-43.827 107.213s7.066 73.37 38.707 102.349c27.904 25.651 65.434 39.782 105.626 39.782 40.141 0 77.67-24.371 105.574-50.074l107.52-93.44 107.469 93.491c27.955 25.702 65.434 50.074 105.626 50.074s77.722-14.131 105.626-39.782c31.642-28.979 38.656-62.054 38.656-102.349s-12.186-78.234-43.827-107.264z" />
+<glyph unicode="" d="M737.28 512h-296.96c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h296.96c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM839.68 256h-399.36c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h399.36c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM440.32 665.6h399.36c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2h-399.36c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2zM276.48 512h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM276.48 256h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM276.48 768h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2z" />
+<glyph unicode="" d="M658.286 475.428q0 105.714-75.143 180.857t-180.857 75.143-180.857-75.143-75.143-180.857 75.143-180.857 180.857-75.143 180.857 75.143 75.143 180.857zM950.857 0q0-29.714-21.714-51.429t-51.429-21.714q-30.857 0-51.429 21.714l-196 195.429q-102.286-70.857-228-70.857-81.714 0-156.286 31.714t-128.571 85.714-85.714 128.571-31.714 156.286 31.714 156.286 85.714 128.571 128.571 85.714 156.286 31.714 156.286-31.714 128.571-85.714 85.714-128.571 31.714-156.286q0-125.714-70.857-228l196-196q21.143-21.143 21.143-51.429z" horiz-adv-x="951" />
+<glyph unicode="" d="M925.714 717.714q-38.286-56-92.571-95.429 0.571-8 0.571-24 0-74.286-21.714-148.286t-66-142-105.429-120.286-147.429-83.429-184.571-31.143q-154.857 0-283.429 82.857 20-2.286 44.571-2.286 128.571 0 229.143 78.857-60 1.143-107.429 36.857t-65.143 91.143q18.857-2.857 34.857-2.857 24.571 0 48.571 6.286-64 13.143-106 63.714t-42 117.429v2.286q38.857-21.714 83.429-23.429-37.714 25.143-60 65.714t-22.286 88q0 50.286 25.143 93.143 69.143-85.143 168.286-136.286t212.286-56.857q-4.571 21.714-4.571 42.286 0 76.571 54 130.571t130.571 54q80 0 134.857-58.286 62.286 12 117.143 44.571-21.143-65.714-81.143-101.714 53.143 5.714 106.286 28.571z" horiz-adv-x="951" />
+<glyph unicode="" d="M877.714 438.857q0-143.429-83.714-258t-216.286-158.571q-15.429-2.857-22.571 4t-7.143 17.143v120.571q0 55.429-29.714 81.143 32.571 3.429 58.571 10.286t53.714 22.286 46.286 38 30.286 60 11.714 86q0 69.143-45.143 117.714 21.143 52-4.571 116.571-16 5.143-46.286-6.286t-52.571-25.143l-21.714-13.714q-53.143 14.857-109.714 14.857t-109.714-14.857q-9.143 6.286-24.286 15.429t-47.714 22-49.143 7.714q-25.143-64.571-4-116.571-45.143-48.571-45.143-117.714 0-48.571 11.714-85.714t30-60 46-38.286 53.714-22.286 58.571-10.286q-22.857-20.571-28-58.857-12-5.714-25.714-8.571t-32.571-2.857-37.429 12.286-31.714 35.714q-10.857 18.286-27.714 29.714t-28.286 13.714l-11.429 1.714q-12 0-16.571-2.571t-2.857-6.571 5.143-8 7.429-6.857l4-2.857q12.571-5.714 24.857-21.714t18-29.143l5.714-13.143q7.429-21.714 25.143-35.143t38.286-17.143 39.714-4 31.714 2l13.143 2.286q0-21.714 0.286-50.857t0.286-30.857q0-10.286-7.429-17.143t-22.857-4q-132.571 44-216.286 158.571t-83.714 258q0 119.429 58.857 220
.286t159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
+<glyph unicode="" d="M530.286 150.286v-86.286l-404-0.571v86.286zM668 348v-400.571l-0.571-20v-0.571l-667.429 0.571v420.571h69.143v-353.143h530.286v353.143h68.571zM137.714 297.714l402.286-37.143-7.429-85.714-402.857 37.143zM176.571 478.286l390.286-104.571-22.286-83.429-390.286 104.571zM269.714 677.714l348-205.714-44-74.286-348 205.714zM475.429 866.857l227.429-334.286-70.857-48.571-228 333.714zM734.286 950.857l69.143-398.286-85.143-14.857-69.143 398.286z" horiz-adv-x="805" />
+<glyph unicode="" d="M932.571 402.286q0-14.857-10.857-25.714t-25.714-10.857h-128q0-97.714-38.286-165.714l118.857-119.429q10.857-10.857 10.857-25.714t-10.857-25.714q-10.286-10.857-25.714-10.857t-25.714 10.857l-113.143 112.571q-2.857-2.857-8.571-7.429t-24-16.286-37.143-20.857-46.857-16.571-55.429-7.429v512h-73.143v-512q-29.143 0-58 7.714t-49.714 18.857-37.714 22.286-24.857 18.571l-8.571 8-104.571-118.286q-11.429-12-27.429-12-13.714 0-24.571 9.143-10.857 10.286-11.714 25.429t8.857 26.571l115.429 129.714q-33.143 65.143-33.143 156.571h-128q-14.857 0-25.714 10.857t-10.857 25.714 10.857 25.714 25.714 10.857h128v168l-98.857 98.857q-10.857 10.857-10.857 25.714t10.857 25.714 25.714 10.857 25.714-10.857l98.857-98.857h482.286l98.857 98.857q10.857 10.857 25.714 10.857t25.714-10.857 10.857-25.714-10.857-25.714l-98.857-98.857v-168h128q14.857 0 25.714-10.857t10.857-25.714zM658.286 731.428h-365.714q0 76 53.429 129.429t129.429 53.429 129.429-53.429 53.429-129.429z" horiz-adv-x="951" />
+<glyph unicode="" d="M658.286 438.857q0-8-5.143-13.143l-182.857-182.857q-5.143-5.143-13.143-5.143-7.429 0-12.857 5.429t-5.429 12.857v109.714h-201.143q-7.429 0-12.857 5.429t-5.429 12.857v109.714q0 7.429 5.429 12.857t12.857 5.429h201.143v109.714q0 8 5.143 13.143t13.143 5.143q6.857 0 13.714-5.714l182.286-182.286q5.143-5.143 5.143-13.143zM749.714 438.857q0 84.571-41.714 156t-113.143 113.143-156 41.714-156-41.714-113.143-113.143-41.714-156 41.714-156 113.143-113.143 156-41.714 156 41.714 113.143 113.143 41.714 156zM877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857-220.286 58.857-159.714 159.714-58.857 220.286 58.857 220.286 159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
+<glyph unicode="" d="M658.286 493.714v-109.714q0-7.429-5.429-12.857t-12.857-5.429h-201.143v-109.714q0-8-5.143-13.143t-13.143-5.143q-6.857 0-13.714 5.714l-182.286 182.286q-5.143 5.143-5.143 13.143t5.143 13.143l182.857 182.857q5.143 5.143 13.143 5.143 7.429 0 12.857-5.429t5.429-12.857v-109.714h201.143q7.429 0 12.857-5.429t5.429-12.857zM749.714 438.857q0 84.571-41.714 156t-113.143 113.143-156 41.714-156-41.714-113.143-113.143-41.714-156 41.714-156 113.143-113.143 156-41.714 156 41.714 113.143 113.143 41.714 156zM877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857-220.286 58.857-159.714 159.714-58.857 220.286 58.857 220.286 159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
+<glyph unicode="" d="M730.286 842.857v-41.714q0-16.571-10.571-34.857t-24.286-18.286q-28.571 0-30.857-0.571-14.857-3.429-18.286-17.714-1.714-6.286-1.714-36.571v-658.286q0-14.286-10.286-24.571t-24.571-10.286h-61.714q-14.286 0-24.571 10.286t-10.286 24.571v696h-81.714v-696q0-14.286-10-24.571t-24.857-10.286h-61.714q-14.857 0-24.857 10.286t-10 24.571v283.429q-84 6.857-140 33.714-72 33.143-109.714 102.286-36.571 66.857-36.571 148 0 94.857 50.286 163.429 50.286 67.429 119.429 90.857 63.429 21.143 238.286 21.143h273.714q14.286 0 24.571-10.286t10.286-24.571z" horiz-adv-x="731" />
+</font></defs></svg>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/fonts/icomoon.ttf
----------------------------------------------------------------------
diff --git a/docgen-resources/fonts/icomoon.ttf b/docgen-resources/fonts/icomoon.ttf
new file mode 100644
index 0000000..f643244
Binary files /dev/null and b/docgen-resources/fonts/icomoon.ttf differ
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/fd1caa91/docgen-resources/fonts/icomoon.woff
----------------------------------------------------------------------
diff --git a/docgen-resources/fonts/icomoon.woff b/docgen-resources/fonts/icomoon.woff
new file mode 100644
index 0000000..7f40846
Binary files /dev/null and b/docgen-resources/fonts/icomoon.woff differ