# zhaoyang97/paper-notes architecture

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

- Interactive diagram: https://gitdiagram.com/zhaoyang97/paper-notes
- Repository: https://github.com/zhaoyang97/paper-notes

## Overview

AI Paper Notes is a browsable collection of conference-paper explanations, organized by conference and research area. The main reader workflow is to browse conference and field indexes, open a paper note, or search the collection. Internally, a post-build hook reduces the search index using note keywords and tags. Separate SEO and indexing utilities prepare sitemaps and submit URLs to search engines. The README documents the content and browsing structure; source excerpts show the search-index, sitemap, and submission behavior.

Main entry points: [`scripts/indexing_submit.py`](https://github.com/zhaoyang97/paper-notes/blob/main/scripts/indexing_submit.py) (URL submission), [`docs/AAAI2026/3d_vision`](https://github.com/zhaoyang97/paper-notes/tree/main/docs/AAAI2026/3d_vision) (Paper notes), [`hooks/slim_search_index.py`](https://github.com/zhaoyang97/paper-notes/blob/main/hooks/slim_search_index.py) (Search index slimming), [`docs/AAAI2026/index.md`](https://github.com/zhaoyang97/paper-notes/blob/main/docs/AAAI2026/index.md) (Conference index)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Paper content"]
  node_conference["Conference index<br/>[index.md]"]
  node_field["Research-area index<br/>[index.md]"]
  node_notes["Paper notes"]
end

subgraph group_discovery["Browsing and search"]
  node_site["Online site"]
  node_search["Site search"]
  node_search_hook["Search index slimming"]
end

subgraph group_indexing["Search engine indexing"]
  node_sitemap["Generated sitemap"]
  node_sitemap_hook["Sitemap priorities"]
  node_submit["URL submission<br/>[indexing_submit.py]"]
end

node_reader(("Paper reader"))
node_google{{"Google Indexing API"}}
node_bing{{"Bing IndexNow"}}

node_reader -->|"browses"| node_site
node_site -->|"lists conferences"| node_conference
node_conference -->|"groups by area"| node_field
node_field -->|"links papers"| node_notes
node_reader -->|"searches"| node_search
node_search_hook -->|"slims index for"| node_search
node_search_hook -->|"reads keywords"| node_notes
node_sitemap_hook -->|"rewrites and emits"| node_sitemap
node_submit -->|"fetches URLs from"| node_sitemap
node_submit -->|"selects changed pages"| node_notes
node_submit -->|"submits URLs"| node_google
node_submit -->|"submits URLs"| node_bing

click node_conference "https://github.com/zhaoyang97/paper-notes/blob/main/docs/AAAI2026/index.md"
click node_field "https://github.com/zhaoyang97/paper-notes/blob/main/docs/AAAI2026/3d_vision/index.md"
click node_notes "https://github.com/zhaoyang97/paper-notes/tree/main/docs/AAAI2026/3d_vision"
click node_search "https://github.com/zhaoyang97/paper-notes/tree/main/overrides"
click node_search_hook "https://github.com/zhaoyang97/paper-notes/blob/main/hooks/slim_search_index.py"
click node_sitemap_hook "https://github.com/zhaoyang97/paper-notes/blob/main/hooks/sitemap_priorities.py"
click node_submit "https://github.com/zhaoyang97/paper-notes/blob/main/scripts/indexing_submit.py"

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_conference,node_field,node_notes toneBlue
class node_site,node_search,node_search_hook toneAmber
class node_sitemap,node_sitemap_hook,node_submit,node_google toneMint
class node_reader,node_bing toneIndigo
```

## Components

### Paper content

- [Conference index](https://github.com/zhaoyang97/paper-notes/blob/main/docs/AAAI2026/index.md): `docs/AAAI2026/index.md`
- [Research-area index](https://github.com/zhaoyang97/paper-notes/blob/main/docs/AAAI2026/3d_vision/index.md): `docs/AAAI2026/3d_vision/index.md`
- [Paper notes](https://github.com/zhaoyang97/paper-notes/tree/main/docs/AAAI2026/3d_vision): `docs/AAAI2026/3d_vision`

### Browsing and search

- **Online site**
- [Site search](https://github.com/zhaoyang97/paper-notes/tree/main/overrides): `overrides`
- [Search index slimming](https://github.com/zhaoyang97/paper-notes/blob/main/hooks/slim_search_index.py): `hooks/slim_search_index.py`

### Search engine indexing

- **Generated sitemap**
- [Sitemap priorities](https://github.com/zhaoyang97/paper-notes/blob/main/hooks/sitemap_priorities.py): `hooks/sitemap_priorities.py`
- [URL submission](https://github.com/zhaoyang97/paper-notes/blob/main/scripts/indexing_submit.py): `scripts/indexing_submit.py`

### Other components

- **Paper reader**
- **Google Indexing API**
- **Bing IndexNow**

## Connections

- Paper reader → Online site: browses (evidence: `README.md`)
- Online site → Conference index: lists conferences (evidence: `README.md`)
- Conference index → Research-area index: groups by area (evidence: `README.md`)
- Research-area index → Paper notes: links papers (evidence: `README.md`)
- Paper reader → Site search: searches (evidence: `README.md`)
- Search index slimming → Site search: slims index for (evidence: `hooks/slim_search_index.py`)
- Search index slimming → Paper notes: reads keywords (evidence: `hooks/slim_search_index.py`)
- Sitemap priorities → Generated sitemap: rewrites and emits (evidence: `hooks/sitemap_priorities.py`)
- URL submission → Generated sitemap: fetches URLs from (evidence: `scripts/indexing_submit.py`)
- URL submission → Paper notes: selects changed pages (evidence: `scripts/indexing_submit.py`)
- URL submission → Google Indexing API: submits URLs (evidence: `scripts/indexing_submit.py`)
- URL submission → Bing IndexNow: submits URLs (evidence: `scripts/indexing_submit.py`)
