ui: better ogp meta on problem_detail page

This commit is contained in:
undefined committed 2025-02-15 20:41:50 +08:00
1 parent eaa38c6ba5
commit 1bd8ef5076
7 files changed
+39 -4

No files matched your search

@@ -23,3 +23,5 @@
</div>
{% if UserContext and not handler.user._id %}{% include "partials/login_dialog.html" %}{% endif %}
{% endblock %}
{% block ogp %}
{% endblock %}
@@ -19,12 +19,14 @@
<link rel="icon" type="image/png" href="{{ UiContext.cdn_prefix }}favicon-16x16.png" sizes="16x16">
{% if handler.context.request.url %}<link rel="canonical" href="{{ model.system.get('server.url') }}{{ handler.context.request.url.substring(1) }}">{% endif %}
<meta name="theme-color" content="#56758f">
{% block ogp %}
{% block ogp_site %}
<meta property="og:site_name" content="{{ (handler.domain|default({ui:[]})).ui.name|default(model.system.get('server.name')) }}" />
<meta property="og:title" content="{{ handler.renderTitle(page_name) }}" />
<meta property="og:url" content="{{ model.system.get('server.url') }}{{ handler.request.path.slice(1) }}" />
<meta property="og:image" content="{{ UiContext.cdn_prefix }}favicon-96x96.png" />
{% endblock %}
{% block ogp %}
<meta property="og:title" content="{{ handler.renderTitle(page_name) }}" />
{% endblock %}
<title>{{ handler.renderTitle(page_name) }}</title>
<style>
body {
@@ -19,5 +19,9 @@
<p>{{ _('You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.') }}</p>
</blockquote>
{% endif %}
{{ pdoc.content|content(handler.request.query.lang or handler.user.viewLang or handler.session.viewLang, pdoc.html)|safe }}
{% if not renderredContent %}
{% set preferredLang = handler.request.query.lang or handler.user.viewLang or handler.session.viewLang %}
{% set renderredContent = pdoc.content|content(preferredLang, pdoc.html) %}
{% endif %}
{{ renderredContent|safe }}
</div>
@@ -24,6 +24,22 @@
{{ set(UiContext, 'pretestConnUrl', "record-conn?pretest=1&uidOrName=" + handler.user._id + "&pid=" + pdoc.docId + "&domainId=" + handler.args.domainId) }}
{% endif %}
</script>
{% if not tdoc %}
{% block ogp %}
{% set preferredLang = handler.request.query.lang or handler.user.viewLang or handler.session.viewLang %}
{% set renderredContent = pdoc.content|content(preferredLang, pdoc.html) %}
{% set langs = pdoc.content|contentLang %}
{% for k in langs %}
{% if k != preferredLang %}
<meta property="og:locale:alternate" content="{{ k }}" />
{% else %}
<meta property="og:locale" content="{{ k }}" />
{% endif %}
{% endfor %}
<meta property="og:title" content="{{ pdoc.pid|default(pdoc.docId) }}. {{ pdoc.title }} - {{ model.system.get('server.name') }}" />
<meta property="og:description" content="{{ renderredContent|problemPreview|truncate(100, true) }}" />
{% endblock %}
{% endif %}
<div class="row" data-sticky-parent>
<div class="medium-9 columns">
<div class="section">