Search by

normann / silverstripe-favicon-manager

normann

Manage favicon and web app manifest files on SiteConfig from a single uploaded generator ZIP.

Package info

github.com/normann/silverstripe-favicon-manager

Type:silverstripe-vendormodule

pkg:composer/normann/silverstripe-favicon-manager

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.0 2026-09-13 11:00 UTC

This package is auto-updated.

Last update: 2026-09-13 11:01:04 UTC


README

CI Latest Stable Version License

Upload the ZIP produced by a favicon generator (such as realfavicongenerator.net) once, in Settings, and this module extracts, stores, and versions every favicon and manifest file it contains — no manual uploads, no hand-editing manifest.json paths.

Requirements

This module SilverStripe framework PHP
^1.0 ^5.0 ^8.1

Optional: with silverstripe/subsites installed, favicon files are automatically namespaced per-subsite — no config needed.

Installation

composer require normann/silverstripe-favicon-manager
vendor/bin/sake dev/build flush=1

Usage

  1. Go to Settings → Favicon in the CMS.
  2. Generate a favicon package at realfavicongenerator.net (leave any "path relative to webroot" field blank).
  3. Upload the ZIP via Favicon ZIP file and save.

All icon files plus the manifest are extracted, stored under /assets/favicons/site<ID>/, and versioned like any other SilverStripe asset. Re-uploading a new ZIP always replaces the complete previous set.

Screenshots

What visitors see

Browser tabs iOS home screen Android manifest
Browser tabs iOS home screen Android manifest

What the CMS user sees — Settings → Favicon, after uploading a ZIP from realfavicongenerator.net:

CMS favicon settings

Rendering in your template

<% include Favicons %>

Configuration (Optional)

SilverStripe\SiteConfig\SiteConfig:
  icons_folder_name: 'my-favicons'
  archives_folder_name: 'zip-archives'

Tests

vendor/bin/phpunit

See CHANGELOG.md for release history — this module follows Semantic Versioning.

License

BSD-3-Clause. See LICENSE.