markdownify_token_modifier
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.