\u001B[1mSYNOPSIS\u001B[0m
    ${project.description}

    Original Maven URL:
        \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m

\u001B[1mDESCRIPTION\u001B[0m
    FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to
    autogenerated source code) based on templates. It's a Java package, a class library for Java programmers.
    It's not an application for end-users in itself, but something that programmers can embed into their
    products.

    FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based
    applications following the MVC (Model View Controller) pattern. The idea behind using the MVC pattern for
    dynamic Web pages is that you separate the designers (HTML authors) from the programmers. Everybody works
    on what they are good at. Designers can change the appearance of a page without programmers having to
    change or recompile code, because the application logic (Java programs) and page design (FreeMarker
    templates) are separated. Templates do not become polluted with complex program fragments. This separation
    is useful even for projects where the programmer and the HTML page author is the same person, since it helps
    to keep the application clear and easily maintainable.

    Although FreeMarker has some programming capabilities, it is not a full-blown programming language like PHP.
    Instead, Java programs prepare the data to be displayed (like issue SQL queries), and FreeMarker just
    generates textual pages that display the prepared data using templates.

\u001B[1mSEE ALSO\u001B[0m
    \u001B[36mhttp://freemarker.sourceforge.net/\u001B[0m
