# Tutorials

Practical guides covering documentation tooling, single-source automation, structured authoring, and multi-format publishing workflows.

> **Note**
>
> These tutorials cover specialist or historical implementation techniques — Jinja, Python, sed, Sphinx/ReST, XSL-FO, and the Raspberry Pi. They are not recommended defaults for new documentation projects; for current practice, see [adopt docs-as-code](https://docs.redaction-technique.org/en/docs-as-code/) and [choose an authoring model](https://docs.redaction-technique.org/en/tools-and-formats/).

## Structured authoring and single-sourcing

Techniques for filtering, profiling, and transforming source documents across multiple deliverables.

  - [**DITA XML and XSL-FO tutorials**](https://docs.redaction-technique.org/en/tutorials/dita-xml-xsl-fo-tutorials/): Step-by-step tutorials for authoring in DITA XML and generating PDF output with XSL-FO style sheets.
  - [**Create different documents from the same sources via Jinja (object method)**](https://docs.redaction-technique.org/en/tutorials/conditional-text-jinja-object-method/): Define audience, platform, and version as Python objects, then let Jinja filter your content at build time - cleaner than string-based flags.
  - [**Create different documents from the same sources using Jinja**](https://docs.redaction-technique.org/en/tutorials/conditional-text-jinja/): A Python preprocessing script that uses Jinja templates to include or strip content sections before passing sources to your doc generator.
  - [**Create different documents from the same ReST sources (conditional text)**](https://docs.redaction-technique.org/en/tutorials/conditional-text-sphinx-rest/): Generate document variants from the same ReST sources with Sphinx conditional text.

## Content automation and data integration

Techniques for querying databases and injecting dynamic product data directly into documentation at build time.

  - [**Auto-insert data into a DITA XML file**](https://docs.redaction-technique.org/en/tutorials/auto-insert-data-dita-xml/): Automate DITA XML file generation with Python: dynamically insert product data into DITA topics to industrialize technical documentation.
  - [**Automatically insert data into a reStructuredText file**](https://docs.redaction-technique.org/en/tutorials/auto-insert-data-restructuredtext/): Template a reStructuredText file so Python fills in product names and versions at build time - no manual updates per release.
  - [**Automatically insert SQL data into a reStructuredText file**](https://docs.redaction-technique.org/en/tutorials/auto-insert-sql-data-restructuredtext/): Query a product database and render the results directly into a reStructuredText file - keep docs in sync with the source of truth.

## Text processing and platform tooling

Command-line text manipulation, batch refactoring, and lightweight infrastructure for documentation pipelines.

  - [**sed: modify your text without opening your files**](https://docs.redaction-technique.org/en/tutorials/sed-text-editing/): Run targeted find-and-replace across hundreds of documentation files in one command - how sed handles batch text changes without opening a single file.
  - [**Regular expressions in Python**](https://docs.redaction-technique.org/en/tutorials/python-regular-expressions/): Python
  - [**The Raspberry Pi 3 as a documentation platform**](https://docs.redaction-technique.org/en/tutorials/raspberry-pi-documentation-platform/): With its modest resources, a Raspberry Pi 3 is all you need to create, manage and generate documentation in PDF, HTML or EPUB format.
  - [**Managing a project from start to finish**](https://docs.redaction-technique.org/en/tutorials/project-end-to-end/): A non-profit

---

Source: https://docs.redaction-technique.org/en/tutorials/
