{# 论文卡片组件 — 支持普通和搜索两种模式 #} {% macro render_card(paper, snippets=None, distances=None, variant="default") %}

{% if variant == 'search' and snippets %} {% set snip = snippets.get(paper.id, {}) %} {% if snip and snip.title_zh %} {{ snip.title_zh | safe }} {% elif paper.title_zh %} {{ paper.title_zh }} {% else %} {{ paper.title_en }} {% endif %} {% else %} {{ paper.title_zh or paper.title_en }} {% endif %}

👍 {{ paper.upvotes }} {% if variant == 'search' and distances and paper.arxiv_id in distances %} 🎯 {{ "%.3f"|format(distances[paper.arxiv_id]) }} {% endif %}
{% if variant == 'search' and snippets %} {% set snip = snippets.get(paper.id, {}) %} {% if snip and snip.abstract %}

{{ snip.abstract | safe }}

{% elif paper.summary and paper.summary.one_line %}

{{ paper.summary.one_line }}

{% elif paper.abstract %}

{{ paper.abstract[:200] }}{% if paper.abstract|length > 200 %}…{% endif %}

{% endif %} {% elif paper.summary and paper.summary.one_line %}

{{ paper.summary.one_line }}

{% elif paper.abstract %}

{{ paper.abstract[:200] }}{% if paper.abstract|length > 200 %}…{% endif %}

{% endif %}
{{ paper.authors|map(attribute='name')|join(', ')|truncate(80) }} {% if variant == 'search' %} {{ paper.paper_date }} {% endif %}
{% for tag in paper.tags[:5] %} {{ tag.tag }} {% endfor %}
{% if variant != 'search' %} {% endif %}
{% endmacro %}