Branding polish: Verso favicons, OG image, and meta tag fixes
Build and Deploy Verso / deploy (push) Successful in 10m24s
Replace Overleaf favicons with Verso icon mark across all sizes (16x16, 32x32, 180x180 apple-touch, 192x192/512x512 android-chrome, ICO). Add OG social preview image (1200x630) for Discord/Twitter link cards. - New favicon.svg: Verso icon mark with four overlapping circles and V - mask-favicon.svg: monochrome V polygon (was Overleaf chevron) - og-image.png: 1200x630 social card with icon mark and "Verso" wordmark - web.sitemanifest.json: rename "Overleaf" → "Verso", theme_color updated - _metadata.pug: add og:url tag, fix og:type missing content= attribute, point CE default OG/twitter images to og-image.png instead of apple-touch-icon.png Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@@ -42,9 +42,9 @@ else if settings.overleaf
|
|||||||
meta(itemprop='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
|
meta(itemprop='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
|
||||||
meta(name='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
|
meta(name='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
|
||||||
else
|
else
|
||||||
//- the default image for Overleaf Community Edition/Server Pro
|
//- the default image for Verso Community Edition
|
||||||
meta(itemprop='image' content=buildBaseAssetPath() + 'apple-touch-icon.png')
|
meta(itemprop='image' content=buildBaseAssetPath() + 'og-image.png')
|
||||||
meta(name='image' content=buildBaseAssetPath() + 'apple-touch-icon.png')
|
meta(name='image' content=buildBaseAssetPath() + 'og-image.png')
|
||||||
|
|
||||||
//- Keywords
|
//- Keywords
|
||||||
if metadata && metadata.keywords
|
if metadata && metadata.keywords
|
||||||
@@ -78,14 +78,17 @@ else if settings.overleaf
|
|||||||
content=buildImgPath('ol-brand/overleaf_og_logo.png')
|
content=buildImgPath('ol-brand/overleaf_og_logo.png')
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
//- the default image for Overleaf Community Edition/Server Pro
|
//- the default image for Verso Community Edition
|
||||||
meta(
|
meta(
|
||||||
name='twitter:image'
|
name='twitter:image'
|
||||||
content=buildBaseAssetPath() + 'apple-touch-icon.png'
|
content=buildBaseAssetPath() + 'og-image.png'
|
||||||
)
|
)
|
||||||
|
|
||||||
//- Open Graph
|
//- Open Graph
|
||||||
//- to do - add og:url
|
if metadata && metadata.canonicalURL
|
||||||
|
meta(property='og:url' content=metadata.canonicalURL)
|
||||||
|
else if typeof currentUrl !== 'undefined'
|
||||||
|
meta(property='og:url' content=settings.siteUrl + currentUrl)
|
||||||
if settings.social && settings.social.facebook && settings.social.facebook.appId
|
if settings.social && settings.social.facebook && settings.social.facebook.appId
|
||||||
meta(property='fb:app_id' content=settings.social.facebook.appId)
|
meta(property='fb:app_id' content=settings.social.facebook.appId)
|
||||||
|
|
||||||
@@ -104,14 +107,14 @@ else if settings.overleaf
|
|||||||
content=buildImgPath('ol-brand/overleaf_og_logo.png')
|
content=buildImgPath('ol-brand/overleaf_og_logo.png')
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
//- the default image for Overleaf Community Edition/Server Pro
|
//- the default image for Verso Community Edition
|
||||||
meta(
|
meta(
|
||||||
property='og:image'
|
property='og:image'
|
||||||
content=buildBaseAssetPath() + 'apple-touch-icon.png'
|
content=buildBaseAssetPath() + 'og-image.png'
|
||||||
)
|
)
|
||||||
|
|
||||||
if metadata && metadata.openGraphType
|
if metadata && metadata.openGraphType
|
||||||
meta(property='og:type' metadata.openGraphType)
|
meta(property='og:type' content=metadata.openGraphType)
|
||||||
else
|
else
|
||||||
meta(property='og:type' content='website')
|
meta(property='og:type' content='website')
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 857 B |
@@ -1,14 +1,4 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160">
|
||||||
<defs>
|
<polygon points="18,22 142,22 80,132" fill="black"/>
|
||||||
<clipPath id="c"><circle cx="50" cy="50" r="48"/></clipPath>
|
<polygon points="44,22 116,22 80,120" fill="white"/>
|
||||||
</defs>
|
|
||||||
<g clip-path="url(#c)">
|
|
||||||
<rect x="2" y="2" width="48" height="48" fill="black"/>
|
|
||||||
<rect x="50" y="2" width="48" height="48" fill="black"/>
|
|
||||||
<rect x="2" y="50" width="48" height="48" fill="black"/>
|
|
||||||
<rect x="50" y="50" width="48" height="48" fill="black"/>
|
|
||||||
<polyline points="16,24 50,76 84,24"
|
|
||||||
stroke="white" stroke-width="13" fill="none"
|
|
||||||
stroke-linecap="round" stroke-linejoin="round"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 70 KiB |
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "Overleaf",
|
"name": "Verso",
|
||||||
|
"short_name": "Verso",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/android-chrome-192x192.png",
|
"src": "/android-chrome-192x192.png",
|
||||||
@@ -12,7 +13,7 @@
|
|||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#1b222c",
|
"theme_color": "#0a0a0a",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#0a0a0a",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
|||||||