# dg-inclass/dg-inclass.github.io architecture

> Architecture diagram of the GitHub repository dg-inclass/dg-inclass.github.io, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dg-inclass/dg-inclass.github.io
- Repository: https://github.com/dg-inclass/dg-inclass.github.io

## Overview

This repository is a supplemental course-resource website built with Astro and Starlight. A learner browses its documentation pages; the site organizes course lessons, coding material, workshops, guides, and references into routes and navigation. The configuration also enables search, quizzes, diagrams, code-block enhancements, and build-time math rendering. The graph reflects the documented content layout and sampled configuration; individual page behavior and several custom components were not inspected, so their internal interactions are not inferred.

Main entry points: [`astro.config.mjs`](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs) (Astro and Starlight), [`src/content.config.ts`](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/content.config.ts) (Docs collection), [`src/components/starlight`](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/components/starlight) (Custom Starlight views), [`src/pages/robots.txt.ts`](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/pages/robots.txt.ts) (Robots route)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Site runtime"]
  node_site["Astro and Starlight<br/>[astro.config.mjs]"]
  node_content_loader["Docs collection<br/>[content.config.ts]"]
  node_site_components["Custom Starlight views"]
  node_robots["Robots route<br/>[robots.txt.ts]"]
end

subgraph group_courses["Course materials"]
  node_class_courses["Class materials"]
  node_sdev1150["SDEV-1150"]
  node_sdev2150["SDEV-2150"]
  node_dmit["DMIT courses"]
end

subgraph group_resources["Learning resources"]
  node_coding["Coding topics"]
  node_general["General resources"]
  node_guides["Guides"]
  node_reference["Reference"]
  node_workshops["Workshops"]
  node_left_field["Further reading"]
end

subgraph group_extensions["Rendering features"]
  node_math["Math rendering<br/>[satteri-katex.mjs]"]
  node_search["Federated search<br/>[astro.config.mjs]"]
  node_quizzes["Quizzes<br/>[astro.config.mjs]"]
  node_diagrams["Mermaid diagrams<br/>[astro.config.mjs]"]
  node_codeblocks["Code enhancements<br/>[ec.config.mjs]"]
end

node_learner(("Learner"))
node_external_indexes(("Course search indexes"))

node_learner -->|"browses"| node_site
node_content_loader -->|"loads docs"| node_site
node_site -->|"routes docs"| node_class_courses
node_site -->|"navigates lessons"| node_sdev1150
node_site -->|"navigates lessons"| node_sdev2150
node_site -->|"navigates courses"| node_dmit
node_site -->|"navigates topics"| node_coding
node_site -->|"navigates topics"| node_general
node_site -->|"navigates guides"| node_guides
node_site -->|"navigates reference"| node_reference
node_site -->|"navigates workshops"| node_workshops
node_site -->|"navigates reading"| node_left_field
node_site -->|"configures views"| node_site_components
node_site -->|"configures math"| node_math
node_site -->|"configures search"| node_search
node_search -->|"merges indexes"| node_external_indexes
node_site -->|"registers plugin"| node_quizzes
node_site -->|"registers integration"| node_diagrams
node_site -->|"registers plugin"| node_codeblocks
node_site -->|"serves route"| node_robots

click node_site "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs"
click node_content_loader "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/content.config.ts"
click node_site_components "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/components/starlight"
click node_robots "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/pages/robots.txt.ts"
click node_class_courses "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/classes"
click node_sdev1150 "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/sdev-1150"
click node_sdev2150 "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/sdev-2150"
click node_dmit "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/dmit"
click node_coding "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/coding"
click node_general "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/general"
click node_guides "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/guides"
click node_reference "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/reference"
click node_workshops "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/workshops"
click node_left_field "https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/left-field"
click node_math "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/plugins/satteri-katex.mjs"
click node_search "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs"
click node_quizzes "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs"
click node_diagrams "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs"
click node_codeblocks "https://github.com/dg-inclass/dg-inclass.github.io/blob/main/ec.config.mjs"

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_site,node_content_loader,node_site_components,node_robots toneBlue
class node_class_courses,node_sdev1150,node_sdev2150,node_dmit toneAmber
class node_coding,node_general,node_guides,node_reference,node_workshops,node_left_field toneMint
class node_math,node_search,node_quizzes,node_diagrams,node_codeblocks toneRose
class node_learner,node_external_indexes toneIndigo
```

## Components

### Site runtime

- [Astro and Starlight](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs): `astro.config.mjs`
- [Docs collection](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/content.config.ts): `src/content.config.ts`
- [Custom Starlight views](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/components/starlight): `src/components/starlight`
- [Robots route](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/src/pages/robots.txt.ts): `src/pages/robots.txt.ts`

### Course materials

- [Class materials](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/classes): `src/content/docs/classes`
- [SDEV-1150](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/sdev-1150): `src/content/docs/sdev-1150`
- [SDEV-2150](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/sdev-2150): `src/content/docs/sdev-2150`
- [DMIT courses](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/dmit): `src/content/docs/dmit`

### Learning resources

- [Coding topics](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/coding): `src/content/docs/coding`
- [General resources](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/general): `src/content/docs/general`
- [Guides](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/guides): `src/content/docs/guides`
- [Reference](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/reference): `src/content/docs/reference`
- [Workshops](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/workshops): `src/content/docs/workshops`
- [Further reading](https://github.com/dg-inclass/dg-inclass.github.io/tree/main/src/content/docs/left-field): `src/content/docs/left-field`

### Rendering features

- [Math rendering](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/plugins/satteri-katex.mjs): `plugins/satteri-katex.mjs`
- [Federated search](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs): `astro.config.mjs`
- [Quizzes](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs): `astro.config.mjs`
- [Mermaid diagrams](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/astro.config.mjs): `astro.config.mjs`
- [Code enhancements](https://github.com/dg-inclass/dg-inclass.github.io/blob/main/ec.config.mjs): `ec.config.mjs`

### Other components

- **Learner**
- **Course search indexes**

## Connections

- Learner → Astro and Starlight: browses (evidence: `README.md`)
- Docs collection → Astro and Starlight: loads docs (evidence: `src/content.config.ts`)
- Astro and Starlight → Class materials: routes docs (evidence: `README.md`)
- Astro and Starlight → SDEV-1150: navigates lessons (evidence: `astro.config.mjs`)
- Astro and Starlight → SDEV-2150: navigates lessons (evidence: `astro.config.mjs`)
- Astro and Starlight → DMIT courses: navigates courses (evidence: `astro.config.mjs`)
- Astro and Starlight → Coding topics: navigates topics (evidence: `astro.config.mjs`)
- Astro and Starlight → General resources: navigates topics (evidence: `astro.config.mjs`)
- Astro and Starlight → Guides: navigates guides (evidence: `astro.config.mjs`)
- Astro and Starlight → Reference: navigates reference (evidence: `astro.config.mjs`)
- Astro and Starlight → Workshops: navigates workshops (evidence: `astro.config.mjs`)
- Astro and Starlight → Further reading: navigates reading (evidence: `astro.config.mjs`)
- Astro and Starlight → Custom Starlight views: configures views (evidence: `astro.config.mjs`)
- Astro and Starlight → Math rendering: configures math (evidence: `astro.config.mjs`)
- Astro and Starlight → Federated search: configures search (evidence: `astro.config.mjs`)
- Federated search → Course search indexes: merges indexes (evidence: `astro.config.mjs`)
- Astro and Starlight → Quizzes: registers plugin (evidence: `astro.config.mjs`)
- Astro and Starlight → Mermaid diagrams: registers integration (evidence: `astro.config.mjs`)
- Astro and Starlight → Code enhancements: registers plugin (evidence: `astro.config.mjs`)
- Astro and Starlight → Robots route: serves route (evidence: `src/pages/robots.txt.ts`)
