# len4cf/lil-corner-on-the-www architecture

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

- Interactive diagram: https://gitdiagram.com/len4cf/lil-corner-on-the-www
- Repository: https://github.com/len4cf/lil-corner-on-the-www

## Overview

This is a personal digital garden built with Astro: visitors browse a home page, blog notes, garden directories, and a radio section. A separate content-fetch workflow imports publishable Markdown from local vaults or GitHub repositories, transforms note links and embeds, and writes generated content and assets for the site to render. The tree identifies additional site sections and components, but their implementations were not sampled, so their detailed wiring is left unspecified.

Main entry points: [`scripts/fetch.mjs`](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/fetch.mjs) (Fetch workflow), [`scripts/lib/collect.mjs`](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/collect.mjs) (Source resolver), [`src/content/notes`](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/content/notes) (Published notes), [`src/content.config.ts`](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/content.config.ts) (Content collections)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Site sections"]
  node_home["Home page<br/>[index.astro]"]
  node_blog["Blog pages"]
  node_garden["Garden index<br/>[index.astro]"]
  node_sites["Sites directory<br/>[index.astro]"]
  node_videos["Videos directory<br/>[index.astro]"]
  node_radio["Radio section"]
end

subgraph group_presentation["Presentation"]
  node_layouts["Page layouts"]
  node_components["Site components"]
end

subgraph group_content["Content model"]
  node_content_config["Content collections<br/>[content.config.ts]"]
  node_notes["Published notes"]
end

subgraph group_ingest["Note ingestion"]
  node_fetch["Fetch workflow<br/>[fetch.mjs]"]
  node_source_resolver["Source resolver<br/>[collect.mjs]"]
  node_transform["Note transformer<br/>[transform.mjs]"]
  node_assets["Published assets"]
  node_manifest["Generated-file manifest<br/>[manifest.mjs]"]
end

node_visitor(("Visitor"))
node_local_vault[("Local vault")]
node_github_repos[("GitHub repositories")]

node_visitor -->|"browses"| node_home
node_visitor -->|"browses"| node_blog
node_visitor -->|"browses"| node_garden
node_visitor -->|"browses"| node_sites
node_visitor -->|"browses"| node_videos
node_visitor -->|"browses"| node_radio
node_content_config -->|"loads notes"| node_notes
node_fetch -->|"resolves sources"| node_source_resolver
node_fetch -->|"lists notes and assets"| node_source_resolver
node_local_vault -.->|"reads files"| node_source_resolver
node_github_repos -.->|"clones repositories"| node_source_resolver
node_fetch -->|"parses and transforms"| node_transform
node_fetch -->|"writes generated notes"| node_notes
node_fetch -->|"copies referenced assets"| node_assets
node_fetch -->|"records generated files"| node_manifest

click node_home "https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/index.astro"
click node_blog "https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/pages/blog"
click node_garden "https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/index.astro"
click node_sites "https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/sites/index.astro"
click node_videos "https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/videos/index.astro"
click node_radio "https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/pages/radio"
click node_layouts "https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/layouts"
click node_components "https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/components"
click node_content_config "https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/content.config.ts"
click node_notes "https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/content/notes"
click node_fetch "https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/fetch.mjs"
click node_source_resolver "https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/collect.mjs"
click node_transform "https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/transform.mjs"
click node_manifest "https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/manifest.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_home,node_blog,node_garden,node_sites,node_videos,node_radio toneBlue
class node_layouts,node_components,node_local_vault,node_github_repos toneAmber
class node_content_config,node_notes toneMint
class node_fetch,node_source_resolver,node_transform,node_assets,node_manifest toneRose
class node_visitor toneIndigo
```

## Components

### Site sections

- [Home page](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/index.astro): `src/pages/index.astro`
- [Blog pages](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/pages/blog): `src/pages/blog`
- [Garden index](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/index.astro): `src/pages/garden/index.astro`
- [Sites directory](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/sites/index.astro): `src/pages/garden/sites/index.astro`
- [Videos directory](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/pages/garden/videos/index.astro): `src/pages/garden/videos/index.astro`
- [Radio section](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/pages/radio): `src/pages/radio`

### Presentation

- [Page layouts](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/layouts): `src/layouts`
- [Site components](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/components): `src/components`

### Content model

- [Content collections](https://github.com/len4cf/lil-corner-on-the-www/blob/main/src/content.config.ts): `src/content.config.ts`
- [Published notes](https://github.com/len4cf/lil-corner-on-the-www/tree/main/src/content/notes): `src/content/notes`

### Note ingestion

- [Fetch workflow](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/fetch.mjs): `scripts/fetch.mjs`
- [Source resolver](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/collect.mjs): `scripts/lib/collect.mjs`
- [Note transformer](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/transform.mjs): `scripts/lib/transform.mjs`
- **Published assets**
- [Generated-file manifest](https://github.com/len4cf/lil-corner-on-the-www/blob/main/scripts/lib/manifest.mjs): `scripts/lib/manifest.mjs`

### Other components

- **Visitor**
- **Local vault**
- **GitHub repositories**

## Connections

- Visitor → Home page: browses
- Visitor → Blog pages: browses
- Visitor → Garden index: browses
- Visitor → Sites directory: browses
- Visitor → Videos directory: browses
- Visitor → Radio section: browses
- Content collections → Published notes: loads notes
- Fetch workflow → Source resolver: resolves sources
- Fetch workflow → Source resolver: lists notes and assets
- Local vault → Source resolver: reads files
- GitHub repositories → Source resolver: clones repositories
- Fetch workflow → Note transformer: parses and transforms
- Fetch workflow → Published notes: writes generated notes
- Fetch workflow → Published assets: copies referenced assets
- Fetch workflow → Generated-file manifest: records generated files
