feat: move build files to docs folder

This commit is contained in:
libretech committed 2025-06-01 20:42:58 +02:00
1 parent 531ca34610
commit 15187459d6
7 files changed
+840 -3

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
<!DOCTYPE html><html lang="en" dir="ltr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Web Platform Fundamentals: Building with Native HTML</title><meta name="description" content="Master native HTML capabilities and progressive enhancement patterns. This guide demonstrates how leveraging built-in browser features reduces complexity, improves performance, and creates more maintainable codebases."><link rel="stylesheet" href="/html-over-js/main.612a6b84.css"></head><body class="search_plugin_added"><div class="hero"><h1>🚀 Web Platform Fundamentals</h1><p class="subtitle">Master native HTML capabilities and progressive enhancement patterns. This guide demonstrates how leveraging built-in browser features reduces complexity, improves performance, and creates more maintainable codebases.</p></div><div class="section"><h2 class="section-title">🎯 Progressive Disclosure Patterns</h2><div class="comparison-grid"><div class="column bad"><h3>JavaScript-Dependent Implementation <span class="perf-indicator perf-slow">COMPLEX</span></h3><div class="accessibility-note"><strong>⚠️ Implementation Overhead: Manual ARIA state management, keyboard event handling, focus management, and screen reader compatibility.</strong></div><div class="js-wrapper"><div class="js-content" id="content1">Custom collapsible implementations require comprehensive event handling, state synchronization across components, and careful attention to accessibility requirements including proper ARIA attributes and keyboard navigation patterns.</div><button class="js-collapsible" onclick="toggleContent('content1')">Custom Collapsible Architecture</button></div><div class="js-wrapper"><div class="js-content" id="content2">Managing state across multiple collapsible sections introduces complexity in event coordination, memory management, and performance optimization, particularly when dealing with dynamic content loading.</div><button class="js-collapsible" onclick="toggleContent('content2')">State Management Challenges</button></div><div class="pros-cons"><h4 class="cons">❌ Architecture Complexity:</h4><ul><li>Event delegation and memory leak prevention</li><li>ARIA state synchronization and keyboard trap management</li><li>Cross-browser compatibility and polyfill requirements</li></ul></div></div><div class="column good"><h3>Native Details/Summary Elements <span class="perf-indicator perf-fast">ZERO-JS</span></h3><div class="accessibility-note"><strong>🎯 Platform Integration: Built-in ARIA semantics, keyboard navigation, screen reader support, and browser-optimized animations.</strong></div><details name="architecture"><summary>Semantic HTML Architecture</summary><div>The HTML5 details/summary pattern provides declarative progressive disclosure without JavaScript dependencies. Browser engines handle state management, accessibility, and user interaction patterns according to platform conventions.</div></details><details name="architecture"><summary>Progressive Enhancement Benefits</summary><div>Starting with functional HTML ensures graceful degradation across all environments. CSS and JavaScript become enhancement layers rather than functional requirements, improving reliability and reducing technical debt.</div></details><details name="architecture"><summary>Performance Characteristics</summary><div>Native elements eliminate bundle size overhead, reduce runtime memory consumption, and leverage browser optimizations unavailable to custom implementations. Hardware acceleration and efficient event handling come built-in.</div></details><div class="pros-cons"><h4 class="pros">✅ Platform Advantages:</h4><ul><li>Zero JavaScript footprint with full accessibility compliance</li><li>Browser-native performance optimizations and hardware acceleration</li><li>Consistent cross-platform behavior with no maintenance overhead</li></ul></div></div></div></div><div class="section"><h2 class="section-title">🪟 Modal Dialog Patterns</h2><div class="comparison-grid"><div class="column bad"><h3>Custom Modal Implementation <span class="perf-indicator perf-slow">BRITTLE</span></h3><div class="accessibility-note"><strong>⚠️ Critical Requirements: Focus trapping, inert background content, ESC key handling, backdrop click management, and ARIA modal semantics.</strong></div><button onclick="openJSModal()">Launch Custom Modal</button><div class="js-modal-overlay" id="jsModal"><div class="js-modal-content"><h4>Custom Modal Architecture</h4><p>This approach requires managing the modal stack, preventing background interaction, coordinating focus management, and ensuring proper cleanup to avoid memory leaks and accessibility violations.</p><p><strong>Critical Issue: Background content remains accessible to screen readers and keyboard navigation without explicit inert management.</strong></p><button onclick="closeJSModal()">Close Modal</button></div></div><div class="pros-cons"><h4 class="cons">❌ ImplemenLine truncated
Requires: Date manipulation library, internationalization,
keyboard navigation, mobile gesture handling,
timezone calculations, accessibility compliance.</p></div></div><div class="pros-cons"><h4 class="cons">❌ Implementation Overhead:</h4><ul><li>Large JavaScript libraries and complex calendar logic</li><li>Mobile UX inconsistency with platform date pickers</li><li>Internationalization complexity and timezone edge cases</li></ul></div></div><div class="column good"><h3>Native Temporal Inputs <span class="perf-indicator perf-fast">PLATFORM-NATIVE</span></h3><div class="accessibility-note"><strong>🎯 OS Integration: Platform-consistent UI, automatic keyboard navigation, built-in validation, and internationalization support.</strong></div><div class="form-group"><label>Release Date</label><input id="native-date" name="date" type="date" value="2024-12-15" min="2024-01-01" max="2025-12-31"></div><div class="form-group"><label>Build Timestamp</label><input id="native-datetime" name="datetime" type="datetime-local" step="1"></div><div class="form-group"><label>Deployment Window</label><input id="native-time" name="time" type="time" min="02:00" max="18:00" step="900"></div><div class="pros-cons"><h4 class="pros">✅ Platform Integration:</h4><ul><li>Zero-bundle impact with native OS picker integration</li><li>Automatic validation and internationalization support</li><li>Consistent UX aligned with platform conventions</li></ul></div></div></div></div><div class="section"><h2 class="section-title">🔍 Autocomplete Patterns</h2><div class="comparison-grid"><div class="column bad"><h3>Custom Autocomplete <span class="perf-indicator perf-slow">INTERACTION-HEAVY</span></h3><div class="accessibility-note"><strong>⚠️ Interaction Complexity: Dropdown positioning, keyboard navigation, ARIA combobox implementation, and mobile touch handling.</strong></div><div class="form-group"><label>Framework Search (Custom)</label><input id="js-search" type="text" placeholder="Type framework name..." autocomplete="off" onkeyup="filterFrameworks(this.value)"><div id="js-results" style="display: none; position: absolute; background: var(--color-card); border: 1px solid var(--color-border); max-height: 200px; overflow-y: auto; z-index: 100"></div></div><div class="pros-cons"><h4 class="cons">❌ Interaction Management:</h4><ul><li>Complex ARIA combobox implementation and state management</li><li>Dropdown positioning and viewport collision detection</li><li>Mobile keyboard optimization and touch event handling</li></ul></div></div><div class="column good"><h3>Native Datalist Element <span class="perf-indicator perf-fast">ZERO-CONFIG</span></h3><div class="accessibility-note"><strong>🎯 Native Combobox: Built-in ARIA combobox semantics, keyboard navigation, and platform-consistent interaction patterns.</strong></div><div class="form-group"><label>JavaScript Framework</label><input id="native-framework" type="text" list="frameworks" placeholder="Select or type framework..."><datalist id="frameworks"><option value="React">React - Component-based library</option><option value="Vue.js">Vue.js - Progressive framework</option><option value="Angular">Angular - Full platform</option><option value="Svelte">Svelte - Compile-time framework</option><option value="Solid">Solid - Fine-grained reactivity</option><option value="Alpine.js">Alpine.js - Minimal framework</option><option value="Lit">Lit - Web Components library</option><option value="Preact">Preact - Lightweight React alternative</option></datalist></div><div class="form-group"><label>Programming Language</label><input id="native-language" type="text" list="languages" placeholder="Choose language..."><datalist id="languages"><option value="JavaScript" label="JavaScript - Dynamic scripting"></option><option value="TypeScript" label="TypeScript - Typed JavaScript"></option><option value="Python" label="Python - General purpose"></option><option value="Rust" label="Rust - Systems programming"></option><option value="Go" label="Go - Concurrent systems"></option><option value="WebAssembly" label="WebAssembly - High-performance web"></option><option value="C" label="C - Low-level systems"></option><option value="C++" label="C++ - High-performance systems"></option><option value="C#" label="C# - .NET ecosystem"></option><option value="Java" label="Java - Cross-platform enterprise"></option><option value="Kotlin" label="Kotlin - Modern JVM language"></option><option value="Swift" label="Swift - iOS and macOS"></option><option value="Ruby" label="Ruby - Web development (Rails)"></option><option value="PHP" label="PHP - Server-side scripting"></option><option value="Perl" label="Perl - Text processing"></option><option value="Haskell" label="Haskell - Functional programming"></option><option value="Elixir" label="Elixir - Scalable applications"></option><option value="Dart" label="Dart - Web and mobile apps"></option><option value="Scala" label="Scala - Functional JVM language"></option><option value="Lua" label="Lua - Lightweight scripting"></option><option value="R" label="R - Statistical compuLine truncated