120 lines
2.3 KiB
Plaintext
120 lines
2.3 KiB
Plaintext
---
|
|
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 %}
|