SkillAgentSearch skills...

Stencil

templating engine for DOCX and PPTX files

Install / Use

/learn @erdos/Stencil
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Stencil Template Engine

Stencil is an open source templating engine that transforms Office Open XML documents (mostly Microsoft Office's Word .docx files) from the JVM. It has a simple syntax and no programming is needed to write document templates.

<p align="center"><img src="https://raw.githubusercontent.com/erdos/stencil/master/docs/graphics.svg?sanitize=true" alt="stencil flow"/></p>

You can use either Microsoft Word or LibreOffice to edit the document templates. The template expressions are just simple textual expressions, and you can even colour-code them to make your template more readable.

Clojars Project CI codecov contributions welcome

<!-- [![HitCount](http://hits.dwyl.io/erdos/stencil.svg)](http://hits.dwyl.io/erdos/stencil) -->

Hits EPL 2.0

Features

  • 📄 Multiple Formats: Works with docx and pptx files
  • 💻 Simple syntax: For value substitution, conditional and repeating blocks
  • 🔧 Extendable: Dozens of built-in functions callable from the template
  • 📰 Dynamic content: Substituting HTML text for dynamic text formatting
  • 🌄 Images and links: Dynamically replace images and links in the template
  • 👀 Tables: Show/hide rows and columns in tables
  • 📐 Programmable: Offers API for Java and Clojure. Deployable as a Docker container.

📖 Getting Started with the Library

🐳 Getting Started with the Service

The project has a simple service implementation, which is available on GitHub Packages as a Container image.

👉 Version

Latest stable version is 0.6.6

Latest snapshot version is 0.6.7-SNAPSHOT

Previous versions are available on the Stencil Clojars page.

<details> <summary><b>For Java with Maven</b></summary>

If you are using Maven, add the followings to your pom.xml:

  1. The dependency:
<dependency>
  <groupId>io.github.erdos</groupId>
  <artifactId>stencil-core</artifactId>
  <version>0.6.6</version>
</dependency>
  1. And the Clojars repository:
<repository>
  <id>clojars.org</id>
  <url>https://repo.clojars.org</url>
</repository>
</details> <details> <summary><b>For Java with Gradle</b></summary>

Add to the dependencies section of your build.gradle file: implementation('io.github.erdos/stencil-core:0.6.6')

</details> <details> <summary><b>For Clojure with Leiningen</b></summary>

If you are using Leiningen, add the following to the :dependencies section of your project.clj file:

[io.github.erdos/stencil-core "0.6.6"]

</details> <details> <summary><b>For Clojure with deps.edn</b></summary>

Add io.github.erdos/stencil-core {:mvn/version "0.6.6"}

</details>

😎 License

Copyright (c) Janos Erdos. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 2.0 (https://www.eclipse.org/legal/epl-2.0/) which can be found in the file LICENSE.txt at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

View on GitHub
GitHub Stars130
CategoryDevelopment
Updated29d ago
Forks12

Languages

Clojure

Security Score

100/100

Audited on Feb 27, 2026

No findings