Codex is the Design System for Wikimedia. Codex features a toolkit for building user interfaces, containing design tokens, Vue 3 components and VitePress documentation site packages. This is a mirror from https://gerrit.wikimedia.org/g/design/codex/
Codex is an impressive design system crafted for Wikimedia, aimed at fostering the development of usable, accessible, and translatable applications. It features a comprehensive set of tools and components, including Vue 3 elements and CSS-only options, designed to streamline the development process while adhering to stringent accessibility standards. The system's well-organized structure provides crucial support for various languages and global applications, making it an invaluable resource for developers working on diverse projects.
The repository offers several packages, each catering to specific needs, from design tokens that ensure stylistic consistency in accordance with the Codex Design Style Guide to a collection of icons featuring different language and directionality variants. Furthermore, the accompanying VitePress site serves as a centralized hub for documentation and component demos, enhancing the user experience and facilitating easier navigation through its comprehensive offerings.
Internationalization Support: Wide-ranging support for global usage ensures that applications developed with Codex cater to a diverse audience by accommodating multiple languages.
Web Accessibility Compliance: Codex adheres to the Web Content Accessibility Guidelines (WCAG) 2.1 level AA, making it suitable for users of all abilities and enhancing overall inclusion.
Comprehensive Browser and Device Support: The design system is engineered to work seamlessly across various browsers and devices, providing reliable performance regardless of the user's setup.
Easy Installation: Clear documentation guides users through the straightforward installation process, with specific commands to install dependencies and run necessary scripts.
Development Flexibility: With Node Version Manager (NVM) and npm pre-requisites in place, developers can easily manage versions and dependencies, ensuring a smooth development experience.
Unit Testing: Codex includes built-in commands for running unit tests, supporting quality assurance and ensuring that components function as intended.
Contribution Opportunities: The project encourages collaboration, with detailed contributing guidelines that outline how individuals can get involved and support ongoing development.
Vue.js is a lightweight and flexible JavaScript framework that allows developers to easily build dynamic and reactive user interfaces. Its intuitive syntax, modular architecture, and focus on performance make it a popular choice for modern web development.
Less CSS is a dynamic stylesheet language that extends the capabilities of CSS, allowing developers to write cleaner, more modular, and reusable stylesheets with features like variables, mixins, and nested rules.
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 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.
TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.