BeaconCMS / BeaconCMS/beacon_live_admin

Webfiles and Metatags: Upload and serve app icons

Open
#37 0 comments 0 reactions 0 assignees View on GitHub
area:seo enhancement roadmap
Dominant language
JavaScript
Stars
73
Forks
35
PR merge metrics
No merged PRs in 30d

Description

Managing app icons may be complex and time consuming for end users. We want to 1) have a page on beacon admin to upload icons, and 2) generate the html tags for displaying such icons.

## upload icons on beacon admin

Ideally users would upload a high-res .svg file that beacon can convert to:

- 1 favicon.ico with 2 layers 32x32 and 16x16
- apple-touch-icon.png size 180x180
- icon-192.png size 192x192
- icon-512.png size 512x512
- optimized icon.svg

We may allow users uploading individual files, either to overwrite the generated one or because users may not have the high-res .svg file.

## display icons

The expected tags are:

```html

```

Note that `{site_prefix}` has to be replaced with `router(conn).__beacon_site_prefix__(site)`, see `asset_path/2` for example.

### Refs

Read https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs for the full explanation.

Extra:
- https://web.dev/building-an-adaptive-favicon/
- https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing router(conn).__beacon_site_prefix__(site) and the asset_path/2 example to understand how site assets are served. Then map the Beacon admin upload flow and icon generation needs. Done means admins can manage the requested icon assets and generated pages emit the specified link tags with the correct site prefix.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir, html
Domain
full-stack, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.