Skip to content

Add favicon fallback for browser compatibility#12

Merged
kjanat merged 7 commits intomasterfrom
claude/add-favicon-fallback-qUaBc
Jan 16, 2026
Merged

Add favicon fallback for browser compatibility#12
kjanat merged 7 commits intomasterfrom
claude/add-favicon-fallback-qUaBc

Conversation

@kjanat
Copy link
Owner

@kjanat kjanat commented Jan 11, 2026

Chores

  • Implemented automated favicon generation workflow that updates favicon when the application icon changes, supporting multiple resolutions.
  • Integrated favicon link into the site template for consistent display across browsers and devices.

Summary by CodeRabbit

  • Chores
    • Implemented automated favicon generation and deployment workflow.
    • Updated site template to properly display favicon across all pages.

✏️ Tip: You can customize this high-level summary in your review settings.

- Convert SVG favicon to multi-size ICO (16-256px) using ImageMagick
- Place favicon.ico in docs root for automatic browser discovery
- Add main.html override to include ICO link in HTML head
@kjanat kjanat self-assigned this Jan 11, 2026
@kjanat kjanat added documentation Improvements or additions to documentation chore Maintenance tasks and housekeeping labels Jan 11, 2026
Automatically converts logo/icon.svg to multi-size ICO format
when the source SVG is updated on main/master branch.
@kjanat kjanat marked this pull request as ready for review January 11, 2026 18:35
Copilot AI review requested due to automatic review settings January 11, 2026 18:35
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 11, 2026

Note

Reviews paused

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Adds an automated GitHub Actions workflow that converts logo/icon.svg to a multi-size favicon.ico, conditionally opens a pull request with the regenerated files, and a template override that injects a favicon link into the site HTML head.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
​.github/workflows/favicon.yml
New workflow "Update Favicon": triggers on logo/icon.svg changes and manual dispatch; runs on ubuntu-latest, installs ImageMagick, converts logo/icon.svg to multi-size docs/assets/images/favicon.ico and docs/favicon.ico, diffs results, and opens a PR with peter-evans/create-pull-request@v8 if files changed.
Template Override
site/overrides/main.html
New template override extending base.html that inserts a <link rel="icon" href="{{ url('favicon.ico') }}"> (via extrahead block) to reference the generated favicon.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Trigger as "Push / workflow_dispatch"
  participant Actions as "GitHub Actions"
  participant Runner as "Ubuntu Runner"
  participant IM as "ImageMagick"
  participant Repo as "Repository"
  participant PRAction as "create-pull-request Action"

  Trigger->>Actions: workflow starts
  Actions->>Runner: run update-favicon job
  Runner->>Repo: checkout repository
  Runner->>IM: convert `logo/icon.svg` -> multi-size `favicon.ico` files
  IM-->>Runner: generated `docs/assets/images/favicon.ico`, `docs/favicon.ico`
  Runner->>Runner: diff generated files vs repo files
  alt changes detected
    Runner->>PRAction: create branch, commit updated favicon files
    PRAction->>Repo: push branch and open pull request
  else no changes
    Runner-->>Actions: exit without PR
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title mentions 'favicon fallback for browser compatibility', but the PR primarily implements automated favicon generation and template integration—broader than just adding fallback support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch claude/add-favicon-fallback-qUaBc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

This comment was marked as duplicate.

coderabbitai[bot]

This comment was marked as resolved.

- git diff --quiet doesn't detect untracked files after fresh convert
- git status --porcelain detects both new and modified files
- mkdir -p ensures directory exists on fresh clone
- Respects branch protection rules
- Creates visible PR for review
- Adds chore and area: ci/cd labels
- Uses signed commits
@kjanat kjanat added the area: ci/cd Related to CI/CD workflows label Jan 16, 2026
coderabbitai[bot]

This comment was marked as resolved.

- Ubuntu's imagemagick package provides IM6 with convert, not IM7 magick
- Also adds wip label and coderabbit config updates
@kjanat

This comment was marked as off-topic.

Signed-off-by: Kaj Kowalski <info@kajkowalski.nl>
@coderabbitai

This comment was marked as off-topic.

@kjanat kjanat merged commit e67288e into master Jan 16, 2026
5 checks passed
@kjanat kjanat deleted the claude/add-favicon-fallback-qUaBc branch January 16, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci/cd Related to CI/CD workflows chore Maintenance tasks and housekeeping documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments