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
| File | Source | Use |
|---|---|---|
static/img/logo.png | copy of shell18/static/description/icon.png | Navbar logo |
static/img/favicon.png | same | Browser tab favicon |
static/img/apple-touch-icon.png | same | iOS 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:
- Add a master
static/img/logo.svg(vector source) - Port
render_logo.pyto this repo - Update
docusaurus.config.tsfaviconand theheadTagsto 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.pngwith a non-square image — Odoo's apps grid expects a square (240×240 ideal)