jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

48 lines
1.9 KiB

meta(charset='utf-8')
meta(name='viewport' content='width=device-width initial-scale=1')
//- 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}`)
//- 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)