# FreeMarker

> Java-based template engine

**Wikidata**: [Q1138215](https://www.wikidata.org/wiki/Q1138215)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/FreeMarker)  
**Source**: https://4ort.xyz/entity/freemarker

## Summary
FreeMarker is a Java-based template engine that functions as a web template system. It is primarily used for generating dynamic output, such as HTML, within Java applications and for content management. Classified as free software, FreeMarker allows for the separation of presentation logic from business logic.

## Key Facts
- FreeMarker is a Java-based template engine and a template processor.
- It is an instance of free software, distributed under terms that allow users to freely run, study, change, and distribute it.
- The software was developed by the Apache Software Foundation.
- FreeMarker's inception date is September 2, 2015.
- The preferred current version is 2.3.32, released on January 12, 2023.
- It is licensed under the Apache License.
- FreeMarker is used for web template systems, Java applications, HTML generation, and content management.
- It supports readable and writable file formats including FTL, FTLH, and FTLX files.
- The primary programming language for FreeMarker is Java.

## FAQs
### Q: What is FreeMarker used for?
A: FreeMarker is used as a web template system, for Java applications, HTML generation, and content management. It helps in separating the presentation layer from the application logic.

### Q: What programming language is FreeMarker written in?
A: FreeMarker is written in the Java object-oriented programming language. It is designed to be used within Java environments.

### Q: Who developed FreeMarker?
A: FreeMarker was developed by the Apache Software Foundation, a non-profit corporation that supports various open-source software projects.

### Q: What is the latest version of FreeMarker?
A: The preferred current version of FreeMarker is 2.3.32, which was released on January 12, 2023.

### Q: What type of software is FreeMarker?
A: FreeMarker is free software and a template processor. This means it can be freely used, studied, changed, and distributed by users.

## Why It Matters
FreeMarker plays a significant role in modern web development and content management, particularly within the Java ecosystem. As a template engine, it enables developers to cleanly separate the design of web pages (HTML, XML, etc.) from the underlying application logic. This separation improves maintainability, allows designers to work independently of programmers, and facilitates the creation of dynamic content. Its classification as free software, coupled with its development under the reputable Apache Software Foundation, ensures its accessibility, community support, and continuous evolution. FreeMarker's ability to handle various output formats and its integration with Java make it a versatile tool for building robust and scalable web applications, content management systems, and other data-driven solutions where dynamic content generation is crucial.

## Notable For
- Being a Java-based template engine that facilitates the separation of presentation and business logic.
- Its development and maintenance by the Apache Software Foundation, ensuring open-source principles and community support.
- Its classification as free software, allowing for broad adoption and modification.
- Supporting specific template file formats such as FTL, FTLH, and FTLX for defining templates.
- Its application in diverse areas including web template systems, HTML generation, and content management.

## Body

### Overview
FreeMarker, also known by its alias Apache FreeMarker, is a Java-based template engine. It serves as a template processor and is primarily used as a web template system. Its core function is to generate various text outputs, including HTML, from templates and changing data.

### Development and Licensing
FreeMarker's inception date is recorded as September 2, 2015. It is developed by the Apache Software Foundation. The software is licensed under the Apache License, aligning with its status as free software. It is copyrighted.

### Technical Specifications
FreeMarker is programmed in Java, an object-oriented programming language. Its primary uses include web template systems, Java applications, HTML generation, and content management. The engine works with specific readable and writable file formats: FTL file, FTLH file, and FTLX file. The preferred current version of FreeMarker is 2.3.32, released on January 12, 2023. Earlier versions include 2.3.30 (released March 5, 2020) and 2.3.23 (released July 5, 2015).

### Resources and Identifiers
FreeMarker's official website is https://freemarker.apache.org, with an older reference to http://www.freemarker.org/.
- **Download URL**: https://freemarker.apache.org/freemarkerdownload.html
- **User Manual URL**: https://freemarker.apache.org/docs/index.html
- **Issue Tracker URL**: https://issues.apache.org/jira/browse/FREEMARKER
- **Source Code Repository URL**: git://git.apache.org/incubator-freemarker.git
- **Apache Project IDs**: freemarker, incubator-freemarker
- **Wikipedia Title**: FreeMarker (available in cs, de, en, fr, it, ko, ru, vi, zh languages)
- **Sitelink Count**: 9
- **Freebase ID**: /m/06290g
- **Quora Topic**: Freemarker
- **Zhihu Topic ID**: 19838108 (with qualifier 'freemarker')
- **AUR Package**: freemarker
- **Gentoo Package**: dev-java/freemarker
- **OpenSUSE Package**: freemarker
- **Pro-Linux.de DBApp ID**: 5315
- **Repology Project Name**: freemarker
- **Free Software Directory Entry**: FreeMarker

### Related Concepts
FreeMarker is related to:
- **Free software**: Software distributed under terms that allow users to freely run, study, change, and distribute it.
- **Java**: The object-oriented programming language in which FreeMarker is written.
- **Content management**: The process of managing information or experiences built with an audience in mind, for which FreeMarker can be utilized.

## References

1. [Source](https://freemarker.apache.org/)
2. [Source](https://projects.apache.org/json/projects/incubator-freemarker.json)
3. [Source](https://freemarker.apache.org/docs/versions_2_3_30.html)
4. [Source](https://freemarker.apache.org/docs/versions_2_3_32.html)
5. Freebase Data Dumps. 2013
6. [Source](https://freemarker.apache.org/docs/pgui_config_outputformatsautoesc.html)
7. Quora