Skip to main content

Branding & Logo Assets

The Panville docs site uses the same icon as the shell18 Odoo module — static/description/icon.png. The asset is mirrored into shell18-docs/static/img/ so Docusaurus can serve it.

Files

FileSourceUse
static/img/logo.pngcopy of shell18/static/description/icon.pngNavbar logo
static/img/favicon.pngsameBrowser tab favicon
static/img/apple-touch-icon.pngsameiOS home-screen icon

Refreshing the assets after a logo change

If you swap shell18/static/description/icon.png with a new design, re-copy it to the docs site:

cd /Users/jsalinga/odoo/odoo18/custom/shell18

cp shell18/static/description/icon.png shell18-docs/static/img/logo.png
cp shell18/static/description/icon.png shell18-docs/static/img/favicon.png
cp shell18/static/description/icon.png shell18-docs/static/img/apple-touch-icon.png

Then rebuild and redeploy:

cd shell18-docs
./scripts/deploy.sh

Promoting to multi-resolution favicons

The current setup uses a single PNG for every favicon size. For sharper rendering at small sizes (16×16, 32×32), generate proper multi-resolution .ico and sized PNGs from a master SVG.

YGC17's reference implementation (/Users/jsalinga/odoo/odoo17/custom/ygc17/ygc17-docs/scripts/render_logo.py) renders an SVG master into multiple PNG sizes plus a multi-resolution favicon.ico. To adopt:

  1. Add a master static/img/logo.svg (vector source)
  2. Port render_logo.py to this repo
  3. Update docusaurus.config.ts favicon and the headTags to reference the generated files

Until then the single-PNG approach is fine for general browser use.

Don't

  • Don't recolor the icon arbitrarily — keep visual consistency between the Odoo module list and the docs site
  • Don't replace static/description/icon.png with a non-square image — Odoo's apps grid expects a square (240×240 ideal)