{"id":32184404,"url":"https://github.com/erdos/stencil","last_synced_at":"2025-10-21T23:47:15.388Z","repository":{"id":37580162,"uuid":"120665087","full_name":"erdos/stencil","owner":"erdos","description":"templating engine for DOCX and PPTX files","archived":false,"fork":false,"pushed_at":"2025-10-07T19:57:24.000Z","size":1577,"stargazers_count":125,"open_issues_count":10,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-21T23:46:53.083Z","etag":null,"topics":["docx","ooxml","ooxml-parser","pptx","template-engine"],"latest_commit_sha":null,"homepage":"https://stencil.erdos.dev","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erdos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-02-07T20:04:10.000Z","updated_at":"2025-10-07T19:57:28.000Z","dependencies_parsed_at":"2024-02-25T10:26:15.580Z","dependency_job_id":"8d14ff9a-2a82-4ee3-9c55-738bb31f6ee4","html_url":"https://github.com/erdos/stencil","commit_stats":{"total_commits":348,"total_committers":7,"mean_commits":"49.714285714285715","dds":"0.15517241379310343","last_synced_commit":"4e29ca34d093734deba234c2f1f2d0d8b615565a"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/erdos/stencil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdos%2Fstencil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdos%2Fstencil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdos%2Fstencil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdos%2Fstencil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erdos","download_url":"https://codeload.github.com/erdos/stencil/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erdos%2Fstencil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280354177,"owners_count":26316400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docx","ooxml","ooxml-parser","pptx","template-engine"],"created_at":"2025-10-21T23:47:14.602Z","updated_at":"2025-10-21T23:47:15.377Z","avatar_url":"https://github.com/erdos.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stencil Template Engine\n\nStencil is an open source templating engine that transforms Office Open XML documents (mostly Microsoft\nOffice's Word `.docx` files) from the JVM. It has a simple syntax and no programming is needed to write document templates.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/erdos/stencil/master/docs/graphics.svg?sanitize=true\" alt=\"stencil flow\"/\u003e\u003c/p\u003e\n\nYou can use either Microsoft Word or LibreOffice to edit the document templates.\nThe template expressions are just simple textual expressions, and you can even colour-code\nthem to make your template more readable.\n\n[![Clojars Project](https://img.shields.io/clojars/v/io.github.erdos/stencil-core.svg)](https://clojars.org/io.github.erdos/stencil-core)\n![CI](https://github.com/erdos/stencil/actions/workflows/flow.yml/badge.svg)\n[![codecov](https://codecov.io/gh/erdos/stencil/branch/master/graph/badge.svg)](https://codecov.io/gh/erdos/stencil)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/erdos/stencil/issues)\n\u003c!-- [![HitCount](http://hits.dwyl.io/erdos/stencil.svg)](http://hits.dwyl.io/erdos/stencil) --\u003e\n[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Ferdos%2Fstencil\u0026count_bg=%239F3DC8\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=hits\u0026edge_flat=false)](https://hits.seeyoufarm.com)\n[![EPL 2.0](https://img.shields.io/badge/License-EPL%202.0-red.svg)](https://www.eclipse.org/legal/epl-2.0/)\n\n\n## Features\n\n- 📄 **Multiple Formats:** Works with `docx` and `pptx` files\n- 💻 **Simple syntax:** For value substitution, conditional and repeating blocks\n- 🔧 **Extendable:** Dozens of [built-in functions](https://stencil.erdos.dev/Functions.html) callable from the template\n- 📰 **Dynamic content:** Substituting HTML text for dynamic text formatting\n- 🌄 **Images and links:** Dynamically replace images and links in the template\n- 👀 **Tables:** Show/hide rows and columns in tables\n- 📐 **Programmable:** Offers API for Java and Clojure. Deployable as a Docker container.\n\n## 📖 Getting Started with the Library\n\n- See the [Example templates](examples)\n- Read the [Documentation](https://stencil.erdos.dev)\n- Reference the [Java API](docs/GettingStarted.md#java-api) and the [Clojure API](docs/GettingStarted.md#clojure-api).\n\n## 🐳 Getting Started with the Service\n\nThe project has a simple [service implementation](https://github.com/erdos/stencil/tree/master/service), which is available on GitHub Packages as a [Container image](https://github.com/users/erdos/packages/container/package/stencil).\n\n\n## 👉 Version\n\n**Latest stable** version is `0.6.6`\n\n**Latest snapshot** version is `0.6.7-SNAPSHOT`\n\nPrevious versions are available on the [Stencil Clojars](https://clojars.org/io.github.erdos/stencil-core) page.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eFor Java with Maven\u003c/b\u003e\u003c/summary\u003e\n\n  If you are using Maven, add the followings to your `pom.xml`:\n\n  1. The dependency:\n\n``` xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.erdos\u003c/groupId\u003e\n  \u003cartifactId\u003estencil-core\u003c/artifactId\u003e\n  \u003cversion\u003e0.6.6\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n2. And the [Clojars](https://clojars.org) repository:\n\n``` xml\n\u003crepository\u003e\n  \u003cid\u003eclojars.org\u003c/id\u003e\n  \u003curl\u003ehttps://repo.clojars.org\u003c/url\u003e\n\u003c/repository\u003e\n```  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eFor Java with Gradle\u003c/b\u003e\u003c/summary\u003e\n\n  Add to the `dependencies` section of your `build.gradle` file: `implementation('io.github.erdos/stencil-core:0.6.6')`\n  \u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eFor Clojure with Leiningen\u003c/b\u003e\u003c/summary\u003e\n\n  If you are using Leiningen, add the following to the `:dependencies` section of your `project.clj` file:\n  \n  `[io.github.erdos/stencil-core \"0.6.6\"]`\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eFor Clojure with deps.edn\u003c/b\u003e\u003c/summary\u003e\n\n  Add `io.github.erdos/stencil-core {:mvn/version \"0.6.6\"}`\n\u003c/details\u003e\n\n\n\n## 😎 License\n\nCopyright (c) Janos Erdos. All rights reserved. The use and distribution terms\nfor this software are covered by the Eclipse Public License 2.0\n(https://www.eclipse.org/legal/epl-2.0/) which can be found in the file\n`LICENSE.txt` at the root of this distribution. By using this software in any\nfashion, you are agreeing to be bound by the terms of this license. You must not\nremove this notice, or any other, from this software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdos%2Fstencil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferdos%2Fstencil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferdos%2Fstencil/lists"}