plugins/navManager:导航 CRUD + 导航分类 CRUD(独立 blueprint) plugins/friendManager:友情链接 CRUD plugins/aboutManager:关于本站 CRUD plugins/siteStats:访问统计主页 + JSON 接口 + /site/* GET 埋点 + nav 卡片点击埋点 applications/view/public/nav.py:导航聚合页 / 分类详情 / JSON 接口,支持 visit_count 注入 applications/view/public/about.py:关于本站公开页 applications/view/public/friend.py:友情链接公开页 templates/public/base.html:响应式首页(搜索框 / 分类抽屉 / 5 主题切换 / footer 隐私小字) templates/public/index.html / category.html:卡片右下角访问次数 templates/public/about.html / friend.html:关于 + 友链前台页 docs/plugins-development.md:插件开发完整指南(生命周期 + 4 个示例 + FAQ + framework 迁移) scripts/:探针与端到端验证脚本(probe_*/verify_*/test_*)
43 lines
1.9 KiB
HTML
43 lines
1.9 KiB
HTML
{% extends 'public/base.html' %}
|
|
{% block title %}{{ site_name|default('旺珂') }} · 友情链接{% endblock %}
|
|
{% block subtitle %}合作伙伴、推荐站点与互链往来 · 共 {{ total|default(0) }} 个{% endblock %}
|
|
|
|
{% block content %}
|
|
{% if groups and (groups|length) > 0 %}
|
|
{% for category, items in groups.items() %}
|
|
<section class="section" id="cat-{{ loop.index }}">
|
|
<header class="section-header">
|
|
<h2>{{ category }}</h2>
|
|
<span class="meta">共 {{ items|length }} 个</span>
|
|
</header>
|
|
<div class="grid">
|
|
{% for f in items %}
|
|
<a class="card" href="{{ f.url }}" {% if f.is_external == 1 %}target="_blank" rel="noopener"{% endif %}>
|
|
<div class="title-row">
|
|
{% if f.logo %}
|
|
<div class="icon-wrap"><img src="{{ f.logo }}" alt="{{ f.title }}" style="width:24px;height:24px;border-radius:4px;object-fit:cover;" onerror="this.replaceWith(document.createTextNode('🔗'))"></div>
|
|
{% else %}
|
|
<div class="icon-wrap">🔗</div>
|
|
{% endif %}
|
|
<div class="title">{{ f.title }}</div>
|
|
</div>
|
|
{% if f.description %}
|
|
<div class="desc">{{ f.description }}</div>
|
|
{% else %}
|
|
<div class="desc">{{ f.url }}</div>
|
|
{% endif %}
|
|
<div class="url">{{ f.url }}</div>
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
</section>
|
|
{% endfor %}
|
|
{% else %}
|
|
<div class="empty">
|
|
<div style="font-size:48px;margin-bottom:12px;">🔗</div>
|
|
<div>暂无友情链接</div>
|
|
<div style="margin-top:14px;font-size:13px;">如需交换友链,请到 <a href="/system/friend/" style="color:var(--brand);">后台</a> 添加</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|