lerni/silverstripe-webmanifest

webmanifest for Silverstripe per YML and/or SiteConfig

Installs: 2 589

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 4

Forks: 0

Open Issues: 0

Type:silverstripe-vendormodule

dev-master 2024-02-28 20:04 UTC

This package is auto-updated.

Last update: 2024-03-28 20:19:43 UTC


README

This module provides site.webmanifest for Silverstripe. Values are configurable via YAML or within SiteConfig in the CMS. YAML configuration (static) and values from SiteConfig (dynamic CMS) can be combined.

Installation

Composer is the recommended way of installing Silverstripe modules.

composer require lerni/silverstripe-webmanifest

Requirements

  • silverstripe/framework ^4 || ^5
  • silverstripe/siteconfig ^4 || ^5

Suggested

  • jonom/silverstripe-text-target-length ^2
  • tractorcow/silverstripe-colorpicker ^4

Configuration

You can set via yml-config what's in the manifest's json. With 'SiteConfig' as value, properties are editable per SiteConfig in CMS (dev/build needed). Alternatively, they can be set to other SiteConfig values like 'SiteConfig.Title'. If lang isn't specifically set, i18n::get_locale() will be used. With the default config (below), name is set to the value from SiteConfig.Title, for short_name a field is automatically added to SiteConfig. Further webmanifest values can be added as strings or arrays. See the full list of settings W3C. If Page (CMS-Module) exists, the manifest will be linked with a header-tag (<link rel="manifest" href="/site.webmanifest">) and also theme-color (<link rel="manifest" href="/site.webmanifest">) will be set if it has a value.

Kraftausdruck\Webmanifest\Webmanifest:
  tab: 'Root.Webmanifest'
  fields:
    name: 'SiteConfig.Title' # max. 30 characters
    short_name: 'SiteConfig' # max. 12 characters
    description: 'SiteConfig.Tagline' # max. 132 characters
    start_url: '/'
    background_color: '#ffffff'
    theme_color: '#ffffff'
    icons:
      - src: '/icon-192.png'
        sizes: '192x192'
        type: 'image/png'
      - src: '/icon-512.png'
        sizes: '512x512'
        type: 'image/png'