@@ -365,6 +365,143 @@ jobs:
365365 if [ -d "build-output/drafts/current/schema" ]; then
366366 cp -r build-output/drafts/current/schema ./pages-content/
367367 echo "✅ Copied schema directory"
368+
369+ # Create schema directory index.html
370+ cat > ./pages-content/schema/index.html << 'SCHEMA_EOF'
371+ <!DOCTYPE html>
372+ <html>
373+ <head>
374+ <meta charset="utf-8">
375+ <title>BOOST JSON Schema Directory</title>
376+ <style>
377+ body {
378+ font-family : -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
379+ max-width : 1000px;
380+ margin : 50px auto;
381+ padding : 20px;
382+ line-height : 1.6;
383+ }
384+ .header {
385+ text-align : center;
386+ margin-bottom : 40px;
387+ padding : 30px;
388+ background : # f8f9fa;
389+ border-radius : 10px;
390+ }
391+ .schema-grid {
392+ display : grid;
393+ grid-template-columns : repeat(auto-fit, minmax(300px, 1fr));
394+ gap : 20px;
395+ margin : 30px 0;
396+ }
397+ .schema-card {
398+ border : 1px solid # ddd;
399+ border-radius : 8px;
400+ padding : 15px;
401+ background : # fff;
402+ transition : box-shadow 0.2s;
403+ }
404+ .schema-card:hover { box-shadow : 0 4px 12px rgba(0,0,0,0.1); }
405+ .schema-name {
406+ font-weight : 600;
407+ font-size : 16px;
408+ margin-bottom : 8px;
409+ color : # 333;
410+ }
411+ .schema-links a {
412+ display : inline-block;
413+ margin : 4px 8px 4px 0;
414+ padding : 6px 12px;
415+ background : # 0066cc;
416+ color : white;
417+ text-decoration : none;
418+ border-radius : 4px;
419+ font-size : 14px;
420+ }
421+ .schema-links a:hover { background : # 0052a3; }
422+ .back-link {
423+ display : inline-block;
424+ margin-bottom : 20px;
425+ padding : 10px 20px;
426+ background : # 28a745;
427+ color : white;
428+ text-decoration : none;
429+ border-radius : 5px;
430+ }
431+ .back-link:hover { background : # 218838; }
432+ .stats { text-align : center; color: # 666; margin: 20px 0; }
433+ </style>
434+ </head>
435+ <body>
436+ <a href="../" class="back-link">← Back to BOOST Documentation</a>
437+
438+ <div class="header">
439+ <h1>📋 BOOST JSON Schema Directory</h1>
440+ <p>Complete collection of JSON Schema validation files for all BOOST entities</p>
441+ </div>
442+
443+ <div class="stats">
444+ <strong>33 Entity Schemas</strong> across 7 thematic areas
445+ </div>
446+
447+ <div class="schema-grid">
448+ SCHEMA_EOF
449+
450+ # Generate schema entries dynamically
451+ for schema_dir in ./pages-content/schema/*/; do
452+ if [ -d "$schema_dir" ]; then
453+ entity_name=$(basename "$schema_dir")
454+ # Convert underscore to title case
455+ display_name=$(echo "$entity_name" | sed 's/_/ /g' | sed 's/\b\w/\U&/g')
456+
457+ cat >> ./pages-content/schema/index.html << SCHEMA_EOF
458+ <div class="schema-card">
459+ <div class="schema-name">$display_name</div>
460+ <div class="schema-links">
461+ SCHEMA_EOF
462+
463+ # Add links to available files in each schema directory
464+ if [ -f "$schema_dir/validation_schema.json" ]; then
465+ cat >> ./pages-content/schema/index.html << SCHEMA_EOF
466+ <a href="./$entity_name/validation_schema.json">JSON Schema</a>
467+ SCHEMA_EOF
468+ fi
469+
470+ if [ -f "$schema_dir/${entity_name}_dictionary.md" ]; then
471+ cat >> ./pages-content/schema/index.html << SCHEMA_EOF
472+ <a href="./$entity_name/${entity_name}_dictionary.md">Dictionary</a>
473+ SCHEMA_EOF
474+ fi
475+
476+ if [ -f "$schema_dir/${entity_name}_example.json" ]; then
477+ cat >> ./pages-content/schema/index.html << SCHEMA_EOF
478+ <a href="./$entity_name/${entity_name}_example.json">Example</a>
479+ SCHEMA_EOF
480+ fi
481+
482+ cat >> ./pages-content/schema/index.html << SCHEMA_EOF
483+ </div>
484+ </div>
485+ SCHEMA_EOF
486+ fi
487+ done
488+
489+ # Close the HTML
490+ cat >> ./pages-content/schema/index.html << 'SCHEMA_EOF'
491+ </div>
492+
493+ <div style="text-align : center; margin-top: 40px; color: # 666;">
494+ <p><strong>Usage:</strong> Each entity includes JSON Schema for validation,
495+ dictionary documentation, and example data files where available.</p>
496+ <p><a href="../boost-spec.html">📖 View Full Documentation</a> |
497+ <a href="../erd-navigator/">🔍 ERD Navigator</a></p>
498+ </div>
499+ </body>
500+ </html>
501+ SCHEMA_EOF
502+
503+ echo "✅ Created schema directory index.html"
504+
368505 else
369506 echo "❌ Schema directory not found at build-output/drafts/current/schema"
370507 # Debug: show what's actually in the build output
0 commit comments