Files

55 lines
2.2 KiB
Plaintext

meta(charset='utf-8')
meta(name='viewport' content='width=device-width initial-scale=1 viewport-fit=cover')
meta(name='theme-color' content='#282A2E' media='(prefers-color-scheme: dark)')
meta(name='theme-color' content='#DDDDDD' media='(prefers-color-scheme: light)')
//- very basic styles to hide some elements and improve experience for users with noscript
noscript
style .jsonly { display: none!important; } .user-id { cursor: auto!important; }
//- whether this page is rendered for a board
- const isBoard = board != null;
//- general meta and opengraph meta tags
if isBoard
if board.settings.description
meta(name='description' content=board.settings.description)
if board.settings.tags
meta(name='keywords' content=board.settings.tags.join(','))
meta(property='og:site_name', value=meta.siteName)
meta(property='og:url', content=meta.url)
//- main stylesheet
link(rel='stylesheet' href=`/css/style.css?v=${commit}&ct=${captchaOptions.type}`)
//- theme stylesheets
- const theme = isBoard ? board.settings.theme : defaultTheme;
link#theme(rel='stylesheet' data-theme=theme href=`/css/themes/${theme}.css`)
- const codeTheme = isBoard ? board.settings.codeTheme : defaultCodeTheme;
link#codetheme(rel='stylesheet' data-theme=codeTheme href=`/css/codethemes/${codeTheme}.css`)
if isBoard && board.settings.customCss
style#board-customcss #{board.settings.customCss}
//- include html_code from gulp-favicon
include ../../gulp/res/icons/html_code.html
//- language pack
- const pageLanguage = isBoard ? board.settings.language : (locale || globalLanguage);
script(src=`/js/lang/${pageLanguage}.js?v=${commit}`)
//- main script
script(src=`/js/all.js?v=${commit}&ct=${captchaOptions.type}`)
//- optional web3 script
if enableWeb3 || isBoard && board.settings.enableWeb3
script(src=`/js/web3.js?v=${commit}`)
//- additional scripts included only if hcaptcha, recaptcha, or yandex smartcaptcha are used
if captchaOptions.type === 'google'
script(src='https://www.google.com/recaptcha/api.js' async defer)
if captchaOptions.type === 'hcaptcha'
script(src='https://hcaptcha.com/1/api.js' async defer)
if captchaOptions.type === 'yandex'
script(src='https://smartcaptcha.yandexcloud.net/captcha.js' async defer)