mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
The applications menu and the platform/company header interpolated operator and role free text as plain YAML scalars, so any description containing a colon-space broke the rendered config at the from_yaml parse in the branding-asset task; moodle variant 0 hit it as the only deploy combining an active dashboard with web-app-lam, whose description carries 'directories: managing'. All name, description, icon, url and title fields now render through to_json, which yields quoted scalars for arbitrary text, matching what to_nice_yaml already did for the cards block. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.4 KiB
Django/Jinja
52 lines
1.4 KiB
Django/Jinja
applications:
|
|
{% if (portfolio_menu_data.categorized is mapping and portfolio_menu_data.categorized | length > 0)
|
|
or (portfolio_menu_data.uncategorized is sequence and portfolio_menu_data.uncategorized | length > 0) %}
|
|
|
|
- name: Apps
|
|
description: Browse, configure and launch all available applications
|
|
icon:
|
|
class: fa fa-th-large
|
|
children:
|
|
|
|
{% for category, apps in portfolio_menu_data.categorized.items() %}
|
|
|
|
- name: {{ category | to_json }}
|
|
description: {{ portfolio_menu_categories[category].description | to_json }}
|
|
icon:
|
|
class: {{ portfolio_menu_categories[category].icon | to_json }}
|
|
children:
|
|
|
|
{% for app in apps %}
|
|
|
|
- name: {{ app.title | to_json }}
|
|
description: {{ app.text | to_json }}
|
|
icon: {{ app.icon | to_json }}
|
|
url: {{ app.url | to_json }}
|
|
iframe: {{ app.iframe }}
|
|
|
|
{% endfor %}
|
|
|
|
{% endfor %}
|
|
|
|
{% if portfolio_menu_data.uncategorized %}
|
|
|
|
- name: Uncategorized
|
|
description: Tools without a defined category
|
|
icon:
|
|
class: fa-solid fa-question
|
|
children:
|
|
|
|
{% for app in portfolio_menu_data.uncategorized %}
|
|
|
|
- name: {{ app.title | to_json }}
|
|
description: {{ app.text | to_json }}
|
|
icon: {{ app.icon | to_json }}
|
|
url: {{ app.url | to_json }}
|
|
iframe: {{ app.iframe }}
|
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|