[GH-1496] Fix website favicon checker issues#2771
Open
piyushka-ally wants to merge 4 commits intoapache:masterfrom
Open
[GH-1496] Fix website favicon checker issues#2771piyushka-ally wants to merge 4 commits intoapache:masterfrom
piyushka-ally wants to merge 4 commits intoapache:masterfrom
Conversation
Add all favicon assets required by Real Favicon Generator and modern browsers, fixing the validation failures reported in apacheGH-1496. Changes: - Add scripts/generate_favicons.py to generate all favicon assets from docs/image/sedona_logo_symbol.png using Pillow; includes a generate_safari_pinned_tab_svg() that traces the logo alpha channel into a monochrome SVG suitable for Safari mask-icon - Add Makefile `genfavicons` target (depends on docsinstall) and add pillow to the docs dependency group so the script is self-contained - Generate and commit all favicon assets to docs/: favicon.ico (16x16, 32x32, 48x48), favicon-16x16.png, favicon-32x32.png, apple-touch-icon.png (180x180), mstile-150x150.png, android-chrome-192x192.png, android-chrome-512x512.png, safari-pinned-tab.svg, site.webmanifest, browserconfig.xml - Update docs-overrides/main.html extrahead block with apple-touch-icon, favicon PNG sizes, web manifest, mask-icon, msapplication, and theme-color meta tags using MkDocs `| url` filter for correct relative paths under mike versioning - Change mkdocs.yml favicon to favicon.ico Co-authored-by: Isaac
jbampton
reviewed
Mar 20, 2026
Looks good Co-authored-by: John Bampton <jbampton@users.noreply.github.com>
jbampton
reviewed
Mar 20, 2026
Member
jbampton
left a comment
There was a problem hiding this comment.
I think we should store all the small files except the favicon.ico that you have in the docs directory in a separate sub folder.
To ensure maximum compatibility, especially with older browsers the favicon.ico should be in the root so that seems correct
Keep favicon.ico at the docs root for maximum browser compatibility (browsers request /favicon.ico automatically). All other assets — PNGs, SVG, site.webmanifest, and browserconfig.xml — are moved to docs/favicons/ to avoid cluttering the docs root. Update docs-overrides/main.html and scripts/generate_favicons.py to reflect the new paths. Co-authored-by: Isaac
Author
|
I have made the requested change. Please review and approve. Thanks. |
Run oxipng --fix -o 4 --strip safe --alpha on all favicon PNGs to pass the pre-commit oxipng manual hook. Sizes reduced 6–33%. Co-authored-by: Isaac
Author
|
Looks like all checks have passed, can you please check and approve. Thanks. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Did you read the Contributor Guide?
Is this PR related to a ticket?
[GH-XXX] my subject. Closes Sedona website favicon checker issues and missing files #1496What changes were proposed in this PR?
The Sedona documentation website failed basic favicon validation (e.g. Real Favicon Generator checker) because it only had a single PNG favicon with no supporting assets or HTML meta tags.
This PR adds all assets and tags required by modern browsers, iOS, Android, Windows, and Safari:
scripts/generate_favicons.py— new script that generates all favicon assets fromdocs/image/sedona_logo_symbol.pngusing Pillow. Includes alpha-channel tracing to produce a monochrome SVG for Safari pinned tabs.Makefile— newgenfaviconstarget;pillowadded to thedocsdependency group inpyproject.toml.docs/:favicon.ico(16×16, 32×32, 48×48),favicon-16x16.png,favicon-32x32.png,apple-touch-icon.png(180×180),mstile-150x150.png,android-chrome-192x192.png,android-chrome-512x512.png,safari-pinned-tab.svg,site.webmanifest,browserconfig.xml.docs-overrides/main.html— adds<link>and<meta>tags for apple-touch-icon, PNG favicon sizes, web manifest, Safari mask-icon, msapplication tile, and theme-color. Uses the MkDocs| urlfilter for correct relative paths under mike versioning.mkdocs.yml— changesfavicon:to point tofavicon.ico.To regenerate assets after a logo change:
make genfavicons, then commit the output.How was this patch tested?
safari-pinned-tab.svgis valid XML withviewBox="0 0 100 100"and monochromefill="#000000".site.webmanifestis valid JSON with relative icon paths (compatible with mike versioning).browserconfig.xmlis valid XML.extraheadblock.Did this PR include necessary documentation updates?