YAML Blocks¶
Fenced YAML¶
Extract YAML from a fenced code block:
from pydantic import BaseModel
from md2pydantic import MDConverter
class ServerConfig(BaseModel):
host: str
port: int
debug: bool
markdown = '''Here is your config:
```yaml
host: api.example.com
port: 443
debug: false
```
'''
config = MDConverter(ServerConfig).parse_yaml(markdown)
# ServerConfig(host='api.example.com', port=443, debug=False)
Warning
YAML support requires pyyaml. Install it with:
An ExtractionError is raised at parse time if pyyaml
is not installed.
Note
parse_yaml returns a single model instance. It
tries each YAML block in document order and returns the
first one that validates.
Inline YAML¶
Inline (unfenced) YAML is not supported. Only fenced
```yaml blocks are detected.