footer: children: - link: accounts {% 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: Solution Hub description: Curated collection of self hosted tools icon: class: fa-solid fa-network-wired children: {# Render all categories #} {% for category, apps in portfolio_menu_data.categorized.items() %} - name: {{ category }} description: {{ portfolio_menu_categories[category].description }} icon: class: {{ portfolio_menu_categories[category].icon }} children: {% for app in apps %} - name: {{ app.title }} description: {{ app.text }} icon: {{ app.icon }} url: {{ app.url }} iframe: {{ app.iframe }} {% if app.title == 'Keycloak' %} children: - name: Administration description: Access the central admin console icon: class: fa-solid fa-shield-halved url: https://{{domains.keycloak}}/admin iframe: {{ applications | get_features_iframe('keycloak') }} - name: Profile description: Update your personal admin settings icon: class: fa-solid fa-user-gear url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/account iframe: {{ applications | get_features_iframe('keycloak') }} - name: Logout description: End your admin session securely icon: class: fa-solid fa-right-from-bracket url: https://{{ domains.keycloak }}/realms/{{oidc.client.id}}/protocol/openid-connect/logout iframe: false {% endif %} {% endfor %} {% endfor %} {# Render Uncategorized #} {% 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 }} description: {{ app.text }} icon: {{ app.icon }} url: {{ app.url }} iframe: {{ app.iframe }} {% endfor %} {% endif %} {% endif %} - name: Support Us description: "Discover all the ways you can support our work." icon: class: fa-solid fa-hands-helping children: - name: Buy me a Coffee description: "Support our work with a coffee – every cup helps!" icon: class: fa-solid fa-mug-hot url: https://s.veen.world/buymeacoffee - name: Patreon description: "Become a member and support me monthly with exclusive content." icon: class: fa-brands fa-patreon url: https://s.veen.world/patreon - name: PayPal description: "Donate to our open source projects with a one-time or monthly PayPal contribution." icon: class: fa-brands fa-paypal url: https://s.veen.world/paypaldonate - name: GitHub Sponsors description: "Directly support our projects through GitHub Sponsors." icon: class: fa-brands fa-github url: https://s.veen.world/githubsponsors {% if "sphinx" in group_names %} - name: Documentation description: Access our comprehensive documentation and support resources to help you get the most out of the software. icon: class: fas fa-book url: https://{{domains.sphinx}} iframe: {{ applications | get_features_iframe('sphinx') }} {% endif %} {% if "presentation" in group_names %} - name: Slides description: Checkout the presentation icon: class: "fas fa-chalkboard-teacher" url: https://{{domains.presentation}} iframe: {{ applications | get_features_iframe('presentation') }} {% endif %} - name: Imprint description: Check out the imprint information icon: class: fa-solid fa-scale-balanced url: "{{service_provider.legal.imprint}}" iframe: true