Stacks
Stacks is Stack Overflow’s design system. It includes the resources needed to create consistent, predictable interfaces and workflows that conform to Stack Overflow’s principles, design language, and best practices.
Our documentation is built with Stacks itself, using its immutable, atomic classes and components.
The Stacks website documents:
Product
- Semantic and accessible component markup
- Cross-browser compatible Less / CSS
- An icon library
Email
- Email templates & components
Stacks documentation can be found at https://stackoverflow.design/
Table of contents
Using Stacks
Using Stacks is outlined in our usage guidelines.
Building Stacks
To contribute to Stacks documentation or its CSS library, you’ll need to build Stacks locally. View our building guidelines.
Having trouble getting these steps to work? Open an issue with a setup
label.
Linting Stacks
Run all lint suites by running:
npm run lint
Lint the styles (stylelint) by running:
npm run lint:css
Lint the typescript source code (eslint) via running:
npm run lint:ts
Lint the source code format (prettier) via running:
npm run lint:format
Testing Stacks
Stacks has implemented visual regression testing with Backstop. To test if your new feature introduces visual regressions, run npm run test
in a new Terminal window while Stacks is running. After the tests have run, a new browser window with any regressions will show. If the regressions are desired, you can run npm run approve
to establish the new baseline.
Individual routes to test are found in backstop.json
Bugs and feature requests
Have a bug or feature request? First search existing or closed issues to make sure the issue hasn’t been noted yet. If not, review our issue guidelines for submitting a bug report or feature request.
Contributing
If you’d like to contribute to Stacks, please read through our contribution guidelines. Included are directions for opening issues, coding standards, and notes on development.
License
Code and documentation copyright 2017-2022 Stack Exchange, Inc and released under the MIT License.