| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- //- Title
- if metadata && metadata.title
- title(translate='no')= metadata.title + ' - ' + settings.appName + ', ' + translate('online_latex_editor')
- meta(name='twitter:title' content=metadata.title)
- meta(name='og:title' content=metadata.title)
- else if typeof title == 'undefined'
- title(translate='no')= settings.appName + ', ' + translate('online_latex_editor')
- meta(
- name='twitter:title'
- content=settings.appName + ', ' + translate('online_latex_editor')
- )
- meta(
- name='og:title'
- content=settings.appName + ', ' + translate('online_latex_editor')
- )
- else
- title(translate='no')= translate(title) + ' - ' + settings.appName + ', ' + translate('online_latex_editor')
- //- to do - not translate?
- meta(name='twitter:title' content=translate(title))
- meta(name='og:title' content=translate(title))
- //- Description
- if metadata && metadata.description
- meta(name='description' content=metadata.description)
- meta(itemprop='description' content=metadata.description)
- //-twitter and og descriptions handeled in their sections below
- else
- meta(name='description' content=translate('site_description'))
- meta(itemprop='description' content=translate('site_description'))
- //- Image
- if metadata && metadata.image && metadata.image.fields
- //- from the CMS
- meta(itemprop='image' content=metadata.image.fields.file.url)
- meta(name='image' content=metadata.image.fields.file.url)
- else if metadata && metadata.image_src
- //- pages with custom metadata images, metadata.image_src is the full image URL
- meta(itemprop='image' content=metadata.image_src)
- meta(name='image' content=metadata.image_src)
- else if settings.overleaf
- //- the default image for Overleaf
- meta(itemprop='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
- meta(name='image' content=buildImgPath('ol-brand/overleaf_og_logo.png'))
- else
- //- the default image for Overleaf Community Edition/Server Pro
- meta(itemprop='image' content=buildBaseAssetPath() + 'apple-touch-icon.png')
- meta(name='image' content=buildBaseAssetPath() + 'apple-touch-icon.png')
- //- Keywords
- if metadata && metadata.keywords
- meta(name='keywords' content=metadata.keywords)
- //- Misc
- meta(itemprop='name' content=settings.appName + ', the Online LaTeX Editor')
- if metadata && metadata.robotsNoindexNofollow
- meta(name='robots' content='noindex, nofollow')
- //- Twitter
- meta(
- name='twitter:card'
- content=metadata && metadata.twitterCardType ? metadata.twitterCardType : 'summary'
- )
- if settings.social && settings.social.twitter && settings.social.twitter.handle
- meta(name='twitter:site' content='@' + settings.social.twitter.handle)
- if metadata && metadata.twitterDescription
- meta(name='twitter:description' content=metadata.twitterDescription)
- else
- meta(name='twitter:description' content=translate('site_description'))
- if metadata && metadata.twitterImage && metadata.twitterImage.fields
- //- from the CMS
- meta(name='twitter:image' content=metadata.twitterImage.fields.file.url)
- meta(name='twitter:image:alt' content=metadata.twitterImage.fields.title)
- else if settings.overleaf
- //- the default image for Overleaf
- meta(
- name='twitter:image'
- content=buildImgPath('ol-brand/overleaf_og_logo.png')
- )
- else
- //- the default image for Overleaf Community Edition/Server Pro
- meta(
- name='twitter:image'
- content=buildBaseAssetPath() + 'apple-touch-icon.png'
- )
- //- Open Graph
- //- to do - add og:url
- if settings.social && settings.social.facebook && settings.social.facebook.appId
- meta(property='fb:app_id' content=settings.social.facebook.appId)
- if metadata && metadata.openGraphDescription
- meta(property='og:description' content=metadata.openGraphDescription)
- else
- meta(property='og:description' content=translate('site_description'))
- if metadata && metadata.openGraphImage && metadata.openGraphImage.fields
- //- from the CMS
- meta(property='og:image' content=metadata.openGraphImage.fields.file.url)
- else if settings.overleaf
- //- the default image for Overleaf
- meta(
- property='og:image'
- content=buildImgPath('ol-brand/overleaf_og_logo.png')
- )
- else
- //- the default image for Overleaf Community Edition/Server Pro
- meta(
- property='og:image'
- content=buildBaseAssetPath() + 'apple-touch-icon.png'
- )
- if metadata && metadata.openGraphType
- meta(property='og:type' metadata.openGraphType)
- else
- meta(property='og:type' content='website')
- if metadata && metadata.openGraphVideo
- //- from the CMS
- meta(property='og:video' content=metadata.openGraphVideo)
- //- Viewport
- if !metadata || metadata.viewport !== false
- meta(
- name='viewport'
- content='width=device-width, initial-scale=1.0, user-scalable=yes'
- )
- //- Noindex
- if settings.robotsNoindex
- meta(name='robots' content='noindex')
- //- Icons
- link(rel='icon' sizes='32x32' href=buildBaseAssetPath() + 'favicon-32x32.png')
- link(rel='icon' sizes='16x16' href=buildBaseAssetPath() + 'favicon-16x16.png')
- link(rel='icon' href=buildBaseAssetPath() + 'favicon.svg' type='image/svg+xml')
- link(rel='apple-touch-icon' href=buildBaseAssetPath() + 'apple-touch-icon.png')
- link(
- rel='mask-icon'
- href=buildBaseAssetPath() + 'mask-favicon.svg'
- color='#046530'
- )
- //- Canonical Tag for SEO
- if metadata && metadata.canonicalURL
- link(rel='canonical' href=metadata.canonicalURL)
- //- Manifest
- //- Does not currently contain a start_url to prevent browser installation prompts
- link(
- rel='manifest'
- href=buildBaseAssetPath() + 'web.sitemanifest.json'
- crossorigin=settings.isCodeSpace ? 'use-credentials' : false
- )
|