37 lines
2.0 KiB
HTML
37 lines
2.0 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ article.title }} · 红餐观察库{% endblock %}
|
|
{% block content %}
|
|
<div class="reading-layout">
|
|
<article class="story">
|
|
<a class="back" href="/">← 返回文章库</a>
|
|
<header>
|
|
<div class="story-meta"><time>{{ article.published_at|date_cn }}</time><span>{{ article.author or '红餐网' }}</span></div>
|
|
<h1>{{ article.title }}</h1>
|
|
{% if article.summary %}<p class="dek">{{ article.summary }}</p>{% endif %}
|
|
<a class="source-link" href="{{ article.canonical_url }}" target="_blank" rel="noopener">查看原文 ↗</a>
|
|
</header>
|
|
<div class="story-body">
|
|
{% for paragraph in article.content.split('\n') if paragraph.strip() %}<p>{{ paragraph }}</p>{% endfor %}
|
|
</div>
|
|
</article>
|
|
|
|
<aside class="analysis-panel">
|
|
<div class="analysis-head"><div><span>QWEN ANALYSIS</span><h2>编辑部研判</h2></div><button id="analyzeBtn" data-id="{{ article.id }}">{% if analysis %}重新分析{% else %}开始分析{% endif %}</button></div>
|
|
<div id="analysisStatus" class="analysis-status" hidden></div>
|
|
<div id="analysisContent">
|
|
{% if analysis %}
|
|
<section><h3>一句话摘要</h3><p>{{ analysis.summary }}</p></section>
|
|
<section><h3>核心要点</h3><ul>{% for x in analysis.key_points %}<li>{{ x }}</li>{% endfor %}</ul></section>
|
|
<section><h3>行业信号</h3><p>{{ analysis.industry_signal }}</p></section>
|
|
<section><h3>延展选题</h3><ol>{% for x in analysis.content_angles %}<li>{{ x }}</li>{% endfor %}</ol></section>
|
|
<section><h3>标签</h3><div class="tags">{% for x in analysis.tags %}<span>{{ x }}</span>{% endfor %}</div></section>
|
|
{% else %}
|
|
<div class="analysis-empty"><div class="scan-lines"></div><h3>等待 AI 阅读</h3><p>千问将提炼文章摘要、行业信号、关键数据和可延展选题。</p></div>
|
|
{% endif %}
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
{% endblock %}
|
|
{% block scripts %}<script src="{{ url_for('static', filename='app.js') }}"></script>{% endblock %}
|
|
|