Marble

screenshot of Marble
scss

Marble is the design system of The Metropolitan Museum of Art

Overview

Marble is the innovative design system developed by the Digital Department of The Metropolitan Museum of Art. This comprehensive framework not only enhances the aesthetic appeal of digital projects, but also emphasizes consistency and usability. As an innersource project, Marble stands as a testament to the Museum's commitment to open-source collaboration, allowing developers to harness its capabilities for their own creative endeavors.

Designed with flexibility in mind, Marble integrates seamlessly into various web development environments. Whether you are building a small application or a complex website, this design system offers the tools and resources necessary to elevate user experience and maintain brand integrity.

Features

  • Component Explorer: Powered by Storybook, this feature allows developers to visualize and interact with available components, enhancing the design process.

  • Installation Flexibility: Marble can be installed directly from GitHub using semantic versioning, providing options for various deployment strategies tailored to different project needs.

  • Reproducible Builds: Utilizing npm ci ensures that builds are deterministic and reproducible, eliminating the risk of unintentional upgrades during deployment.

  • Multiple Import Methods: Supports various import styles, including CommonJS and ESM syntax, making it adaptable to a wide range of project structures.

  • SCSS and CSS Support: Marble provides precompiled, minified CSS as well as SCSS options for those who prefer customization while maintaining design consistency.

  • Ongoing Development: As an actively maintained resource, Marble encourages contributions and improvements from the community, ensuring its evolution aligns with modern web standards.

  • Documentation and Resources: Extensive design documentation and examples are available, making it easy for developers to integrate Marble into their projects effectively.

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

ui-kit
UI Kits & Components

A UI kit provides developers with a set of reusable components that can be easily integrated into a website or application. These components are pre-designed with consistent styling and functionality, allowing developers to save time and effort in the design and development process. UI kits can be either custom-built or third-party, and often include components for buttons, forms, typography, icons, and more.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

Storybook

Storybook is a tool for developing and testing UI components in isolation. It provides a sandbox environment where you can experiment with different props and states to see how your component responds.

Stylelint

Stylelint is a modern linter for CSS that helps you avoid errors and enforce consistent styling conventions. It provides rules for detecting errors and warnings, and can be configured to match your specific project's requirements.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.