# tibyandy/hakoniwa-explorer-plus-guide architecture

> Architecture diagram of the GitHub repository tibyandy/hakoniwa-explorer-plus-guide, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-07-31). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tibyandy/hakoniwa-explorer-plus-guide
- Repository: https://github.com/tibyandy/hakoniwa-explorer-plus-guide

## Overview

#### Purpose and Delivery
This repository is a static, GitHub Pages-hosted reference guide for *Hakoniwa Explorer Plus*. Jekyll renders Markdown content and shared HTML includes into the published guide; there is no application backend or build service represented in the tree.

Primary public entry points:
- `index.md` — guide landing page.
- `topics.md` — topic navigation.
- `404.md` — GitHub Pages not-found page.
- `db/db.html` — interactive database page.

#### Jekyll Site Shell
Jekyll/GitHub Pages provides the rendering runtime and site configuration:
- `_config.yml` — Jekyll site configuration.
- `_includes/head.html` — shared document head, likely stylesheet/script inclusion boundary.
- `_includes/footer.html` — shared footer markup.
- `assets/custom.scss` — site-wide custom styling.

Markdown pages are source documents; GitHub Pages turns them into static HTML using the configured theme/layout conventions.

#### Guide Content Domains
The guide is organized as authored Markdown reference sections, with individual pages serving as stable URL endpoints:
- `game/map.md` — map-oriented guide content.
- `game/items.md` — item reference.
- `game/enemies.md` — enemy reference.
- `game/bosses.md` — boss reference.
- `game/shops.md` — shop reference.
- `game/towns.md` — town reference.
- `game/places.md` — location/place reference.

These pages are primarily content boundaries rather than runtime modules; navigation links connect readers among domains.

#### Interactive Database Subsystem
A distinct client-side database feature lives under `db/`:
- `db/db.html` — database UI host page.
- `db/db.js` — browser-side database behavior and data/UI control logic.
- `db/db.css` — database-specific presentation.
- `db/db.md` — likely documentation or alternate routed entry for the database.

The browser loads the database page and its scoped CSS/JavaScript. `db/db.js` is the principal dynamic execution entry point in an otherwise static site.

#### Client-Side Interaction
A repository-root script supports scrolling behavior:
- `scroller.js` — shared browser-side scrolling/navigation behavior.
- `test.html` — standalone HTML page, likely used to exercise or validate client-side behavior.

This is a browser-only runtime boundary: scripts execute after static assets are served, without server APIs indicated by the repository.

#### Publishing and External Dependencies
Infrastructure is GitHub Pages with Jekyll, as identified by the README and `_config.yml`. The deployed site is hosted at the GitHub Pages URL referenced in `README.md`.

No database server, API service, authentication provider, package manifest, or CI workflow is present. Content, database logic, styles, and client scripts are all versioned static files. Licensing is Creative Commons BY-SA 4.0 via `LICENSE`.

Main entry points: [`db/db.html`](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.html) (Database UI), [`topics.md`](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/topics.md) (Topic navigation), [`index.md`](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/index.md) (Guide landing), [`db/db.md`](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.md) (Database documentation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Jekyll Site"]
  node_github_pages{{"GitHub Pages<br/>hosting"}}
  node_jekyll{{"Jekyll renderer<br/>static-site runtime"}}
  node_config["Site configuration<br/>Jekyll config<br/>[_config.yml]"]
  node_head["Shared head<br/>HTML include<br/>[head.html]"]
  node_footer["Shared footer<br/>HTML include<br/>[footer.html]"]
  node_site_styles["Site styles<br/>SCSS<br/>[custom.scss]"]
end

subgraph group_content["Guide Content"]
  node_landing["Guide landing<br/>Markdown page<br/>[index.md]"]
  node_topics["Topic navigation<br/>Markdown page<br/>[topics.md]"]
  node_game_guides["Game reference pages<br/>Markdown content"]
  node_not_found["Not-found page<br/>Markdown page<br/>[404.md]"]
end

subgraph group_database["Interactive Database"]
  node_db_page["Database UI<br/>HTML page<br/>[db.html]"]
  node_db_logic["Database logic<br/>browser JavaScript<br/>[db.js]"]
  node_db_styles["Database styles<br/>CSS<br/>[db.css]"]
  node_db_docs["Database documentation<br/>Markdown page<br/>[db.md]"]
end

subgraph group_client["Client Interaction"]
  node_scroller["Scrolling behavior<br/>browser JavaScript<br/>[scroller.js]"]
  node_browser(("Reader browser<br/>client runtime"))
end

node_config -->|"configures"| node_jekyll
node_jekyll -->|"publishes via"| node_github_pages
node_landing -->|"rendered by"| node_jekyll
node_topics -->|"rendered by"| node_jekyll
node_game_guides -->|"rendered by"| node_jekyll
node_not_found -->|"rendered by"| node_jekyll
node_db_docs -->|"rendered by"| node_jekyll
node_head -->|"included in pages"| node_jekyll
node_footer -->|"included in pages"| node_jekyll
node_site_styles -->|"loaded from"| node_head
node_github_pages -->|"serves static site"| node_browser
node_landing -.->|"guides navigation"| node_topics
node_topics -->|"links to"| node_game_guides
node_db_page -->|"loaded in"| node_browser
node_db_logic -->|"drives UI"| node_db_page
node_db_styles -->|"styles"| node_db_page
node_scroller -->|"executes in"| node_browser
node_db_docs -.->|"documents or routes to"| node_db_page

click node_config "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_config.yml"
click node_head "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_includes/head.html"
click node_footer "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_includes/footer.html"
click node_site_styles "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/assets/custom.scss"
click node_landing "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/index.md"
click node_topics "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/topics.md"
click node_not_found "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/404.md"
click node_db_page "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.html"
click node_db_logic "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.js"
click node_db_styles "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.css"
click node_db_docs "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.md"
click node_scroller "https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/scroller.js"

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_github_pages,node_jekyll,node_config,node_head,node_footer,node_site_styles toneBlue
class node_landing,node_topics,node_game_guides,node_not_found toneAmber
class node_db_page,node_db_logic,node_db_styles,node_db_docs toneMint
class node_scroller,node_browser toneRose
```

## Components

### Jekyll Site

Static publishing shell.

- **GitHub Pages**: hosting · Publishes the rendered static guide.
- **Jekyll renderer**: static-site runtime · Renders Markdown into static HTML.
- [Site configuration](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_config.yml): Jekyll config · `_config.yml`
- [Shared head](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_includes/head.html): HTML include · Shared asset inclusion boundary. · `_includes/head.html`
- [Shared footer](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/_includes/footer.html): HTML include · `_includes/footer.html`
- [Site styles](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/assets/custom.scss): SCSS · `assets/custom.scss`

### Guide Content

Authored reference endpoints.

- [Guide landing](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/index.md): Markdown page · `index.md`
- [Topic navigation](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/topics.md): Markdown page · `topics.md`
- **Game reference pages**: Markdown content · Map, items, enemies, bosses, shops, towns, and places.
- [Not-found page](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/404.md): Markdown page · `404.md`

### Interactive Database

Browser-only database feature.

- [Database UI](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.html): HTML page · Interactive database host page. · `db/db.html`
- [Database logic](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.js): browser JavaScript · Principal dynamic execution entry point. · `db/db.js`
- [Database styles](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.css): CSS · `db/db.css`
- [Database documentation](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/db/db.md): Markdown page · Alternate database route or documentation. · `db/db.md`

### Client Interaction

Shared browser behavior.

- [Scrolling behavior](https://github.com/tibyandy/hakoniwa-explorer-plus-guide/blob/main/scroller.js): browser JavaScript · Shared scrolling and navigation behavior. · `scroller.js`
- **Reader browser**: client runtime · Loads static pages and executes client scripts.

## Connections

- Site configuration → Jekyll renderer: configures
- Jekyll renderer → GitHub Pages: publishes via
- Guide landing → Jekyll renderer: rendered by
- Topic navigation → Jekyll renderer: rendered by
- Game reference pages → Jekyll renderer: rendered by
- Not-found page → Jekyll renderer: rendered by
- Database documentation → Jekyll renderer: rendered by
- Shared head → Jekyll renderer: included in pages
- Shared footer → Jekyll renderer: included in pages
- Site styles → Shared head: loaded from
- GitHub Pages → Reader browser: serves static site
- Guide landing → Topic navigation: guides navigation
- Topic navigation → Game reference pages: links to
- Database UI → Reader browser: loaded in
- Database logic → Database UI: drives UI
- Database styles → Database UI: styles
- Scrolling behavior → Reader browser: executes in
- Database documentation → Database UI: documents or routes to
