kogral/templates/pattern.md.tera

120 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

2026-01-23 16:12:50 +00:00
---
id: {{ id }}
type: pattern
title: {{ title }}
created: {{ created }}
modified: {{ modified }}
tags: [{% for tag in tags %}"{{ tag }}"{% if not loop.last %}, {% endif %}{% endfor %}]
status: {{ status | default(value="active") }}
{% if relates_to and relates_to | length > 0 -%}
relates_to:
{% for rel in relates_to %} - {{ rel }}
{% endfor %}
{%- endif %}
{% if depends_on and depends_on | length > 0 -%}
depends_on:
{% for dep in depends_on %} - {{ dep }}
{% endfor %}
{%- endif %}
{% if project -%}
project: {{ project }}
{% endif -%}
problem: |
{{ problem | default(value="") | indent(width=2) }}
solution: |
{{ solution | default(value="") | indent(width=2) }}
{% if forces and forces | length > 0 -%}
forces:
{% for force in forces %} - {{ force }}
{% endfor %}
{%- endif %}
---
# {{ title }}
## Problem
{{ problem | default(value="TODO: Describe the problem this pattern solves") }}
## Context
{{ context | default(value="TODO: Describe when this pattern should be used") }}
{% if forces and forces | length > 0 %}
## Forces
{% for force in forces %}
- {{ force }}
{% endfor %}
{% endif %}
## Solution
{{ solution | default(value="TODO: Describe the solution/implementation") }}
{% if structure %}
## Structure
{{ structure }}
{% endif %}
{% if implementation and implementation | length > 0 %}
## Implementation
{% for step in implementation %}
{{ loop.index }}. **{{ step.title }}**
{{ step.description }}
{% if step.code %}
```{{ step.language | default(value="") }}
{{ step.code }}
```
{% endif %}
{% endfor %}
{% endif %}
{% if examples and examples | length > 0 %}
## Examples
{% for example in examples %}
### {{ example.title }}
{{ example.description }}
{% if example.code %}
```{{ example.language | default(value="") }}
{{ example.code }}
```
{% endif %}
{% endfor %}
{% endif %}
{% if consequences and consequences | length > 0 %}
## Consequences
### Benefits
{% for benefit in consequences.benefits %}
- {{ benefit }}
{% endfor %}
### Drawbacks
{% for drawback in consequences.drawbacks %}
- {{ drawback }}
{% endfor %}
{% endif %}
{% if related_patterns and related_patterns | length > 0 %}
## Related Patterns
{% for pattern in related_patterns %}
- [[{{ pattern }}]]
{% endfor %}
{% endif %}
{% if references and references | length > 0 %}
## References
{% for ref in references %}
- {{ ref }}
{% endfor %}
{% endif %}