Markdownify Token Modifier
This module converts HTML field tokens into Markdown format locally on your server. It ensures consistent output, improves performance by avoiding AI API calls, and simplifies the process of preparing HTML content for use with AI tools or other systems.
Introduction
The Markdownify Token Modifier module provides a deterministic, efficient, and abstracted way to convert HTML field tokens into Markdown format.
While Large Language Models (LLMs) can convert HTML to Markdown, doing so via an AI prompt is inherently non-deterministic, introduces API latency, and incurs unnecessary costs. This module solves the problem by providing a local, CPU-bound conversion layer using the established Markdownify ecosystem.
This module was created specifically to address a current limitation affecting AI Automators.
Why use this module?
- Determinism: Unlike LLM-based conversion, this provides consistent output every time.
- Performance: Conversions happen locally on your server, avoiding network round trips to AI providers.
- Abstraction: By leveraging Markdownify's pluggable system, the conversion logic remains opaque to the consumer. You can swap the underlying League converter implementation without changing your tokens or downstream logic.
- Efficiency: There is no need to store intermediate Markdown results in "disposable" fields; the conversion happens in-place during token replacement.
Dependencies
Usage
The module integrates with the Token Modifier system to provide a markdownify modifier.
General Pattern
The syntax follows the standard token modifier format: [token-modifier:markdownify:TARGET_TOKEN]
Example: [token-modifier:markdownify:node:field_content]
Integration with AI Automator
This module is particularly useful when preparing data for the AI Automator within the Drupal AI suite:
- Navigate to the AI Automator configuration for your desired field.
- Set Automator Input Mode to
Advanced Mode (Token). - In the Automator Prompt (Token) field, identify the token you wish to convert (e.g.,
[node:body]). - Wrap the token with the modifier:
[token-modifier:markdownify:node:body] - The AI will now receive a clean, structured Markdown version of your HTML content, reducing token usage and improving prompt clarity.