Author: cbrisson Date: Tue Jun 26 16:14:10 2018 New Revision: 1834443 URL: http://svn.apache.org/viewvc?rev=1834443&view=rev Log: [site/tools] Add a contributions section ; add FeedTool as a contribution => prod
Added: velocity/site/production/tools/devel/contributions/ velocity/site/production/tools/devel/contributions.html velocity/site/production/tools/devel/contributions/FeedTool.html Modified: velocity/site/production/css/site.css velocity/site/production/tools/devel/changes.html velocity/site/production/tools/devel/config-java.html velocity/site/production/tools/devel/config-properties.html velocity/site/production/tools/devel/config-xml.html velocity/site/production/tools/devel/configuration.html velocity/site/production/tools/devel/creating-tools.html velocity/site/production/tools/devel/dependencies.html velocity/site/production/tools/devel/frameworks.html velocity/site/production/tools/devel/generic.html velocity/site/production/tools/devel/index.html velocity/site/production/tools/devel/left.nav velocity/site/production/tools/devel/standalone.html velocity/site/production/tools/devel/tools-summary.html velocity/site/production/tools/devel/upgrading.html velocity/site/production/tools/devel/view-layoutservlet.html velocity/site/production/tools/devel/view-servlet.html velocity/site/production/tools/devel/view-tag.html velocity/site/production/tools/devel/view.html Modified: velocity/site/production/css/site.css URL: http://svn.apache.org/viewvc/velocity/site/production/css/site.css?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/css/site.css (original) +++ velocity/site/production/css/site.css Tue Jun 26 16:14:10 2018 @@ -269,6 +269,7 @@ a[href]:visited pre, code { font-size: 0.8em; + line-height: 1.2em; } .note @@ -282,7 +283,6 @@ pre, code { color: darkgray; font-style: italic; - text-decoration: strike-though; } /* tables */ Modified: velocity/site/production/tools/devel/changes.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/changes.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/changes.html (original) +++ velocity/site/production/tools/devel/changes.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> Modified: velocity/site/production/tools/devel/config-java.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/config-java.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/config-java.html (original) +++ velocity/site/production/tools/devel/config-java.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> Modified: velocity/site/production/tools/devel/config-properties.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/config-properties.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/config-properties.html (original) +++ velocity/site/production/tools/devel/config-properties.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> Modified: velocity/site/production/tools/devel/config-xml.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/config-xml.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/config-xml.html (original) +++ velocity/site/production/tools/devel/config-xml.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> Modified: velocity/site/production/tools/devel/configuration.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/configuration.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/configuration.html (original) +++ velocity/site/production/tools/devel/configuration.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> Added: velocity/site/production/tools/devel/contributions.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/contributions.html?rev=1834443&view=auto ============================================================================== --- velocity/site/production/tools/devel/contributions.html (added) +++ velocity/site/production/tools/devel/contributions.html Tue Jun 26 16:14:10 2018 @@ -0,0 +1,237 @@ +<!DOCTYPE html> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> +<html lang="en"> + <head> + <title>Apache Velocity Tools - Contributions</title> + + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> + + <link rel="stylesheet" type="text/css" href="/css/site.css"> + + + + + + </head> + + <body> + <div id="page"> + <div id="header"> + + <div id="logo2"><img src="/tools/devel/images/velocitytools.png"/></div> + + <a href="/"> +<svg height="60" width="50%" viewBox="20 20 800 110" preserveAspectRatio="xMinYMin"> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1395.619" x2="-4570.1162" y1="697.55487" x1="-5167.0962" gradientUnits="userSpaceOnUse" id="SVGID_1_"> + <stop id="stop3521" style="stop-color:#F69923" offset="0" /> + <stop id="stop3523" style="stop-color:#F79A23" offset="0.3123" /> + <stop id="stop3525" style="stop-color:#E97826" offset="0.8383" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="620.50482" x2="-5326.209" y1="620.50482" x1="-9585.3418" gradientUnits="userSpaceOnUse" id="SVGID_2_"> + <stop id="stop3546" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3548" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3550" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3552" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1047.6898" x2="-6533.1782" y1="1047.6898" x1="-9071.207" gradientUnits="userSpaceOnUse" id="SVGID_3_"> + <stop id="stop3557" style="stop-color:#282662" offset="0" /> + <stop id="stop3559" style="stop-color:#662E8D" offset="9.548390e-02" /> + <stop id="stop3561" style="stop-color:#9F2064" 1 offset="0.7882" /> + <stop id="stop3563" style="stop-color:#CD2032" offset="0.9487" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="580.81702" x2="-5086.9941" y1="580.81702" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_4_"> + <stop id="stop3568" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3570" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3572" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3574" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="638.4408" x2="-6797.2012" y1="638.4408" x1="-9035.5029" gradientUnits="userSpaceOnUse" id="SVGID_5_"> + <stop id="stop3579" style="stop-color:#282662" offset="0" /> + <stop id="stop3581" style="stop-color:#662E8D" offset="9.548390e-02" /> + <stop id="stop3583" style="stop-color:#9F2064" offset="0.7882" /> + <stop id="stop3585" style="stop-color:#CD2032" offset="0.9487" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1021.6218" x2="-5086.9941" y1="1021.6218" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_6_"> + <stop id="stop3590" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3592" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3594" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3596" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="999.73297" x2="-5351.2017" y1="999.73297" x1="-9610.334" gradientUnits="userSpaceOnUse" id="SVGID_7_"> + <stop id="stop3601" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3603" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3605" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3607" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1152.7261" x2="-5086.9941" y1="1152.7261" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_8_"> + <stop id="stop3616" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3618" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3620" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3622" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1137.7247" x2="-5086.9941" y1="1137.7247" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_9_"> + <stop id="stop3631" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3633" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3635" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3637" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1134.7161" x2="-6011.9995" y1="1134.7161" x1="-6953.4072" gradientUnits="userSpaceOnUse" id="SVGID_10_"> + <stop id="stop3646" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3648" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3650" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3652" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <g transform="translate(275,-230)" id="g3735"> + <path d="m 95.030525,353.34688 c -5.868388,1.89866 -18.455097,2.86966 -35.232972,2.68962 l -7.844759,-17.69411 c 11.922072,0.96277 23.155947,1.27149 33.446456,0.7785 0.806681,-0.0278 1.205437,-0.0597 1.205437,-0.0597 -0.39975,0.0215 -0.805689,0.0382 -1.205437,0.0597 -3.380984,0.11837 -13.97859,0.22097 -32.909158,-1.88263 6.824373,-6.72909 18.288583,-16.31958 28.008861,-23.85834 18.433387,9.69185 21.017957,20.51606 21.017957,20.51606 0,0 5.61321,15.54576 -6.486385,19.4509 z" id="path3527" style="fill:url(#SVGID_1_)" /> + <path d="m 3.8322454,303.07135 c 0.059217,-0.0415 0.1120778,-0.0878 0.1712971,-0.12929 l -1.0221478,0.89604 c -0.088131,0.0386 -0.1658908,0.0658 -0.2478563,0.10915 0.3676459,-0.29732 0.7362578,-0.58424 1.098707,-0.8759 z" id="path3529" style="fill:none" /> + <path d="m -27.876072,290.63399 c -0.650899,0.45658 -1.281214,0.94828 -1.904317,1.45519 0.623103,-0.50691 1.259608,-0.99386 1.904317,-1.45519 z" id="path3531" style="fill:none" /> + <path d="m -128.18492,294.56272 c 0.27819,0.088 0.55639,0.17608 0.82938,0.26978 5.73136,1.8314 11.32321,3.58465 16.79937,5.26839 6.14427,1.88764 12.119072,3.68379 17.941982,5.39228 6.136306,1.80423 12.096924,3.5122 17.888098,5.1287 6.074555,1.69886 11.961044,3.29193 17.65531,4.79537 4.634037,1.22062 9.141965,2.38304 13.528979,3.48159 1.458542,0.36649 2.910894,0.72823 4.350865,1.08046 2.85092,0.70149 5.659501,1.38013 8.402938,2.03773 2.537553,0.60576 5.026574,1.18393 7.479394,1.74394 0.816212,0.19205 1.625242,0.36892 2.435266,0.55621 0.129295,0.0317 0.263817,0.0577 0.393113,0.0893 l -0.868431,0.76291 0.823816,1.77257 c -0.199639,-0.047 -0.398312,-0.0837 -0.603148,-0.12504 -3.709945,-0.80082 -7.434286,-1.63202 -11.17299,-2.49357 -2.160061,-0.49944 -4.326285,-1.00361 -6.493528,-1.51823 -6.008289,-1.42577 -12.02773,-2.90842 -18.046963,-4.44886 -6.083384,-1.55106 -12.155172,-3.16085 -18.201961,-4.8094 -5.94027,-1.61506 -11.850346,-3.27456 -17.722022,-4.95287 -5.860317,-1.67925 -11.67 1838,-3.38866 -17.421218,-5.10831 -6.00377,-1.79907 -11.9226,-3.61019 -17.74509,-5.43429 -1.31344,-0.40964 -2.62686,-0.81925 -3.9351,-1.23456 -4.69313,-1.47853 -9.30551,-2.95301 -13.84851,-4.42253 l -1.30665,-2.80027 0.97437,-0.85544 c 0.1365,0.0469 0.27298,0.0937 0.4033,0.1358 5.95137,1.97137 11.76945,3.86936 17.45943,5.68831 z" id="path3533" style="fill:none" /> + <path d="m -30.254972,292.46861 0,0 c 0.0052,-0.006 0.01127,-0.001 0.01647,-0.007 0,0 -0.0052,0.006 -0.01647,0.007 z" id="path3535" style="fill:none" /> + <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3537" style="fill:#be202e" /> + <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3539" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3541" style="fill:#be202e" /> + <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3543" style="opacity:0.35;fill:#be202e" /> + <path d="m -3.0502818,330.5069 c 6.1572269,1.1827 12.247534,2.26571 18.2471238,3.24041 6.227231,1.01426 12.356561,1.90504 18.357978,2.65895 0.348762,0.0456 0.708911,0.0903 1.063863,0.1407 5.913525,0.73472 11.699134,1.33257 17.339307,1.78976 l 7.844762,17.69411 c -1.160612,-0.0121 -2.333632,-0.0338 -3.529455,-0.0536 -4.497401,-0.0917 -9.271992,-0.26093 -14.266831,-0.51239 -5.629411,-0.28469 -11.556567,-0.6821 -17.699796,-1.1778 -5.67533,-0.46487 -11.549098,-1.02415 -17.5529729,-1.68334 -5.1106845,-0.5626 -10.3308648,-1.18997 -15.622198,-1.90096 -0.197654,-0.0262 -0.3953057,-0.0524 -0.5929873,-0.0786 L -20.52484,326.94198 c 5.866009,1.25856 11.69707,2.45163 17.4745582,3.56492 z" id="path3554" style="fill:url(#SVGID_2_)" /> + <path d="m -148.64432,287.87492 c -4.62455,-1.5418 -9.31626,-3.12551 -14.09367,-4.76537 -0.0714,-0.0258 -0.13651,-0.0469 -0.20787,-0.0727 -0.67629,-0.2295 -1.34737,-0.46467 -2.02369,-0.69419 -3.21697,-1.10818 -6.09263,-2.12815 -12.63913,-4.44059 1.0996,-3.6285 -0.41103,-8.38228 -2.49019,-13.37944 3.85283,3.31605 6.24773,7.77315 6.52364,12.94094 11.22895,-13.43253 25.02773,-21.83891 40.65304,-19.66506 1.39603,0.1929 2.79384,0.46445 4.21819,0.83367 -6.03156,-0.16844 -10.5525,1.89547 -15.78323,8.30262 -0.0165,0.007 -0.0384,0.0188 -0.0549,0.0255 0.0165,-0.007 0.0384,-0.0188 0.0549,-0.0255 12.65883,-5.62036 21.02643,-6.89439 31.69203,-5.50534 2.52825,0.32813 5.18536,0.80351 8.06151,1.40845 -16.05366,1.09099 -26.93227,8.28126 -33.83488,19.35554 l -7.46769,6.54422 c -0.87076,-0.28223 -1.73631,-0.57012 -2.60806,-0.86277 z" id="path3565" style="fill:url(#SVGID_3_)" /> + <path d="m -127.92557,298.05617 c 5.82769,1.81842 11.74652,3.62955 17.74512,5.43431 5.74415,1.7253 11.554681,3.42428 17.421188,5.10828 5.866507,1.68401 11.775562,3.33306 17.722022,4.95287 6.046789,1.64856 12.123776,3.25267 18.201961,4.8094 6.013043,1.53569 12.038702,3.02311 18.046963,4.44886 2.167243,0.51462 4.333467,1.0188 6.493528,1.51824 3.738705,0.86155 7.463045,1.69274 11.172991,2.49357 0.199636,0.047 0.398312,0.0837 0.603147,0.12503 l 11.0633797,23.68219 c -0.3953333,-0.0524 -0.7854697,-0.11047 -1.1807777,-0.16285 -5.606921,-0.76978 -11.295338,-1.6118 -17.027898,-2.55534 -5.790549,-0.94943 -11.619023,-1.99561 -17.461681,-3.12996 -4.930086,-0.95526 -9.854792,-1.97402 -14.768868,-3.06189 -0.99728,-0.22482 -1.97698,-0.44581 -2.962873,-0.67154 -6.150175,-1.40914 -11.974938,-2.89686 -17.487932,-4.42532 -6.244233,-1.73255 -12.086525,-3.52355 -17.517683,-5.33696 -3.574927,-1.18983 -6.978977,-2.39336 -10.215327,-3.58405 -2.73994,-1.04133 -5.46008,-2.11577 -8.13662,-3.21469 -6.3197 7,-2.58273 -12.45563,-5.34303 -18.38577,-8.29314 l -11.10848,-23.79411 c 4.54303,1.46954 9.15538,2.94401 13.84853,4.42255 1.30203,0.41054 2.62167,0.82493 3.93508,1.23455 z" id="path3576" style="fill:url(#SVGID_4_)" /> + <path d="m -135.39748,315.78421 c -7.2115,-3.62494 -14.10198,-7.55402 -20.5914,-11.85137 -0.2272,-0.15514 -0.45863,-0.29422 -0.68582,-0.44936 2.3312,6.55285 0.24599,17.70369 0.21823,17.65338 -3.57467,-11.87432 -8.27251,-22.40852 -15.98628,-29.36565 -3.27442,2.37386 -5.94744,7.01608 -8.28358,12.96033 -0.41103,-8.38228 1.53485,-12.94527 2.45003,-14.5997 -4.28418,4.11989 -11.70198,6.14259 -19.64656,7.81875 9.09151,-4.3892 15.21177,-8.8767 17.7976,-13.46995 -24.55723,-8.42409 -51.09999,-18.3439 -78.93127,-29.25317 2.33282,-1.41596 4.74343,-1.47765 7.19121,-0.67033 5.0236,1.99314 38.05928,14.98608 83.16344,30.23283 1.28124,0.43321 2.57389,0.86552 3.8727,1.30257 0.36193,0.12335 0.72908,0.24106 1.08481,0.35966 4.73826,1.59047 9.59244,3.19267 14.55737,4.81229 1.13136,0.36642 2.26272,0.73284 3.40026,1.10401 0.0237,0.009 0.0476,0.0172 0.0652,0.021 l 11.11272,23.77804 c -0.25321,-0.12682 -0.52301,-0.24705 -0.7886,-0.38338 z" id="path3587" style="fill:url(#SVGID_5_)" /> + <path d="m -20.879529,324.31241 c -0.803833,-0.18253 -1.613855,-0.36983 -2.435266,-0.5562 -2.447621,-0.56569 -4.936644,-1.14385 -7.479421,-1.74397 -2.748608,-0.6519 -5.5458,-1.33146 -8.402911,-2.03771 -1.439971,-0.35222 -2.880933,-0.71488 -4.350864,-1.08045 -4.387015,-1.09855 -8.894942,-2.26097 -13.528979,-3.48159 -5.694267,-1.50344 -11.580756,-3.09652 -17.65531,-4.79538 -5.791175,-1.61649 -11.75182,-3.32448 -17.888098,-5.1287 -5.82291,-1.70849 -11.803902,-3.50939 -17.941982,-5.39227 -5.47616,-1.68374 -11.06801,-3.43699 -16.79937,-5.26839 -0.27821,-0.088 -0.55639,-0.17608 -0.82938,-0.26978 -5.68998,-1.81895 -11.50806,-3.71694 -17.44804,-5.68923 -0.13651,-0.0469 -0.27299,-0.0937 -0.40331,-0.1358 l 7.4677,-6.54423 c -0.099,0.16552 -0.21555,0.32718 -0.31452,0.4927 9.07173,-7.71799 26.60886,-13.7657 42.082402,-14.50031 7.130974,-0.33982 14.689435,0.18964 22.840099,1.56994 6.067741,1.02703 12.461933,2.52695 19.257152,4.49905 5.938834,1.72022 12.180797,3.78914 18.773426,6.22395 -2.953 943,1.10323 -5.869407,2.7287 -8.744022,4.78162 -0.499373,0.3604 -1.009112,0.73216 -1.511672,1.1191 -0.502585,0.38691 -1.004151,0.78427 -1.498505,1.19683 l 0,0 0,0 c 0.0052,-0.006 0.01647,-0.007 0.02166,-0.0123 10.741665,-5.44059 21.911677,-5.49972 33.275347,-3.05294 -3.512293,0.90633 -8.725108,2.75774 -13.490013,6.1124 -0.650869,0.45659 -1.281184,0.9483 -1.904287,1.4552 -0.160021,0.1283 -0.314677,0.25106 -0.463195,0.37852 l 0,0 0,0 c 0.0052,-0.006 0.01127,-9.9e-4 0.01647,-0.007 0,0 0.0052,-0.006 0.01127,-9.9e-4 l 0,0 c 3.833524,-1.80927 7.415482,-3.06785 10.971709,-3.81484 0.75953,-0.16062 1.521076,-0.30038 2.285595,-0.40887 1.160272,-0.17169 2.320337,-0.28559 3.490588,-0.35301 0.747698,-0.0441 1.497407,-0.0674 2.255322,-0.065 1.7736055,-1.9e-4 3.5809872,0.11249 5.4459147,0.34666 0.5691898,0.07 1.1394009,0.1504 1.7219926,0.24033 0.8080111,0.16642 1.5932437,0.33468 2.3670894,0.50385 3.4947139,0.7708 6.5151055,1.56378 9.1028098,2.33365 1.2938545,0.38493 2.4717831,0.75813 3.5461715,1.1 2911 0.427069,0.1444 0.842778,0.28973 1.24088,0.4312 1.189109,0.43009 2.22612,0.83033 3.11722,1.20547 1.333581,0.56035 2.345383,1.05716 3.054216,1.4469 l 0,0 0,0 c -0.484902,0.0914 -1.006187,0.22239 -1.55767,0.39787 -3.810562,1.20862 -9.0630554,4.26613 -12.8155016,7.10372 l 6.8589836,-6.00695 -6.8589836,6.00695 c -0.059219,0.0415 -0.1120802,0.0878 -0.1712972,0.1293 -0.3686395,0.2869 -0.73626,0.58424 -1.1100962,0.87681 0.088156,-0.0386 0.1659184,-0.0658 0.2478563,-0.10915 l -23.4688293,20.55321 c -0.123105,-0.0269 -0.246211,-0.0538 -0.380705,-0.0798 z" id="path3598" style="fill:url(#SVGID_6_)" /> + <path d="m 52.489098,337.22784 c -5.221409,-0.58001 -11.072737,-1.32494 -17.582802,-2.29555 -0.337345,-0.0465 -0.687098,-0.10255 -1.030661,-0.15384 -5.631475,-0.8466 -11.74798,-1.84346 -18.359704,-3.03705 -5.7115598,-1.02402 -11.780866,-2.1875 -18.2388704,-3.51423 -5.6261705,-1.15166 -11.5511356,-2.4265 -17.7644676,-3.83584 L 2.9813947,303.8381 c 9.3594193,-4.04821 15.0606363,-4.69376 22.0219053,-4.22681 1.892116,0.15844 3.845172,0.35401 5.836389,0.58854 6.095793,0.72012 12.552647,1.79478 18.766426,3.08853 5.997499,1.25326 11.744739,2.71043 16.714058,4.25614 3.159483,0.98674 6.000949,2.00943 8.377522,3.03258 2.095388,0.90383 4.020884,1.83177 5.804442,2.7763 -9.724453,7.55488 -21.194854,17.14061 -28.013039,23.87446 z" id="path3609" style="fill:url(#SVGID_7_)" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3611" style="fill:#be202e" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3613" style="opacity:0.35;fill:#be202e" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3624" style="fill:url(#SVGID_8_)" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3626" style="fill:#be202e" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3628" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3639" style="fill:url(#SVGID_9_)" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3641" style="fill:#be202e" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3643" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3654" style="fill:url(#SVGID_10_)" /> + </g> + <text id="text3761" y="61.094482" x="290" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="61.094482" x="290" id="tspan3763">The</tspan> + </text> + <text id="text3416" y="72.094482" x="356" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:57.5px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="72.094482" x="356" id="tspan3418">Apache Velocity Project</tspan> + </text> + <path id="path3557" d="m 897.15,23.54449 0,1.58889 3.72099,0 0,10.51111 1.72469,0 0,-10.51111 3.74815,0 0,-1.58889 -9.19383,0 z m 21.49753,0 -4.15555,8.44691 -4.18272,-8.44691 -2.07778,0 0,12.1 1.58889,0 0,-9.60123 4.11482,8.32469 1.1,0 4.11481,-8.32469 0,9.60123 1.58889,0 0,-12.1 -2.09136,0 z" style="fill:#6d6e71" /> + <text id="text3599" y="114.09448" x="400" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0.03em;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="114.09448" x="400" id="tspan3601">http://velocity.apache.org/</tspan> + </text> +</svg> +</a> + + </div> + <div id="breadcrumb"> + <ul><li><a href="http://www.apache.org">apache</a></li><li><a href="/">velocity</a></li><li><a href="/tools/">tools</a></li><li><a href="/tools/devel/">devel</a></li><li><a href="#">contributions</a></li></ul> + </div> + <div id="middle"> + <div id="leftnav"> + + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h2 id="velocity-tools">Velocity Tools<a class="headerlink" href="#velocity-tools" title="Permanent link">¶</a></h2> +<ul> +<li><a href="index.html">Overview</a></li> +<li><a href="/download.cgi#tools">Download</a></li> +</ul> +<h2 id="subprojects">Subprojects<a class="headerlink" href="#subprojects" title="Permanent link">¶</a></h2> +<ul> +<li><a href="generic.html">GenericTools</a></li> +<li><a href="view.html">VelocityView</a></li> +</ul> +<h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> +<ul> +<li><a href="tools-summary.html">Standard Tools</a></li> +<li><a href="apidocs/index.html">Javadoc</a></li> +<li><a href="upgrading.html">Upgrading</a></li> +<li><a href="configuration.html">Configuration</a></li> +<li><a href="standalone.html">Standalone Use</a></li> +<li><a href="frameworks.html">Web Integration</a></li> +<li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> +<li><a href="/engine/devel/glossary.html">Glossary</a></li> +<li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> +<li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> +</ul> +<h2 id="development">Development<a class="headerlink" href="#development" title="Permanent link">¶</a></h2> +<ul> +<li><a href="changes.html">Changes</a></li> +<li><a href="dependencies.html">Dependencies</a></li> +<li><a href="index.html#helping-out">Participating</a></li> +<li><a href="http://velocity.apache.org/tools/releases/2.0/index.html#Subversion_Repository">Source Code</a></li> +<li><a href="http://issues.apache.org/jira/browse/VELTOOLS">Report Issue</a></li> +</ul> + + <div id="bottom-nav"> + <img src="/images/pbv90x30.png"/> + <div id="rss"> + <a class="poweredBy" href="/rss/news.rss" title="Velocity News Feed"><img class="poweredBy" alt="Velocity News Feed" src="/images/feed-icon-24x24.jpg"></a> + </div> + <iframe src="http://www.apache.org/ads/buttonbar.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="265"></iframe> + </div> + </div> + <div id="content"><div class="section-content"><style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h2 id="contributions">Contributions<a class="headerlink" href="#contributions" title="Permanent link">¶</a></h2> +<p>This page lists reusable users contributed code. Please note that this code has been barely compiled and rarely tested by Velocity commiters.</p> +<div class="toc"> +<ul> +<li><a href="#contributions">Contributions</a><ul> +<li><a href="#tools">Tools</a></li> +<li><a href="#contributing-code">Contributing code</a></li> +</ul> +</li> +</ul> +</div> +<h3 id="tools">Tools<a class="headerlink" href="#tools" title="Permanent link">¶</a></h3> +<ul> +<li><a href="contributions/FeedTool.html">FeedTool</a> by <strong>C. Townson</strong> is a tool providing the ability to retrieve and manipulate RSS and Atom feeds from within Velocity templates. It is built upon the <a href="https://rometools.github.io/rome/">Rome API</a>.</li> +</ul> +<h3 id="contributing-code">Contributing code<a class="headerlink" href="#contributing-code" title="Permanent link">¶</a></h3> +<p>If you can and wish to share your code, you're most welcome!</p> +<p>Tools which are sufficiently generics will be considered for inclusion in the releases. Others will be listed on that page if considered productive.</p> +<p>In either case, you will have to open an issue on <a href="https://issues.apache.org/jira/projects/VELTOOLS">Velocity Tools' JIRA</a>, describe your contribution, attach your code, and also the apropriate <a href="https://www.apache.org/licenses/#grants">Contributor License Agreement or Software Grant</a>.</p></div></div> + <hr/> + <div id="copyright"> + Copyright © 2016 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation. + </div> + </div> + </div> + </body> +</html> Added: velocity/site/production/tools/devel/contributions/FeedTool.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/contributions/FeedTool.html?rev=1834443&view=auto ============================================================================== --- velocity/site/production/tools/devel/contributions/FeedTool.html (added) +++ velocity/site/production/tools/devel/contributions/FeedTool.html Tue Jun 26 16:14:10 2018 @@ -0,0 +1,550 @@ +<!DOCTYPE html> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> +<html lang="en"> + <head> + <title>Apache Velocity Tools - FeedTool</title> + + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> + + <link rel="stylesheet" type="text/css" href="/css/site.css"> + + + + + + </head> + + <body> + <div id="page"> + <div id="header"> + + <div id="logo2"><img src="/tools/devel/images/velocitytools.png"/></div> + + <a href="/"> +<svg height="60" width="50%" viewBox="20 20 800 110" preserveAspectRatio="xMinYMin"> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1395.619" x2="-4570.1162" y1="697.55487" x1="-5167.0962" gradientUnits="userSpaceOnUse" id="SVGID_1_"> + <stop id="stop3521" style="stop-color:#F69923" offset="0" /> + <stop id="stop3523" style="stop-color:#F79A23" offset="0.3123" /> + <stop id="stop3525" style="stop-color:#E97826" offset="0.8383" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="620.50482" x2="-5326.209" y1="620.50482" x1="-9585.3418" gradientUnits="userSpaceOnUse" id="SVGID_2_"> + <stop id="stop3546" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3548" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3550" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3552" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1047.6898" x2="-6533.1782" y1="1047.6898" x1="-9071.207" gradientUnits="userSpaceOnUse" id="SVGID_3_"> + <stop id="stop3557" style="stop-color:#282662" offset="0" /> + <stop id="stop3559" style="stop-color:#662E8D" offset="9.548390e-02" /> + <stop id="stop3561" style="stop-color:#9F2064" 1 offset="0.7882" /> + <stop id="stop3563" style="stop-color:#CD2032" offset="0.9487" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="580.81702" x2="-5086.9941" y1="580.81702" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_4_"> + <stop id="stop3568" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3570" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3572" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3574" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="638.4408" x2="-6797.2012" y1="638.4408" x1="-9035.5029" gradientUnits="userSpaceOnUse" id="SVGID_5_"> + <stop id="stop3579" style="stop-color:#282662" offset="0" /> + <stop id="stop3581" style="stop-color:#662E8D" offset="9.548390e-02" /> + <stop id="stop3583" style="stop-color:#9F2064" offset="0.7882" /> + <stop id="stop3585" style="stop-color:#CD2032" offset="0.9487" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1021.6218" x2="-5086.9941" y1="1021.6218" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_6_"> + <stop id="stop3590" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3592" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3594" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3596" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="999.73297" x2="-5351.2017" y1="999.73297" x1="-9610.334" gradientUnits="userSpaceOnUse" id="SVGID_7_"> + <stop id="stop3601" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3603" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3605" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3607" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1152.7261" x2="-5086.9941" y1="1152.7261" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_8_"> + <stop id="stop3616" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3618" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3620" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3622" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1137.7247" x2="-5086.9941" y1="1137.7247" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_9_"> + <stop id="stop3631" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3633" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3635" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3637" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1134.7161" x2="-6011.9995" y1="1134.7161" x1="-6953.4072" gradientUnits="userSpaceOnUse" id="SVGID_10_"> + <stop id="stop3646" style="stop-color:#9E2064" offset="0.3233" /> + <stop id="stop3648" style="stop-color:#C92037" offset="0.6302" /> + <stop id="stop3650" style="stop-color:#CD2335" offset="0.7514" /> + <stop id="stop3652" style="stop-color:#E97826" offset="1" /> + </linearGradient> + <g transform="translate(275,-230)" id="g3735"> + <path d="m 95.030525,353.34688 c -5.868388,1.89866 -18.455097,2.86966 -35.232972,2.68962 l -7.844759,-17.69411 c 11.922072,0.96277 23.155947,1.27149 33.446456,0.7785 0.806681,-0.0278 1.205437,-0.0597 1.205437,-0.0597 -0.39975,0.0215 -0.805689,0.0382 -1.205437,0.0597 -3.380984,0.11837 -13.97859,0.22097 -32.909158,-1.88263 6.824373,-6.72909 18.288583,-16.31958 28.008861,-23.85834 18.433387,9.69185 21.017957,20.51606 21.017957,20.51606 0,0 5.61321,15.54576 -6.486385,19.4509 z" id="path3527" style="fill:url(#SVGID_1_)" /> + <path d="m 3.8322454,303.07135 c 0.059217,-0.0415 0.1120778,-0.0878 0.1712971,-0.12929 l -1.0221478,0.89604 c -0.088131,0.0386 -0.1658908,0.0658 -0.2478563,0.10915 0.3676459,-0.29732 0.7362578,-0.58424 1.098707,-0.8759 z" id="path3529" style="fill:none" /> + <path d="m -27.876072,290.63399 c -0.650899,0.45658 -1.281214,0.94828 -1.904317,1.45519 0.623103,-0.50691 1.259608,-0.99386 1.904317,-1.45519 z" id="path3531" style="fill:none" /> + <path d="m -128.18492,294.56272 c 0.27819,0.088 0.55639,0.17608 0.82938,0.26978 5.73136,1.8314 11.32321,3.58465 16.79937,5.26839 6.14427,1.88764 12.119072,3.68379 17.941982,5.39228 6.136306,1.80423 12.096924,3.5122 17.888098,5.1287 6.074555,1.69886 11.961044,3.29193 17.65531,4.79537 4.634037,1.22062 9.141965,2.38304 13.528979,3.48159 1.458542,0.36649 2.910894,0.72823 4.350865,1.08046 2.85092,0.70149 5.659501,1.38013 8.402938,2.03773 2.537553,0.60576 5.026574,1.18393 7.479394,1.74394 0.816212,0.19205 1.625242,0.36892 2.435266,0.55621 0.129295,0.0317 0.263817,0.0577 0.393113,0.0893 l -0.868431,0.76291 0.823816,1.77257 c -0.199639,-0.047 -0.398312,-0.0837 -0.603148,-0.12504 -3.709945,-0.80082 -7.434286,-1.63202 -11.17299,-2.49357 -2.160061,-0.49944 -4.326285,-1.00361 -6.493528,-1.51823 -6.008289,-1.42577 -12.02773,-2.90842 -18.046963,-4.44886 -6.083384,-1.55106 -12.155172,-3.16085 -18.201961,-4.8094 -5.94027,-1.61506 -11.850346,-3.27456 -17.722022,-4.95287 -5.860317,-1.67925 -11.67 1838,-3.38866 -17.421218,-5.10831 -6.00377,-1.79907 -11.9226,-3.61019 -17.74509,-5.43429 -1.31344,-0.40964 -2.62686,-0.81925 -3.9351,-1.23456 -4.69313,-1.47853 -9.30551,-2.95301 -13.84851,-4.42253 l -1.30665,-2.80027 0.97437,-0.85544 c 0.1365,0.0469 0.27298,0.0937 0.4033,0.1358 5.95137,1.97137 11.76945,3.86936 17.45943,5.68831 z" id="path3533" style="fill:none" /> + <path d="m -30.254972,292.46861 0,0 c 0.0052,-0.006 0.01127,-0.001 0.01647,-0.007 0,0 -0.0052,0.006 -0.01647,0.007 z" id="path3535" style="fill:none" /> + <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3537" style="fill:#be202e" /> + <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3539" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3541" style="fill:#be202e" /> + <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3543" style="opacity:0.35;fill:#be202e" /> + <path d="m -3.0502818,330.5069 c 6.1572269,1.1827 12.247534,2.26571 18.2471238,3.24041 6.227231,1.01426 12.356561,1.90504 18.357978,2.65895 0.348762,0.0456 0.708911,0.0903 1.063863,0.1407 5.913525,0.73472 11.699134,1.33257 17.339307,1.78976 l 7.844762,17.69411 c -1.160612,-0.0121 -2.333632,-0.0338 -3.529455,-0.0536 -4.497401,-0.0917 -9.271992,-0.26093 -14.266831,-0.51239 -5.629411,-0.28469 -11.556567,-0.6821 -17.699796,-1.1778 -5.67533,-0.46487 -11.549098,-1.02415 -17.5529729,-1.68334 -5.1106845,-0.5626 -10.3308648,-1.18997 -15.622198,-1.90096 -0.197654,-0.0262 -0.3953057,-0.0524 -0.5929873,-0.0786 L -20.52484,326.94198 c 5.866009,1.25856 11.69707,2.45163 17.4745582,3.56492 z" id="path3554" style="fill:url(#SVGID_2_)" /> + <path d="m -148.64432,287.87492 c -4.62455,-1.5418 -9.31626,-3.12551 -14.09367,-4.76537 -0.0714,-0.0258 -0.13651,-0.0469 -0.20787,-0.0727 -0.67629,-0.2295 -1.34737,-0.46467 -2.02369,-0.69419 -3.21697,-1.10818 -6.09263,-2.12815 -12.63913,-4.44059 1.0996,-3.6285 -0.41103,-8.38228 -2.49019,-13.37944 3.85283,3.31605 6.24773,7.77315 6.52364,12.94094 11.22895,-13.43253 25.02773,-21.83891 40.65304,-19.66506 1.39603,0.1929 2.79384,0.46445 4.21819,0.83367 -6.03156,-0.16844 -10.5525,1.89547 -15.78323,8.30262 -0.0165,0.007 -0.0384,0.0188 -0.0549,0.0255 0.0165,-0.007 0.0384,-0.0188 0.0549,-0.0255 12.65883,-5.62036 21.02643,-6.89439 31.69203,-5.50534 2.52825,0.32813 5.18536,0.80351 8.06151,1.40845 -16.05366,1.09099 -26.93227,8.28126 -33.83488,19.35554 l -7.46769,6.54422 c -0.87076,-0.28223 -1.73631,-0.57012 -2.60806,-0.86277 z" id="path3565" style="fill:url(#SVGID_3_)" /> + <path d="m -127.92557,298.05617 c 5.82769,1.81842 11.74652,3.62955 17.74512,5.43431 5.74415,1.7253 11.554681,3.42428 17.421188,5.10828 5.866507,1.68401 11.775562,3.33306 17.722022,4.95287 6.046789,1.64856 12.123776,3.25267 18.201961,4.8094 6.013043,1.53569 12.038702,3.02311 18.046963,4.44886 2.167243,0.51462 4.333467,1.0188 6.493528,1.51824 3.738705,0.86155 7.463045,1.69274 11.172991,2.49357 0.199636,0.047 0.398312,0.0837 0.603147,0.12503 l 11.0633797,23.68219 c -0.3953333,-0.0524 -0.7854697,-0.11047 -1.1807777,-0.16285 -5.606921,-0.76978 -11.295338,-1.6118 -17.027898,-2.55534 -5.790549,-0.94943 -11.619023,-1.99561 -17.461681,-3.12996 -4.930086,-0.95526 -9.854792,-1.97402 -14.768868,-3.06189 -0.99728,-0.22482 -1.97698,-0.44581 -2.962873,-0.67154 -6.150175,-1.40914 -11.974938,-2.89686 -17.487932,-4.42532 -6.244233,-1.73255 -12.086525,-3.52355 -17.517683,-5.33696 -3.574927,-1.18983 -6.978977,-2.39336 -10.215327,-3.58405 -2.73994,-1.04133 -5.46008,-2.11577 -8.13662,-3.21469 -6.3197 7,-2.58273 -12.45563,-5.34303 -18.38577,-8.29314 l -11.10848,-23.79411 c 4.54303,1.46954 9.15538,2.94401 13.84853,4.42255 1.30203,0.41054 2.62167,0.82493 3.93508,1.23455 z" id="path3576" style="fill:url(#SVGID_4_)" /> + <path d="m -135.39748,315.78421 c -7.2115,-3.62494 -14.10198,-7.55402 -20.5914,-11.85137 -0.2272,-0.15514 -0.45863,-0.29422 -0.68582,-0.44936 2.3312,6.55285 0.24599,17.70369 0.21823,17.65338 -3.57467,-11.87432 -8.27251,-22.40852 -15.98628,-29.36565 -3.27442,2.37386 -5.94744,7.01608 -8.28358,12.96033 -0.41103,-8.38228 1.53485,-12.94527 2.45003,-14.5997 -4.28418,4.11989 -11.70198,6.14259 -19.64656,7.81875 9.09151,-4.3892 15.21177,-8.8767 17.7976,-13.46995 -24.55723,-8.42409 -51.09999,-18.3439 -78.93127,-29.25317 2.33282,-1.41596 4.74343,-1.47765 7.19121,-0.67033 5.0236,1.99314 38.05928,14.98608 83.16344,30.23283 1.28124,0.43321 2.57389,0.86552 3.8727,1.30257 0.36193,0.12335 0.72908,0.24106 1.08481,0.35966 4.73826,1.59047 9.59244,3.19267 14.55737,4.81229 1.13136,0.36642 2.26272,0.73284 3.40026,1.10401 0.0237,0.009 0.0476,0.0172 0.0652,0.021 l 11.11272,23.77804 c -0.25321,-0.12682 -0.52301,-0.24705 -0.7886,-0.38338 z" id="path3587" style="fill:url(#SVGID_5_)" /> + <path d="m -20.879529,324.31241 c -0.803833,-0.18253 -1.613855,-0.36983 -2.435266,-0.5562 -2.447621,-0.56569 -4.936644,-1.14385 -7.479421,-1.74397 -2.748608,-0.6519 -5.5458,-1.33146 -8.402911,-2.03771 -1.439971,-0.35222 -2.880933,-0.71488 -4.350864,-1.08045 -4.387015,-1.09855 -8.894942,-2.26097 -13.528979,-3.48159 -5.694267,-1.50344 -11.580756,-3.09652 -17.65531,-4.79538 -5.791175,-1.61649 -11.75182,-3.32448 -17.888098,-5.1287 -5.82291,-1.70849 -11.803902,-3.50939 -17.941982,-5.39227 -5.47616,-1.68374 -11.06801,-3.43699 -16.79937,-5.26839 -0.27821,-0.088 -0.55639,-0.17608 -0.82938,-0.26978 -5.68998,-1.81895 -11.50806,-3.71694 -17.44804,-5.68923 -0.13651,-0.0469 -0.27299,-0.0937 -0.40331,-0.1358 l 7.4677,-6.54423 c -0.099,0.16552 -0.21555,0.32718 -0.31452,0.4927 9.07173,-7.71799 26.60886,-13.7657 42.082402,-14.50031 7.130974,-0.33982 14.689435,0.18964 22.840099,1.56994 6.067741,1.02703 12.461933,2.52695 19.257152,4.49905 5.938834,1.72022 12.180797,3.78914 18.773426,6.22395 -2.953 943,1.10323 -5.869407,2.7287 -8.744022,4.78162 -0.499373,0.3604 -1.009112,0.73216 -1.511672,1.1191 -0.502585,0.38691 -1.004151,0.78427 -1.498505,1.19683 l 0,0 0,0 c 0.0052,-0.006 0.01647,-0.007 0.02166,-0.0123 10.741665,-5.44059 21.911677,-5.49972 33.275347,-3.05294 -3.512293,0.90633 -8.725108,2.75774 -13.490013,6.1124 -0.650869,0.45659 -1.281184,0.9483 -1.904287,1.4552 -0.160021,0.1283 -0.314677,0.25106 -0.463195,0.37852 l 0,0 0,0 c 0.0052,-0.006 0.01127,-9.9e-4 0.01647,-0.007 0,0 0.0052,-0.006 0.01127,-9.9e-4 l 0,0 c 3.833524,-1.80927 7.415482,-3.06785 10.971709,-3.81484 0.75953,-0.16062 1.521076,-0.30038 2.285595,-0.40887 1.160272,-0.17169 2.320337,-0.28559 3.490588,-0.35301 0.747698,-0.0441 1.497407,-0.0674 2.255322,-0.065 1.7736055,-1.9e-4 3.5809872,0.11249 5.4459147,0.34666 0.5691898,0.07 1.1394009,0.1504 1.7219926,0.24033 0.8080111,0.16642 1.5932437,0.33468 2.3670894,0.50385 3.4947139,0.7708 6.5151055,1.56378 9.1028098,2.33365 1.2938545,0.38493 2.4717831,0.75813 3.5461715,1.1 2911 0.427069,0.1444 0.842778,0.28973 1.24088,0.4312 1.189109,0.43009 2.22612,0.83033 3.11722,1.20547 1.333581,0.56035 2.345383,1.05716 3.054216,1.4469 l 0,0 0,0 c -0.484902,0.0914 -1.006187,0.22239 -1.55767,0.39787 -3.810562,1.20862 -9.0630554,4.26613 -12.8155016,7.10372 l 6.8589836,-6.00695 -6.8589836,6.00695 c -0.059219,0.0415 -0.1120802,0.0878 -0.1712972,0.1293 -0.3686395,0.2869 -0.73626,0.58424 -1.1100962,0.87681 0.088156,-0.0386 0.1659184,-0.0658 0.2478563,-0.10915 l -23.4688293,20.55321 c -0.123105,-0.0269 -0.246211,-0.0538 -0.380705,-0.0798 z" id="path3598" style="fill:url(#SVGID_6_)" /> + <path d="m 52.489098,337.22784 c -5.221409,-0.58001 -11.072737,-1.32494 -17.582802,-2.29555 -0.337345,-0.0465 -0.687098,-0.10255 -1.030661,-0.15384 -5.631475,-0.8466 -11.74798,-1.84346 -18.359704,-3.03705 -5.7115598,-1.02402 -11.780866,-2.1875 -18.2388704,-3.51423 -5.6261705,-1.15166 -11.5511356,-2.4265 -17.7644676,-3.83584 L 2.9813947,303.8381 c 9.3594193,-4.04821 15.0606363,-4.69376 22.0219053,-4.22681 1.892116,0.15844 3.845172,0.35401 5.836389,0.58854 6.095793,0.72012 12.552647,1.79478 18.766426,3.08853 5.997499,1.25326 11.744739,2.71043 16.714058,4.25614 3.159483,0.98674 6.000949,2.00943 8.377522,3.03258 2.095388,0.90383 4.020884,1.83177 5.804442,2.7763 -9.724453,7.55488 -21.194854,17.14061 -28.013039,23.87446 z" id="path3609" style="fill:url(#SVGID_7_)" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3611" style="fill:#be202e" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3613" style="opacity:0.35;fill:#be202e" /> + <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3624" style="fill:url(#SVGID_8_)" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3626" style="fill:#be202e" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3628" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3639" style="fill:url(#SVGID_9_)" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3641" style="fill:#be202e" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3643" style="opacity:0.35;fill:#be202e" /> + <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3654" style="fill:url(#SVGID_10_)" /> + </g> + <text id="text3761" y="61.094482" x="290" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="61.094482" x="290" id="tspan3763">The</tspan> + </text> + <text id="text3416" y="72.094482" x="356" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:57.5px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="72.094482" x="356" id="tspan3418">Apache Velocity Project</tspan> + </text> + <path id="path3557" d="m 897.15,23.54449 0,1.58889 3.72099,0 0,10.51111 1.72469,0 0,-10.51111 3.74815,0 0,-1.58889 -9.19383,0 z m 21.49753,0 -4.15555,8.44691 -4.18272,-8.44691 -2.07778,0 0,12.1 1.58889,0 0,-9.60123 4.11482,8.32469 1.1,0 4.11481,-8.32469 0,9.60123 1.58889,0 0,-12.1 -2.09136,0 z" style="fill:#6d6e71" /> + <text id="text3599" y="114.09448" x="400" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0.03em;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve"> + <tspan y="114.09448" x="400" id="tspan3601">http://velocity.apache.org/</tspan> + </text> +</svg> +</a> + + </div> + <div id="breadcrumb"> + <ul><li><a href="http://www.apache.org">apache</a></li><li><a href="/">velocity</a></li><li><a href="/tools/">tools</a></li><li><a href="/tools/devel/">devel</a></li><li><a href="/tools/devel/contributions/">contributions</a></li><li><a href="#">FeedTool</a></li></ul> + </div> + <div id="middle"> + <div id="leftnav"> + + <style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h2 id="velocity-tools">Velocity Tools<a class="headerlink" href="#velocity-tools" title="Permanent link">¶</a></h2> +<ul> +<li><a href="index.html">Overview</a></li> +<li><a href="/download.cgi#tools">Download</a></li> +</ul> +<h2 id="subprojects">Subprojects<a class="headerlink" href="#subprojects" title="Permanent link">¶</a></h2> +<ul> +<li><a href="generic.html">GenericTools</a></li> +<li><a href="view.html">VelocityView</a></li> +</ul> +<h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> +<ul> +<li><a href="tools-summary.html">Standard Tools</a></li> +<li><a href="apidocs/index.html">Javadoc</a></li> +<li><a href="upgrading.html">Upgrading</a></li> +<li><a href="configuration.html">Configuration</a></li> +<li><a href="standalone.html">Standalone Use</a></li> +<li><a href="frameworks.html">Web Integration</a></li> +<li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> +<li><a href="/engine/devel/glossary.html">Glossary</a></li> +<li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> +<li><a href="http://wiki.apache.org/velocity/">Wiki</a></li> +</ul> +<h2 id="development">Development<a class="headerlink" href="#development" title="Permanent link">¶</a></h2> +<ul> +<li><a href="changes.html">Changes</a></li> +<li><a href="dependencies.html">Dependencies</a></li> +<li><a href="index.html#helping-out">Participating</a></li> +<li><a href="http://velocity.apache.org/tools/releases/2.0/index.html#Subversion_Repository">Source Code</a></li> +<li><a href="http://issues.apache.org/jira/browse/VELTOOLS">Report Issue</a></li> +</ul> + + <div id="bottom-nav"> + <img src="/images/pbv90x30.png"/> + <div id="rss"> + <a class="poweredBy" href="/rss/news.rss" title="Velocity News Feed"><img class="poweredBy" alt="Velocity News Feed" src="/images/feed-icon-24x24.jpg"></a> + </div> + <iframe src="http://www.apache.org/ads/buttonbar.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="265"></iframe> + </div> + </div> + <div id="content"><div class="section-content"><style type="text/css"> +/* The following code is added by mdx_elementid.py + It was originally lifted from http://subversion.apache.org/style/site.css */ +/* + * Hide class="elementid-permalink", except when an enclosing heading + * has the :hover property. + */ +.headerlink, .elementid-permalink { + visibility: hidden; +} +h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> +<h2 id="feedtool">FeedTool<a class="headerlink" href="#feedtool" title="Permanent link">¶</a></h2> +<p><a href="FeedTool.mdtext">FeedTool</a> is a tool providing the ability to retrieve and manipulate RSS and Atom feeds from within Velocity templates. It is built upon the <a href="https://rometools.github.io/rome/">Rome API</a>.</p> +<p>The tool works by retrieving a feed from a specified URI and returning it in a ContextFeedWrapper class. The idea with the wrapper class is to have a convenient location for the provision of convenience methods for feed and feed entry manipulation ... although it could easily be incorporated into a single class.</p> +<div class="toc"> +<ul> +<li><a href="#feedtool">FeedTool</a><ul> +<li><a href="#dependencies">Dependencies</a></li> +<li><a href="#code">Code</a><ul> +<li><a href="#feedtooljava">FeedTool.java</a></li> +<li><a href="#contextfeedwrapperjava">ContextFeedWrapper.java</a></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +<h3 id="dependencies">Dependencies<a class="headerlink" href="#dependencies" title="Permanent link">¶</a></h3> +<ul> +<li> +<p><a href="https://rometools.github.io/rome/">Rome API</a></p> +<div class="codehilite"><pre><span class="nt"><dependency></span> + <span class="nt"><groupId></span>com.rometools<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>rome<span class="nt"></artifactId></span> + <span class="nt"><version></span>1.10.0<span class="nt"></version></span> +<span class="nt"></dependency></span> +</pre></div> + + +</li> +<li> +<p><a href="https://rometools.github.io/rome/Fetcher/index.html">Rome Fetcher</a></p> +<div class="codehilite"><pre><span class="nt"><dependency></span> + <span class="nt"><groupId></span>com.rometools<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>rome-fetcher<span class="nt"></artifactId></span> + <span class="nt"><version></span>1.10.0<span class="nt"></version></span> +<span class="nt"></dependency></span> +</pre></div> + + +</li> +<li> +<p><a href="http://www.jdom.org/">JDom2</a></p> +<div class="codehilite"><pre><span class="nt"><dependency></span> + <span class="nt"><groupId></span>org.jdom<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>jdom2<span class="nt"></artifactId></span> + <span class="nt"><version></span>2.0.6<span class="nt"></version></span> +<span class="nt"></dependency></span> +</pre></div> + + +</li> +</ul> +<h3 id="code">Code<a class="headerlink" href="#code" title="Permanent link">¶</a></h3> +<h4 id="feedtooljava"><a href="http://svn.apache.org/repos/asf/velocity/contribs/tools/FeedTool/FeedTool.java">FeedTool.java</a><a class="headerlink" href="#feedtooljava" title="Permanent link">¶</a></h4> +<div class="codehilite"><pre><span class="kn">package</span> <span class="nn">org.apache.velocity.tools.view.tools</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">java.net.URL</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.net.HttpURLConnection</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.net.MalformedURLException</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">sun.misc.BASE64Encoder</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">com.rometools.rome.feed.synd.SyndFeed</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.rome.io.SyndFeedInput</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.rome.io.FeedException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.rome.io.XmlReader</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.fetcher.FeedFetcher</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.fetcher.FetcherException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.fetcher.impl.FeedFetcherCache</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.fetcher.impl.HashMapFeedInfoCache</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.fetcher.impl.HttpURLFeedFetcher</span><span class="o">;</span> + +<span class="cm">/**</span> +<span class="cm"> * FeedTool</span> +<span class="cm"> * <p></span> +<span class="cm"> * A Velocity View Tool for working with RSS and Atom APIs using Rome</span> +<span class="cm"> * </p></span> +<span class="cm"> * @author C.Townson</span> +<span class="cm"> */</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">FeedTool</span> +<span class="o">{</span> + <span class="cm">/**</span> +<span class="cm"> * The URL of the feed to be fetched by RomeFetcher</span> +<span class="cm"> */</span> + <span class="kd">private</span> <span class="n">URL</span> <span class="n">feedURL</span><span class="o">;</span> + + <span class="cm">/**</span> +<span class="cm"> * The FeedObject returned from fetch by RomeFetcher</span> +<span class="cm"> */</span> + <span class="kd">private</span> <span class="n">ContextFeedWrapper</span> <span class="n">feed</span><span class="o">;</span> + + <span class="cm">/**</span> +<span class="cm"> * Default view tool no-arg constructor</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="nf">FeedTool</span><span class="o">()</span> <span class="o">{</span> + <span class="c1">// do nothing - View Tools must have public no-arg constructor</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * Returns the feed located at the specified URL</span> +<span class="cm"> * <p></span> +<span class="cm"> * This is the core method provided with this tool - use this</span> +<span class="cm"> * from template, rather than any of the other public methods</span> +<span class="cm"> * </p></span> +<span class="cm"> * TODO overloaded method with authenication parameterss</span> +<span class="cm"> * @param feedURL the url of the feed to retrieve</span> +<span class="cm"> * @return feed The feed object inside a utility wrapper class</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">ContextFeedWrapper</span> <span class="nf">get</span><span class="o">(</span><span class="n">String</span> <span class="n">feedURL</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// cast String to URL</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeedURL</span><span class="o">(</span><span class="n">feedURL</span><span class="o">);</span> + + <span class="c1">// rev up RomeFetcher</span> + <span class="n">FeedFetcherCache</span> <span class="n">feedInfoCache</span> <span class="o">=</span> <span class="n">HashMapFeedInfoCache</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span> + <span class="n">FeedFetcher</span> <span class="n">feedFetcher</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HttpURLFeedFetcher</span><span class="o">(</span><span class="n">feedInfoCache</span><span class="o">);</span> + + <span class="c1">// retrieve feed or freak out (silently!)</span> + <span class="k">try</span> <span class="o">{</span> + <span class="c1">// grab feed</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeed</span><span class="o">(</span><span class="n">feedFetcher</span><span class="o">.</span><span class="na">retrieveFeed</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">getFeedURL</span><span class="o">()));</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">FetcherException</span> <span class="n">fetchx</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">FeedException</span> <span class="n">feedx</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">IOException</span> <span class="n">iox</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">x</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> + + <span class="c1">// return wrapped feed</span> + <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">getFeed</span><span class="o">();</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * Returns the feed located at the specified (password protected) URL</span> +<span class="cm"> * @param feedURL the URL of the feed to retrieve</span> +<span class="cm"> * @param userName the userName to access the protected URL with</span> +<span class="cm"> * @param password the password to access the protected URL with</span> +<span class="cm"> * @return feed the feed object inside a utility wrapper class</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">ContextFeedWrapper</span> <span class="nf">get</span><span class="o">(</span><span class="n">String</span> <span class="n">feedURL</span><span class="o">,</span> <span class="n">String</span> <span class="n">userName</span><span class="o">,</span> <span class="n">String</span> <span class="n">password</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// set feed url</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeedURL</span><span class="o">(</span><span class="n">feedURL</span><span class="o">);</span> + + <span class="c1">// construct auth string</span> + <span class="n">String</span> <span class="n">auth</span> <span class="o">=</span> <span class="n">userName</span> <span class="o">+</span> <span class="s">":"</span> <span class="o">+</span> <span class="n">password</span><span class="o">;</span> + + <span class="c1">// initialize httpcon variable</span> + <span class="n">HttpURLConnection</span> <span class="n">httpcon</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> + + <span class="k">try</span> <span class="o">{</span> + <span class="c1">// create connection</span> + <span class="n">httpcon</span> <span class="o">=</span> <span class="o">(</span><span class="n">HttpURLConnection</span><span class="o">)</span> <span class="k">this</span><span class="o">.</span><span class="na">getFeedURL</span><span class="o">().</span><span class="na">openConnection</span><span class="o">();</span> + + <span class="c1">// encode username:password</span> + <span class="n">String</span> <span class="n">encoding</span> <span class="o">=</span> <span class="k">new</span> <span class="n">BASE64Encoder</span><span class="o">().</span><span class="na">encode</span><span class="o">(</span><span class="n">auth</span><span class="o">.</span><span class="na">getBytes</span><span class="o">());</span> + + <span class="c1">// set request property</span> + <span class="n">httpcon</span><span class="o">.</span><span class="na">setRequestProperty</span><span class="o">(</span><span class="s">"Authorization"</span><span class="o">,</span><span class="s">"Basic "</span> <span class="o">+</span> <span class="n">encoding</span><span class="o">);</span> + + <span class="c1">// connect</span> + <span class="n">httpcon</span><span class="o">.</span><span class="na">connect</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span><span class="o">(</span><span class="n">IOException</span> <span class="n">iox</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> + + <span class="c1">// rev up Rome (not using fetcher this time)</span> + <span class="n">SyndFeedInput</span> <span class="n">input</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SyndFeedInput</span><span class="o">();</span> + + <span class="c1">// grab and wrap feed</span> + <span class="k">try</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeed</span><span class="o">(</span><span class="n">input</span><span class="o">.</span><span class="na">build</span><span class="o">(</span><span class="k">new</span> <span class="n">XmlReader</span><span class="o">(</span><span class="n">httpcon</span><span class="o">)));</span> + <span class="o">}</span> <span class="k">catch</span><span class="o">(</span><span class="n">FeedException</span> <span class="n">fx</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> <span class="k">catch</span><span class="o">(</span><span class="n">IOException</span> <span class="n">iox</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> + + <span class="c1">// if we have a connection, disconnect now</span> + <span class="k">if</span><span class="o">(</span><span class="n">httpcon</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span> + <span class="n">httpcon</span><span class="o">.</span><span class="na">disconnect</span><span class="o">();</span> + <span class="o">}</span> + + <span class="c1">// return wrapped feed</span> + <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">getFeed</span><span class="o">();</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @return Returns the feed.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">ContextFeedWrapper</span> <span class="nf">getFeed</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">feed</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param feed The feed to set.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFeed</span><span class="o">(</span><span class="n">ContextFeedWrapper</span> <span class="n">feed</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">feed</span> <span class="o">=</span> <span class="n">feed</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param feed The feed to set</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFeed</span><span class="o">(</span><span class="n">SyndFeed</span> <span class="n">feed</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeed</span><span class="o">(</span><span class="k">new</span> <span class="n">ContextFeedWrapper</span><span class="o">(</span><span class="n">feed</span><span class="o">));</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @return Returns the feedURL.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">URL</span> <span class="nf">getFeedURL</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="n">feedURL</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param feedURL The feedURL to set.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFeedURL</span><span class="o">(</span><span class="n">URL</span> <span class="n">feedURL</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">feedURL</span> <span class="o">=</span> <span class="n">feedURL</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * Private helper method to covert String to URL</span> +<span class="cm"> * @param url</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFeedURL</span><span class="o">(</span><span class="n">String</span> <span class="n">url</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// try to cast URL string to URL</span> + <span class="k">try</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeedURL</span><span class="o">(</span><span class="k">new</span> <span class="n">URL</span><span class="o">(</span><span class="n">url</span><span class="o">));</span> + <span class="o">}</span> <span class="k">catch</span><span class="o">(</span><span class="n">MalformedURLException</span> <span class="n">mfux</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">x</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// do something here?</span> + <span class="o">}</span> + <span class="o">}</span> +<span class="o">}</span> +</pre></div> + + +<h4 id="contextfeedwrapperjava"><a href="http://svn.apache.org/repos/asf/velocity/contribs/tools/FeedTool/ContextFeedWrapper.java">ContextFeedWrapper.java</a><a class="headerlink" href="#contextfeedwrapperjava" title="Permanent link">¶</a></h4> +<div class="codehilite"><pre><span class="kn">package</span> <span class="nn">org.apache.velocity.tools.view.tools</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">com.rometools.rome.feed.synd.SyndFeed</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">com.rometools.rome.feed.synd.SyndEntry</span><span class="o">;</span> + +<span class="cm">/**</span> +<span class="cm"> * Feed wrapper for Velocity context providing</span> +<span class="cm"> * utility methods for accessing feed object properties</span> +<span class="cm"> * </span> +<span class="cm"> * @author Christopher Townson</span> +<span class="cm"> *</span> +<span class="cm"> */</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">ContextFeedWrapper</span> <span class="o">{</span> + + <span class="cm">/**</span> +<span class="cm"> * The feed</span> +<span class="cm"> */</span> + <span class="kd">private</span> <span class="n">SyndFeed</span> <span class="n">feed</span><span class="o">;</span> + + <span class="cm">/**</span> +<span class="cm"> * An interger containing the total number of items in the retrieved feed</span> +<span class="cm"> */</span> + <span class="kd">private</span> <span class="kt">int</span> <span class="n">numberOfEntries</span><span class="o">;</span> + + <span class="cm">/**</span> +<span class="cm"> * A SyndEntry object for holding the most recent feed entry</span> +<span class="cm"> */</span> + <span class="kd">private</span> <span class="n">SyndEntry</span> <span class="n">latest</span><span class="o">;</span> + + <span class="cm">/**</span> +<span class="cm"> * </span> +<span class="cm"> * @param feed</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="nf">ContextFeedWrapper</span><span class="o">(</span><span class="n">SyndFeed</span> <span class="n">feed</span><span class="o">)</span> <span class="o">{</span> + <span class="c1">// assign feed object</span> + <span class="k">this</span><span class="o">.</span><span class="na">setFeed</span><span class="o">(</span><span class="n">feed</span><span class="o">);</span> + + <span class="c1">// grab number of entries</span> + <span class="k">this</span><span class="o">.</span><span class="na">numberOfEntries</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">getFeed</span><span class="o">().</span><span class="na">getEntries</span><span class="o">().</span><span class="na">size</span><span class="o">();</span> + + <span class="c1">// grab most recent entry (presently: just first entry)</span> + <span class="c1">// TODO make this loop through entries and compare dates</span> + <span class="k">this</span><span class="o">.</span><span class="na">latest</span> <span class="o">=</span> <span class="o">(</span><span class="n">SyndEntry</span><span class="o">)</span> <span class="k">this</span><span class="o">.</span><span class="na">getFeed</span><span class="o">().</span><span class="na">getEntries</span><span class="o">().</span><span class="na">get</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @return Returns the feed.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">SyndFeed</span> <span class="nf">getFeed</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">feed</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param feed The feed to set.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setFeed</span><span class="o">(</span><span class="n">SyndFeed</span> <span class="n">feed</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">feed</span> <span class="o">=</span> <span class="n">feed</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @return Returns the numberOfEntries.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">int</span> <span class="nf">getNumberOfEntries</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="n">numberOfEntries</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param numberOfEntries The numberOfEntries to set.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setNumberOfEntries</span><span class="o">(</span><span class="kt">int</span> <span class="n">numberOfEntries</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">numberOfEntries</span> <span class="o">=</span> <span class="n">numberOfEntries</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @return Returns the latest feed entry.</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="n">SyndEntry</span> <span class="nf">getLatest</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="n">latest</span><span class="o">;</span> + <span class="o">}</span> + + <span class="cm">/**</span> +<span class="cm"> * @param latest The entry to set as the latest</span> +<span class="cm"> */</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setLatest</span><span class="o">(</span><span class="n">SyndEntry</span> <span class="n">latest</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">latest</span> <span class="o">=</span> <span class="n">latest</span><span class="o">;</span> + <span class="o">}</span> + +<span class="o">}</span> +</pre></div></div></div> + <hr/> + <div id="copyright"> + Copyright © 2016 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation. + </div> + </div> + </div> + </body> +</html> Modified: velocity/site/production/tools/devel/creating-tools.html URL: http://svn.apache.org/viewvc/velocity/site/production/tools/devel/creating-tools.html?rev=1834443&r1=1834442&r2=1834443&view=diff ============================================================================== --- velocity/site/production/tools/devel/creating-tools.html (original) +++ velocity/site/production/tools/devel/creating-tools.html Tue Jun 26 16:14:10 2018 @@ -168,13 +168,14 @@ h2:hover > .headerlink, h3:hover > .head </ul> <h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">¶</a></h2> <ul> -<li><a href="tools-summary.html">Tools Summary</a></li> +<li><a href="tools-summary.html">Standard Tools</a></li> <li><a href="apidocs/index.html">Javadoc</a></li> <li><a href="upgrading.html">Upgrading</a></li> <li><a href="configuration.html">Configuration</a></li> <li><a href="standalone.html">Standalone Use</a></li> <li><a href="frameworks.html">Web Integration</a></li> <li><a href="creating-tools.html">Creating Tools</a></li> +<li><a href="contributions.html">Contributions</a></li> <li><a href="/engine/devel/glossary.html">Glossary</a></li> <li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li> <li><a href="http://wiki.apache.org/velocity/">Wiki</a></li>