<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
  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="hu">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="Content-Script-Type" content="text/javascript">
  <title>FreeMarker Documention</title>
  <style type="text/css">
    body {
      background: #FFF;
      padding: 2em;
      color: #000000;
      font-family: Arial,sans-serif;
      font-size: 16px;
    }
    h1 {
      font-size: 166%;
      margin-top: 1.5em;
      margin-bottom: 0.75em;
      color: #0050B2;
      font-family: Arial,sans-serif;
      font-weight: bold;
    }
    .top {
      margin-top: 0;
    }
    a:link,
    a:visited,
    a:hover,
    a:active {
      color:#00C;
      text-decoration: none;
    }
  </style>
</head>

<body>
    <p class="top">Offline FreeMarker Documentation:</p>
    <ul>
      <li><a href="_html/index.html">Manual</a></li>
      <li><a href="_html/api/index.html">Java API</a></li>
    </ul>
    
    <p><a href="https://freemarker.apache.org/">Visit the FreeMarker home page</a> (help, editor plugins, latest downloads, etc.)</p>
    
    <p><i><b>Disclaimer:</b> Apache FreeMarker is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</i></p>
</body>
</html>
