# pptx-automizer > A template-based .pptx generator for Node.js. The links below point to the Markdown twin of each documentation page; every HTML page under https://singerla.github.io/pptx-automizer/ is also served as Markdown at the same URL plus `.md`. ## Documentation - [Introduction](https://singerla.github.io/pptx-automizer/index.md): What pptx-automizer is — a template-based .pptx generator for Node.js that modifies existing PowerPoint templates instead of building slides from scratch. - [Getting started](https://singerla.github.io/pptx-automizer/getting-started.md): Install pptx-automizer and build your first presentation. - [Concepts](https://singerla.github.io/pptx-automizer/concepts.md): The mental model behind pptx-automizer — deferred execution, the template/root model, numbering, and the one-instance rule. - [Selecting slides and shapes](https://singerla.github.io/pptx-automizer/selectors.md): Address slides by number or creationId, and shapes by name, nameIdx or creationId. - [Modify Text](https://singerla.github.io/pptx-automizer/text.md): Set, replace and style text — plain, tagged, MultiText paragraphs, or converted from HTML. - [Modify Tables](https://singerla.github.io/pptx-automizer/tables.md): Fill, expand and style PowerPoint tables with setTable and the table helpers. - [Modify Charts](https://singerla.github.io/pptx-automizer/charts.md): Inject chart data, fine-tune axes, legends and labels, handle extended chart types, and read chart data back. - [Modify Images](https://singerla.github.io/pptx-automizer/images.md): Import external media, swap image sources, auto-crop to cover, and apply duotone overlays. - [Slide Masters and Layouts](https://singerla.github.io/pptx-automizer/masters-layouts.md): Import slide masters with their layouts, modify master shapes, and switch layouts on output slides. - [Generate shapes with PptxGenJS](https://singerla.github.io/pptx-automizer/generation.md): Create text, charts, images, tables and hyperlinked shapes from scratch via the PptxGenJS wrapper. - [Hyperlink Management](https://singerla.github.io/pptx-automizer/hyperlinks.md): Add, update and remove external or internal hyperlinks on existing shapes. - [Slide Management](https://singerla.github.io/pptx-automizer/slide-management.md): Remove elements, sort output slides, loop through all slides of a presentation, and read slide numbers. - [Helper Utilities](https://singerla.github.io/pptx-automizer/helpers.md): Shape, cleanup, unit-conversion, generic and advanced XML helpers exposed by pptx-automizer. - [Output](https://singerla.github.io/pptx-automizer/output.md): Write a file, stream the archive, or access the underlying JSZip; track status and control cleanup. - [Requirements and Limitations](https://singerla.github.io/pptx-automizer/limitations.md): What pptx-automizer can and cannot do — environment, shape and chart types, animations, PowerPoint version. - [Troubleshooting](https://singerla.github.io/pptx-automizer/troubleshooting.md): What to check when PowerPoint shows the repair prompt, and how to run the test suite. - [Testing and Validation Tools](https://singerla.github.io/pptx-automizer/testing.md): The test suite, the Docker-based OOXML schema validator (validate:pptx), and visual regression via pptx-thumbnailer. ## API reference - [API index](https://singerla.github.io/pptx-automizer/api.md): generated API reference (typedoc); every api/ page has a Markdown twin at its URL plus `.md` ## Optional - [llms-full.txt](https://singerla.github.io/pptx-automizer/llms-full.txt): all documentation pages concatenated into one file - [AI-INSTRUCTOR.md](https://raw.githubusercontent.com/singerla/pptx-automizer/main/AI-INSTRUCTOR.md): compact instructions for AI assistants writing code with pptx-automizer (also shipped in the npm package)