{{- $title := .Site.Title -}} {{- $shortName := .Site.Params.brand | default .Site.Title -}} {{- $description := .Site.Params.description | default "A minimal, dark-mode first personal site" -}} {{- $themeColor := .Site.Params.manifest.themeColor | default "#a855f7" -}} {{- $bgColor := .Site.Params.manifest.backgroundColor | default "#000000" -}} {{- $lang := .Site.Language.Lang | default "en" -}} { "name": "{{ $title }}", "short_name": "{{ $shortName }}", "description": "{{ $description }}", "start_url": "{{ "/" | relURL }}", "scope": "{{ "/" | relURL }}", "display": "standalone", "background_color": "{{ $bgColor }}", "theme_color": "{{ $themeColor }}", "orientation": "portrait-primary", "icons": [ {{- if .Site.Params.manifest.icons }} {{- range $i, $icon := .Site.Params.manifest.icons }} {{- if $i }},{{ end }} { "src": "{{ $icon.src | relURL }}", "sizes": "{{ $icon.sizes }}", "type": "{{ $icon.type | default "image/png" }}" {{- with $icon.purpose }},"purpose": "{{ . }}"{{ end }} } {{- end }} {{- else }} { "src": "/icons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, { "src": "/icons/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }, { "src": "/icons/apple-touch-icon.png", "sizes": "180x180", "type": "image/png" }, { "src": "/icons/favicon-32x32.png", "sizes": "32x32", "type": "image/png" }, { "src": "/icons/favicon-16x16.png", "sizes": "16x16", "type": "image/png" } {{- end }} ], "categories": "{{ .Site.Params.manifest.categories | default (slice "blog" "portfolio" "developer") }}", "lang": "{{ $lang }}", "dir": "ltr" }