# edmok/blue-fish-archive architecture

> Architecture diagram of the GitHub repository edmok/blue-fish-archive, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/edmok/blue-fish-archive
- Repository: https://github.com/edmok/blue-fish-archive

## Overview

蓝色大肥鱼档案馆是鲸鱼娘 DeepSeek 同人表情包静态展示站。访客进入页面后，前端读取贴纸清单并呈现瀑布流；选择贴纸可打开大图预览、左右翻页，或复制、下载未改动的原图。媒体目录、缩略图和大图承担不同展示用途，站点还提供可拖动、可互动的吉祥物。README 说明内容同步与预览生成能力，但相关脚本属于内容维护工具，不纳入运行时架构图；app.js 仅提供了部分源码，故未推断其未展示的具体调用实现。

Main entry points: [`app.js`](https://github.com/edmok/blue-fish-archive/blob/main/app.js) (展示与操作), [`index.html`](https://github.com/edmok/blue-fish-archive/blob/main/index.html) (页面入口), [`styles.css`](https://github.com/edmok/blue-fish-archive/blob/main/styles.css) (页面样式), [`stickers/manifest.json`](https://github.com/edmok/blue-fish-archive/blob/main/stickers/manifest.json) (贴纸清单)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["展示站点"]
  node_page["页面入口<br/>[index.html]"]
  node_frontend["展示与操作<br/>[app.js]"]
  node_presentation["页面样式<br/>[styles.css]"]
end

subgraph group_content["贴纸内容"]
  node_manifest["贴纸清单<br/>[manifest.json]"]
  node_originals["原始图片"]
  node_previews["瀑布流缩略图"]
  node_large["预览大图"]
end

subgraph group_mascot["互动吉祥物"]
  node_audio["吉祥物音效<br/>[xixi.aac]"]
end

subgraph group_routing["访问路由"]
  node_middleware["域名迁移<br/>[_middleware.ts]"]
end

node_visitor(("访客"))
node_browser(("浏览器"))

node_visitor -->|"打开页面"| node_page
node_page -->|"加载脚本"| node_frontend
node_page -->|"加载样式"| node_presentation
node_frontend -->|"读取清单"| node_manifest
node_frontend -->|"展示缩略图"| node_previews
node_frontend -->|"加载预览"| node_large
node_frontend -->|"复制或下载"| node_originals
node_frontend -->|"播放音效"| node_audio
node_browser -.->|"请求页面"| node_middleware

click node_page "https://github.com/edmok/blue-fish-archive/blob/main/index.html"
click node_frontend "https://github.com/edmok/blue-fish-archive/blob/main/app.js"
click node_presentation "https://github.com/edmok/blue-fish-archive/blob/main/styles.css"
click node_manifest "https://github.com/edmok/blue-fish-archive/blob/main/stickers/manifest.json"
click node_originals "https://github.com/edmok/blue-fish-archive/tree/main/media"
click node_previews "https://github.com/edmok/blue-fish-archive/tree/main/previews"
click node_large "https://github.com/edmok/blue-fish-archive/tree/main/large"
click node_audio "https://github.com/edmok/blue-fish-archive/blob/main/memes/xixi.aac"
click node_middleware "https://github.com/edmok/blue-fish-archive/blob/main/functions/_middleware.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_page,node_frontend,node_presentation toneBlue
class node_manifest,node_originals,node_previews,node_large toneAmber
class node_audio toneMint
class node_middleware toneRose
class node_visitor,node_browser toneIndigo
```

## Components

### 展示站点

- [页面入口](https://github.com/edmok/blue-fish-archive/blob/main/index.html): `index.html`
- [展示与操作](https://github.com/edmok/blue-fish-archive/blob/main/app.js): `app.js`
- [页面样式](https://github.com/edmok/blue-fish-archive/blob/main/styles.css): `styles.css`

### 贴纸内容

- [贴纸清单](https://github.com/edmok/blue-fish-archive/blob/main/stickers/manifest.json): `stickers/manifest.json`
- [原始图片](https://github.com/edmok/blue-fish-archive/tree/main/media): `media`
- [瀑布流缩略图](https://github.com/edmok/blue-fish-archive/tree/main/previews): `previews`
- [预览大图](https://github.com/edmok/blue-fish-archive/tree/main/large): `large`

### 互动吉祥物

- [吉祥物音效](https://github.com/edmok/blue-fish-archive/blob/main/memes/xixi.aac): `memes/xixi.aac`

### 访问路由

- [域名迁移](https://github.com/edmok/blue-fish-archive/blob/main/functions/_middleware.ts): `functions/_middleware.ts`

### Other components

- **访客**
- **浏览器**

## Connections

- 访客 → 页面入口: 打开页面
- 页面入口 → 展示与操作: 加载脚本
- 页面入口 → 页面样式: 加载样式
- 展示与操作 → 贴纸清单: 读取清单
- 展示与操作 → 瀑布流缩略图: 展示缩略图
- 展示与操作 → 预览大图: 加载预览
- 展示与操作 → 原始图片: 复制或下载
- 展示与操作 → 吉祥物音效: 播放音效
- 浏览器 → 域名迁移: 请求页面
