1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < meta charset ="UTF-8 ">
5+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
6+ < title > About - Example Knowledge Base</ title >
7+ < meta name ="theme-color " content ="#1a1a2e ">
8+ < link rel ="canonical " href ="https://example.com/about.html ">
9+ < link rel ="stylesheet " href ="assets/styles.css ">
10+ < style > /* Generated from project.yml — do not edit manually */
11+ .group-badge .governance { background : # 7c4dff ; }
12+ : is (html , body ).light-mode .group-badge .governance { background : # 4527a0 ; }
13+ .matrix-table .matrix-row-header .group-governance { border-left-color : # 7c4dff ; }
14+ : is (html , body ).light-mode .matrix-table .matrix-row-header .group-governance { border-left-color : # 4527a0 ; }
15+ .group-badge .technical { background : # 4fc3f7 ; }
16+ : is (html , body ).light-mode .group-badge .technical { background : # 0277bd ; }
17+ .matrix-table .matrix-row-header .group-technical { border-left-color : # 4fc3f7 ; }
18+ : is (html , body ).light-mode .matrix-table .matrix-row-header .group-technical { border-left-color : # 0277bd ; }
19+ .group-badge .operational { background : # ff6e40 ; }
20+ : is (html , body ).light-mode .group-badge .operational { background : # bf360c ; }
21+ .matrix-table .matrix-row-header .group-operational { border-left-color : # ff6e40 ; }
22+ : is (html , body ).light-mode .matrix-table .matrix-row-header .group-operational { border-left-color : # bf360c ; }
23+ .status-badge .active { background : # 4caf50 ; color : # 000 ; }
24+ : is (html , body ).light-mode .status-badge .active { background : # 1b7d1b ; color : # fff ; }
25+ .status-badge .draft { background : # ff9800 ; color : # 000 ; }
26+ : is (html , body ).light-mode .status-badge .draft { background : # e65100 ; color : # fff ; }
27+ .status-badge .deprecated { background : # 607d8b ; color : # 000 ; }
28+ : is (html , body ).light-mode .status-badge .deprecated { background : # 455a64 ; color : # fff ; }
29+ : root { --accent : # 4fc3f7 ; }
30+ : is (html , body ).light-mode { --accent : # 0055aa ; }
31+ </ style >
32+ < meta name ="description " content ="A structured reference tracking example entities across categories. ">
33+ < meta property ="og:title " content ="About ">
34+ < meta property ="og:description " content ="A structured reference tracking example entities across categories. ">
35+ < meta property ="og:type " content ="website ">
36+ < meta property ="og:image " content ="https://example.com/[object Object] ">
37+ < meta property ="og:url " content ="https://example.com/about.html ">
38+ < meta name ="twitter:card " content ="summary_large_image ">
39+ < meta name ="twitter:site " content ="[object Object] ">
40+ < script >
41+ ( function ( ) {
42+ var params = new URLSearchParams ( window . location . search ) ;
43+ if ( params . get ( 'theme' ) === 'light' || localStorage . getItem ( 'theme' ) === 'light' ) {
44+ document . documentElement . classList . add ( 'light-mode' ) ;
45+ localStorage . setItem ( 'theme' , 'light' ) ;
46+ }
47+ } ) ( ) ;
48+ </ script >
49+ </ head >
50+ < body >
51+ < a class ="skip-link " href ="#main-content "> Skip to content</ a >
52+ < header class ="site-header ">
53+ < h1 > < a href ="index.html " onclick ="passTheme(this) "> Example Knowledge Base</ a > </ h1 >
54+ < button class ="hamburger-btn " onclick ="toggleMobileMenu() " aria-label ="Toggle menu " aria-expanded ="false " aria-controls ="siteNav ">
55+ < span class ="hamburger-icon "> </ span >
56+ </ button >
57+ < nav class ="site-nav " id ="siteNav " aria-label ="Main navigation ">
58+ < a href ="index.html " class ="site-nav-link " onclick ="passTheme(this) "> Home</ a >
59+ < a href ="containers.html " class ="site-nav-link " onclick ="passTheme(this) "> Frameworks</ a >
60+ < a href ="primaries.html " class ="site-nav-link " onclick ="passTheme(this) "> Requirements</ a >
61+ < a href ="matrix.html " class ="site-nav-link " onclick ="passTheme(this) "> Matrix</ a >
62+ < a href ="timeline.html " class ="site-nav-link " onclick ="passTheme(this) "> Timeline</ a >
63+ < a href ="compare.html " class ="site-nav-link " onclick ="passTheme(this) "> Compare</ a >
64+ < a href ="about.html " class ="site-nav-link active " onclick ="passTheme(this) "> About</ a >
65+ < a href ="pattern.html " class ="site-nav-link " onclick ="passTheme(this) "> Pattern</ a >
66+ </ nav >
67+ < div class ="header-actions ">
68+ < div class ="site-search " role ="combobox " aria-expanded ="false " aria-haspopup ="listbox " aria-owns ="searchResults ">
69+ < input type ="search " id ="siteSearchInput " class ="search-input " placeholder ="Search... " aria-label ="Search " aria-autocomplete ="list " aria-controls ="searchResults " autocomplete ="off ">
70+ < ul id ="searchResults " class ="search-results " role ="listbox " hidden > </ ul >
71+ </ div >
72+ < button class ="theme-toggle " onclick ="toggleTheme() " title ="Toggle light/dark mode " aria-label ="Toggle light/dark mode "> 🌓</ button >
73+ </ div >
74+ </ header >
75+ < div class ="container " id ="main-content ">
76+ < div class ="about-content ">
77+ < h2 style ="margin-top: 0.5rem; "> About</ h2 >
78+ < p > A structured reference tracking example entities across categories. Tracks < strong > 2 frameworks</ strong > , < strong > 3 requirements</ strong > , < strong > 4 provisions</ strong > , and < strong > 2 organizations</ strong > .</ p >
79+ < h3 > Data Model</ h3 >
80+ < p > < strong > Organization</ strong > → < strong > Framework</ strong > → < strong > Provision</ strong > → < strong > Requirement</ strong > </ p >
81+ < p > Requirements are the stable anchors. Provisions are the implementations — different frameworks implements the same requirements differently.</ p >
82+ < h3 > JSON API</ h3 >
83+ < ul >
84+ < li > < span class ="api-endpoint "> < a href ="api/v1/index.json "> api/v1/index.json</ a > </ span > — API manifest</ li >
85+ < li > < span class ="api-endpoint "> < a href ="api/v1/primaries.json "> api/v1/primaries.json</ a > </ span > — All requirements</ li >
86+ < li > < span class ="api-endpoint "> < a href ="api/v1/containers.json "> api/v1/containers.json</ a > </ span > — All frameworks</ li >
87+ </ ul >
88+ < h3 > Contributing</ h3 >
89+ < p > See the < a href ="https://github.com/your-org/your-repo "> repository</ a > for contribution guidelines.</ p >
90+ </ div >
91+ </ div >
92+ < footer >
93+ < p > Maintained with < a href ="https://github.com/your-org/your-repo "> version control</ a > . This is a reference tool, not professional advice.</ p >
94+ < p > © 2026 | Built with < a href ="https://knowledge-as-code.com "> Knowledge-as-Code</ a > , a pattern by < a href ="https://paice.work "> PAICE.work</ a > </ p >
95+ </ footer >
96+ < script src ="assets/search.js "> </ script >
97+ < script src ="assets/tables.js "> </ script >
98+ < script >
99+ function toggleTheme ( ) {
100+ document . documentElement . classList . toggle ( 'light-mode' ) ;
101+ localStorage . setItem ( 'theme' , document . documentElement . classList . contains ( 'light-mode' ) ? 'light' : 'dark' ) ;
102+ }
103+ function toggleMobileMenu ( ) {
104+ var btn = document . querySelector ( '.hamburger-btn' ) ;
105+ var menu = document . getElementById ( 'siteNav' ) ;
106+ var isOpen = menu . classList . toggle ( 'open' ) ;
107+ btn . classList . toggle ( 'active' , isOpen ) ;
108+ btn . setAttribute ( 'aria-expanded' , isOpen ) ;
109+ }
110+ document . addEventListener ( 'click' , function ( e ) {
111+ var menu = document . getElementById ( 'siteNav' ) ;
112+ var btn = document . querySelector ( '.hamburger-btn' ) ;
113+ if ( menu && btn && menu . classList . contains ( 'open' ) && ! menu . contains ( e . target ) && ! btn . contains ( e . target ) ) {
114+ menu . classList . remove ( 'open' ) ;
115+ btn . classList . remove ( 'active' ) ;
116+ btn . setAttribute ( 'aria-expanded' , 'false' ) ;
117+ }
118+ } ) ;
119+ function passTheme ( link ) {
120+ if ( document . documentElement . classList . contains ( 'light-mode' ) ) {
121+ var url = new URL ( link . href , window . location . href ) ;
122+ url . searchParams . set ( 'theme' , 'light' ) ;
123+ link . href = url . pathname + url . search + url . hash ;
124+ }
125+ }
126+ ( function ( ) {
127+ var btn = document . createElement ( 'button' ) ;
128+ btn . className = 'back-to-top' ;
129+ btn . setAttribute ( 'aria-label' , 'Back to top' ) ;
130+ btn . textContent = '\u2191' ;
131+ document . body . appendChild ( btn ) ;
132+ window . addEventListener ( 'scroll' , function ( ) { btn . classList . toggle ( 'visible' , window . scrollY > 400 ) ; } ) ;
133+ btn . addEventListener ( 'click' , function ( ) { window . scrollTo ( { top : 0 , behavior : 'smooth' } ) ; } ) ;
134+ } ) ( ) ;
135+ </ script >
136+ </ body >
137+ </ html >
0 commit comments