initial: blog-app snapshot

This commit is contained in:
omo
2026-08-17 17:11:27 +08:00
commit 65cb9d5ead
125 changed files with 14720 additions and 0 deletions

33
templates/projects.html Normal file
View File

@@ -0,0 +1,33 @@
{% extends "base.html" %}
{% block title %}项目列表 - AI Agent 项目追踪{% endblock %}
{% block content %}
<div class="d-flex flex-wrap justify-content-between align-items-center mb-4 gap-2">
<h1 class="mb-0">项目列表</h1>
<div class="d-flex gap-2">
<div class="btn-group" role="group" aria-label="语言过滤">
<button type="button" class="btn btn-outline-primary active" data-lang="all">All</button>
<button type="button" class="btn btn-outline-primary" data-lang="Python">Python</button>
<button type="button" class="btn btn-outline-primary" data-lang="TypeScript">TypeScript</button>
</div>
<select class="form-select w-auto" id="sortSelect">
<option value="stars">按 Stars 排序</option>
<option value="updated_at">按更新时间排序</option>
</select>
</div>
</div>
<div class="row g-3" id="projectList">
<div class="empty-hint">加载中…</div>
</div>
{% endblock %}
{% block scripts %}
<script type="module">
import { renderProjectCard, bindProjectCardClicks } from "{{ url_for('static', filename='js/components/project-card.js') }}";
import { initProjectsPage } from "{{ url_for('static', filename='js/pages/projects.js') }}";
bindProjectCardClicks();
initProjectsPage(renderProjectCard);
</script>
{% endblock %}