You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _pages/site-architecture.md
+36-35Lines changed: 36 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,56 +7,57 @@ nav_order: 13
7
7
8
8
## Overview
9
9
10
-
The FEASTorg documentation is organized using a hybrid approach that balances searchability, maintainability, and CI/CD complexity.
10
+
FEASTorg uses a hybrid Jekyll architecture that combines automated content import from across multiple repositories with centralized presentation and search. This is designed to balance site quality, maintainability, performance, and workflow efficiency.
11
11
12
-
## Technical Foundation
12
+
## Technical Stack
13
13
14
-
This site is built using [Jekyll](https://jekyllrb.com/), a static site generator that transforms plain text into static websites. Key technical components include:
14
+
**Core**: Jekyll 4.4+ with Just the Docs v0.10.1, Ruby 3.3, GitHub Pages
3. Front matter normalization for navigation hierarchy
33
+
4. URL redirect management
31
34
32
-
- This repository (`FEASTorg.github.io`) serves as the primary documentation hub
33
-
- Built as a monolithic site using Jekyll
34
-
- Features integrated search functionality
35
-
- Contains core documentation, guides, and project overviews
35
+
### Linked Projects Architecture
36
36
37
-
### Site Filtering
37
+
Some projects maintain standalone GitHub Pages sites but are linked through the hub due to complex CI/CD requirements. For example, hardware projects (e.g., Slice\_\* repositories) have their own build pipeline using [bread-infra](https://github.com/FEASTorg/bread-infra), or the Freeboard Project, which has its own CI/CD setup using auto-generated developer API reference and component documentation from monorepo packages, published via VuePress and GitHub Actions.
38
38
39
-
-`source.json`exclude: Hub-level filtering to enforce policy and catch missing, .indexignore in each repo does per-repo filtering
39
+
These are managed via `sources.linked.json` and automatically generate redirect stub pages.
40
40
41
-
### Externally Generated Sites
41
+
##Navigation & Styling
42
42
43
-
Some documentation is intentionally maintained in separate repositories for the following reasons:
43
+
**Structure**: Just the Docs hierarchical parent-child system with automated layout assignment via `_config.yml` defaults
44
44
45
-
- To prevent search result pollution from repetitive content
46
-
- To maintain specialized CI/CD workflows
47
-
- To handle complex development documentation separately
45
+
**Branding**: Custom FEAST color system (`_sass/custom/tokens.scss`) with:
48
46
49
-
These include:
47
+
- Primary blues (engineering theme)
48
+
- Accent oranges (harvest/warmth)
49
+
- Growth greens (automation/nature)
50
+
- Neutral grays (surfaces)
50
51
51
-
-**Slice_XXXX pages**: Documentation for individual SLICE implementations
52
-
-**freeboard**: Development documentation with its own monorepo structure
52
+
## Build Pipeline
53
53
54
-
### Documentation Integration Strategy
54
+
**Triggers**: Push to main, daily at 23:11 EST, manual dispatch
0 commit comments