base-ui icon indicating copy to clipboard operation
base-ui copied to clipboard

[website] Modernize the Base UI website

Open michaldudak opened this issue 1 year ago • 1 comments

Created a new documentation website for Base UI. It does not use any of the Material UI-specific components from the Core repo, which simplifies the setup.

Notable changes in comparison to the old site:

  • Using the Next.js App Router and React Server Components.
  • Using MDX instead of the custom Markdown parser (@mui/markdown). This enables the use of arbitrary components in the docs, potentially improving consistency (for things like installation instructions etc.).
  • New mechanisms for including and showing demos. The previous functions were tied to the webpack loader from @mui/markdown. Using RSC allowed us to greatly simplify the implementation of the loader.
  • Demo viewer uses unstyled base components.
  • Live editing of demos is currently not supported.
  • Material UI components are not used. We use custom-styled Base UI components where needed.
  • The site is styled using plain CSS.
  • There is no need to generate .js/.ts pages per component anymore. The site uses dynamic routes to render markdown for each component using a single page.tsx file.

To do:

  • [ ] SEO metadata
  • [x] Callout components
  • [ ] Update all the pages to use components for common parts
  • [ ] Component links component
  • [ ] Accessible demo toolbar
  • [ ] Demo file selector as tabs
  • [ ] Demo controls
    • [ ] Reset
    • [ ] Focus
    • [ ] Copy source
    • [ ] Expand/collapse code
    • [ ] View source on GitHub
  • [ ] CodeSandbox generation
  • [ ] StackBlitz generation
  • [ ] Source code preview generation
  • [ ] Code blocks in dark mode
  • [ ] Fix link checker script
  • [ ] Fix visual regression tests
  • [ ] Next/previous page links
  • [ ] "Edit this page on GitHub" link
  • [ ] Fix the Google Analytics component

michaldudak avatar Aug 09 '24 09:08 michaldudak

Netlify deploy preview

https://deploy-preview-538--base-ui.netlify.app/

Generated by :no_entry_sign: dangerJS against 19769260d376c9be4529bb04ceebaf223406e44a

mui-bot avatar Aug 09 '24 10:08 mui-bot