mirror of
https://github.com/lichess-org/lila.git
synced 2026-05-26 13:51:00 +00:00
Merge pull request #15339 from schlawg/mismatched-asset-urls
fix asset preload url mismatches
This commit is contained in:
@@ -19,7 +19,7 @@ def notFound(msg: Option[String])(using Context) =
|
||||
),
|
||||
div(cls := "game")(
|
||||
iframe(
|
||||
src := assetUrl(s"vendor/ChessPursuit/bin-release/index.html"),
|
||||
src := staticAssetUrl(s"vendor/ChessPursuit/bin-release/index.html"),
|
||||
st.frameborder := 0,
|
||||
widthA := 400,
|
||||
heightA := 500,
|
||||
|
||||
@@ -24,10 +24,10 @@ object page:
|
||||
raw(s"""<meta name="theme-color" content="${ctx.pref.themeColor}">""")
|
||||
|
||||
private def boardPreload(using ctx: Context) = frag(
|
||||
preload(assetUrl(s"images/board/${ctx.pref.currentTheme.file}"), "image", crossorigin = false),
|
||||
preload(staticAssetUrl(s"images/board/${ctx.pref.currentTheme.file}"), "image", crossorigin = false),
|
||||
ctx.pref.is3d.option(
|
||||
preload(
|
||||
assetUrl(s"images/staunton/board/${ctx.pref.currentTheme3d.file}"),
|
||||
staticAssetUrl(s"images/staunton/board/${ctx.pref.currentTheme3d.file}"),
|
||||
"image",
|
||||
crossorigin = false
|
||||
)
|
||||
@@ -74,7 +74,7 @@ object page:
|
||||
content := p.openGraph.fold(trans.site.siteDescription.txt())(o => o.description),
|
||||
name := "description"
|
||||
),
|
||||
link(rel := "mask-icon", href := assetUrl("logo/lichess.svg"), attr("color") := "black"),
|
||||
link(rel := "mask-icon", href := staticAssetUrl("logo/lichess.svg"), attr("color") := "black"),
|
||||
favicons,
|
||||
(!p.robots || !netConfig.crawlable).option:
|
||||
raw("""<meta content="noindex, nofollow" name="robots">""")
|
||||
@@ -95,6 +95,7 @@ object page:
|
||||
p.modules ++ p.pageModule.so(module => jsPageModule(module.name)),
|
||||
isInquiry = ctx.data.inquiry.isDefined
|
||||
),
|
||||
lichessFontFaceCss,
|
||||
(ctx.pref.bg === lila.pref.Pref.Bg.SYSTEM).so(systemThemeScript(ctx.nonce))
|
||||
),
|
||||
st.body(
|
||||
|
||||
@@ -33,8 +33,8 @@ object home:
|
||||
.css("lobby")
|
||||
.graph(
|
||||
OpenGraph(
|
||||
image = assetUrl("logo/lichess-tile-wide.png").some,
|
||||
twitterImage = assetUrl("logo/lichess-tile.png").some,
|
||||
image = staticAssetUrl("logo/lichess-tile-wide.png").some,
|
||||
twitterImage = staticAssetUrl("logo/lichess-tile.png").some,
|
||||
title = "The best free, adless Chess server",
|
||||
url = netBaseUrl.value,
|
||||
description = trans.site.siteDescription.txt()
|
||||
|
||||
@@ -26,8 +26,8 @@ object page:
|
||||
Page(s"${u.username} : ${trans.activity.activity.txt()}")
|
||||
.graph(
|
||||
OpenGraph(
|
||||
image = assetUrl("logo/lichess-tile-wide.png").some,
|
||||
twitterImage = assetUrl("logo/lichess-tile.png").some,
|
||||
image = staticAssetUrl("logo/lichess-tile-wide.png").some,
|
||||
twitterImage = staticAssetUrl("logo/lichess-tile.png").some,
|
||||
title = u.titleUsernameWithBestRating,
|
||||
url = s"$netBaseUrl${routes.User.show(u.username).url}",
|
||||
description = ui.describeUser(u)
|
||||
|
||||
@@ -153,7 +153,7 @@ final class PostUi(helpers: Helpers, bits: ForumBits):
|
||||
else r.key
|
||||
}
|
||||
)(
|
||||
img(src := assetUrl(s"images/emoji/$r.png"), alt := r.key),
|
||||
img(src := staticAssetUrl(s"images/emoji/$r.png"), alt := r.key),
|
||||
(size > 0).option(size)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -35,7 +35,6 @@ final class layout(helpers: Helpers, assetHelper: lila.web.ui.AssetFullHelper)(
|
||||
)(nonce)
|
||||
def pieceSprite(name: String): Frag =
|
||||
link(id := "piece-sprite", href := assetUrl(s"piece-css/$name.css"), rel := "stylesheet")
|
||||
|
||||
val noTranslate = raw("""<meta name="google" content="notranslate">""")
|
||||
|
||||
def preload(href: String, as: String, crossorigin: Boolean, tpe: Option[String] = None) =
|
||||
@@ -46,13 +45,13 @@ final class layout(helpers: Helpers, assetHelper: lila.web.ui.AssetFullHelper)(
|
||||
def fontPreload(using ctx: Context) = frag(
|
||||
preload(assetUrl("font/lichess.woff2"), "font", crossorigin = true, "font/woff2".some),
|
||||
preload(
|
||||
assetUrl("font/noto-sans-v14-latin-regular.woff2"),
|
||||
staticAssetUrl("font/noto-sans-v14-latin-regular.woff2"),
|
||||
"font",
|
||||
crossorigin = true,
|
||||
"font/woff2".some
|
||||
),
|
||||
(!ctx.pref.pieceNotationIsLetter).option(
|
||||
preload(assetUrl("font/lichess.chess.woff2"), "font", crossorigin = true, "font/woff2".some)
|
||||
preload(staticAssetUrl("font/lichess.chess.woff2"), "font", crossorigin = true, "font/woff2".some)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -93,7 +92,7 @@ final class layout(helpers: Helpers, assetHelper: lila.web.ui.AssetFullHelper)(
|
||||
|
||||
def botImage =
|
||||
img(
|
||||
src := assetUrl("images/icons/bot.png"),
|
||||
src := staticAssetUrl("images/icons/bot.png"),
|
||||
title := "Robot chess",
|
||||
style := "display:inline;width:34px;height:34px;vertical-align:top;margin-right:5px;vertical-align:text-top"
|
||||
)
|
||||
@@ -104,15 +103,11 @@ final class layout(helpers: Helpers, assetHelper: lila.web.ui.AssetFullHelper)(
|
||||
val favicons = raw:
|
||||
List(512, 256, 192, 128, 64)
|
||||
.map: px =>
|
||||
s"""<link rel="icon" type="image/png" href="${assetUrl(
|
||||
s"logo/lichess-favicon-$px.png"
|
||||
)}" sizes="${px}x$px">"""
|
||||
s"""<link rel="icon" type="image/png" href="$assetBaseUrl/assets/logo/lichess-favicon-$px.png" sizes="${px}x$px">"""
|
||||
.mkString(
|
||||
"",
|
||||
"",
|
||||
s"""<link id="favicon" rel="icon" type="image/png" href="${assetUrl(
|
||||
"logo/lichess-favicon-32.png"
|
||||
)}" sizes="32x32">"""
|
||||
s"""<link id="favicon" rel="icon" type="image/png" href="$assetBaseUrl/assets/logo/lichess-favicon-32.png" sizes="32x32">"""
|
||||
)
|
||||
def blindModeForm(using ctx: Context) = raw:
|
||||
s"""<form id="blind-mode" action="${routes.Main.toggleBlindMode}" method="POST"><input type="hidden" name="enable" value="${
|
||||
@@ -216,6 +211,15 @@ final class layout(helpers: Helpers, assetHelper: lila.web.ui.AssetFullHelper)(
|
||||
private val spaceRegex = """\s{2,}+""".r
|
||||
def spaceless(html: String) = raw(spaceRegex.replaceAllIn(html.replace("\\n", ""), ""))
|
||||
|
||||
val lichessFontFaceCss = spaceless:
|
||||
s"""<style>@font-face {
|
||||
font-family: 'lichess';
|
||||
font-display: block;
|
||||
src:
|
||||
url('${assetUrl("font/lichess.woff2")}') format('woff2'),
|
||||
url('${assetUrl("font/lichess.woff")}') format('woff');
|
||||
}</style>"""
|
||||
|
||||
def bottomHtml(using ctx: Context) = frag(
|
||||
ctx.me
|
||||
.exists(_.enabled.yes)
|
||||
|
||||
@@ -4,14 +4,6 @@
|
||||
|
||||
/* Icon fonts */
|
||||
|
||||
@font-face {
|
||||
font-family: 'lichess';
|
||||
font-display: block;
|
||||
src:
|
||||
local-font('lichess.woff2') format('woff2'),
|
||||
local-font('lichess.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Noto Chess';
|
||||
font-display: block;
|
||||
|
||||
Reference in New Issue
Block a user