Site overhaul
The current documentation site is in need of a complete overhaul, to improve visuals, functionality and content. This epic tracks the requirements and progress of the new site. <details> <summary>Requirements</summary> * Work with static site hosting. * Desktop first, but should work on mobile devices * Handle high contrast mode as well as dark mode. * Simple color scheme, few colors. * Respect preferences such as `prefers-reduced-motion` * Search index. * Examples: * Validatable examples functionally similar to the current `<validate>` tag. * Validatable examples should be editable or link to `online.html-validate.org`. * Preferably validation errors should use popovers * All examples should have syntax highlighting (html, js/ts, etc) * Configuration snippets should be toggleable json/cjs/esm * All code snippets should be linted and compiled to ensure no regressions happen (with support to opt-out) * SRI. * Should be able to import typescript interfaces, function prototypes etc. * Should be able to display generated API documentation. * Should be able to display generated list of rules, presets. * Categorization of pages: * Articles/guides * Rule * API * For articles/guides, should display estimated reading time. * Should support linking to other documents based on id/name/etc (no hardcoded urls) * Should support linking to repository source code: * Rule implementation * Edit markdown file * API implementation * Should generate all hrefs as relative urls, no base url. * Including changelog * Including package version * Support including multiple parallel versions (major versions) * Anchorlinks for headings * Automatic table of contents (opt-out) * Blog-like entries pulled from a separate source * Support `%version%` placeholder * Must handle adding the JSON schema files to the `scheme` directory. * Link validation, all links must be valid (internal links should error out during build, external links has to be verified at some point) * Diagrams and tables (including stylized red/green rows for support tables) </details> The site should prefer native solutions over javascript, progressive enhancements if needed but anything with javascript should be added with good reason. Native elements/techniques > CSS > Javascript.
epic