# nature-hungry/wildsingapore-jekyll architecture

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

- Interactive diagram: https://gitdiagram.com/nature-hungry/wildsingapore-jekyll
- Repository: https://github.com/nature-hungry/wildsingapore-jekyll

## Overview

Wild Singapore is a content-driven biodiversity guide for Singapore’s coastal and intertidal life. Visitors browse taxonomically organized species factsheets, then use location, habitat, and guide content to explore and identify organisms. The tree supports these content areas, while the README also documents photo galleries and exploration features. The sampled plugins provide excerpt and image-caption formatting; page templates and the wiring for documented interactive features were not sampled, so those connections are not inferred.

Main entry points: [`_entries`](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries) (Species factsheets), [`_articles/guides`](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/guides) (Field guides), [`_articles/concepts`](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/concepts) (Biodiversity concepts), [`_articles/habitats`](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/habitats) (Habitat information)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_species["Species content"]
  node_factsheets["Species factsheets"]
  node_taxonomy["Taxonomic indexes"]
  node_photo["Photo galleries"]
end

subgraph group_field["Field guides"]
  node_guides["Field guides"]
  node_concepts["Biodiversity concepts"]
end

subgraph group_places["Places and habitats"]
  node_habitats["Habitat information"]
  node_locations["Location information"]
  node_wildspaces["Our Wild Spaces<br/>[OurWildSpaces2.0]"]
end

subgraph group_render["Content rendering"]
  node_site_data["Site data"]
  node_excerpt_filter["Excerpt filter"]
  node_caption_hook["Image caption hook<br/>[image_captions.rb]"]
end

node_visitor(("Visitor"))

node_visitor -->|"browses"| node_factsheets
node_visitor -->|"explores"| node_taxonomy
node_visitor -->|"views"| node_photo
node_visitor -->|"consults"| node_guides
node_visitor -->|"reads"| node_concepts
node_visitor -->|"explores"| node_habitats
node_visitor -->|"explores"| node_locations
node_visitor -->|"explores"| node_wildspaces

click node_factsheets "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries"
click node_taxonomy "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries"
click node_photo "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries"
click node_guides "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/guides"
click node_concepts "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/concepts"
click node_habitats "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/habitats"
click node_locations "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/locations"
click node_wildspaces "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/OurWildSpaces2.0"
click node_site_data "https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_data"
click node_excerpt_filter "https://github.com/nature-hungry/wildsingapore-jekyll/blob/main/_plugins/homepage_excerpt_filters.rb"
click node_caption_hook "https://github.com/nature-hungry/wildsingapore-jekyll/blob/main/_plugins/image_captions.rb"

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_factsheets,node_taxonomy,node_photo toneBlue
class node_guides,node_concepts toneAmber
class node_habitats,node_locations,node_wildspaces toneMint
class node_site_data,node_excerpt_filter,node_caption_hook toneRose
class node_visitor toneIndigo
```

## Components

### Species content

- [Species factsheets](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries): `_entries`
- [Taxonomic indexes](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries): `_entries`
- [Photo galleries](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_entries): `_entries`

### Field guides

- [Field guides](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/guides): `_articles/guides`
- [Biodiversity concepts](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/concepts): `_articles/concepts`

### Places and habitats

- [Habitat information](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/habitats): `_articles/habitats`
- [Location information](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/locations): `_articles/locations`
- [Our Wild Spaces](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_articles/OurWildSpaces2.0): `_articles/OurWildSpaces2.0`

### Content rendering

- [Site data](https://github.com/nature-hungry/wildsingapore-jekyll/tree/main/_data): `_data`
- [Excerpt filter](https://github.com/nature-hungry/wildsingapore-jekyll/blob/main/_plugins/homepage_excerpt_filters.rb): `_plugins/homepage_excerpt_filters.rb`
- [Image caption hook](https://github.com/nature-hungry/wildsingapore-jekyll/blob/main/_plugins/image_captions.rb): `_plugins/image_captions.rb`

### Other components

- **Visitor**

## Connections

- Visitor → Species factsheets: browses
- Visitor → Taxonomic indexes: explores
- Visitor → Photo galleries: views
- Visitor → Field guides: consults
- Visitor → Biodiversity concepts: reads
- Visitor → Habitat information: explores
- Visitor → Location information: explores
- Visitor → Our Wild Spaces: explores
