Skip to content

A cohesive design system & Vue component library to unify the web-facing Creative Commons

License

Notifications You must be signed in to change notification settings

Datagirlcmr/vocabulary

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vocabulary logo

Creative Commons Vocabulary

Vocabulary is a cohesive design system to unite the web facing Creative Commons.

All Contributors

MIT license PRs welcome GitHub Actions Netlify

Vocabulary is the code implementation of Creative Commons' Design Language. Vocabulary makes it easier to develop Creative Commons apps while ensuring a consistently familiar experience.

Included Packages

vocabulary is a monorepo containing three packages:

Package Description
@creativecommons/vocabulary The main CSS component library install size
@creativecommons/fonts A collection of typefaces and icon fonts install size
@creativecommons/vue-vocabulary Vue component library powered by the main CSS library install size

Installation

To setup you will need to have Node.js and npm installed.

Instailling with npm is lightweight, tweakable and much more performant as the code runs very close to the operating system. On the other hand, all dependencies must be manually resolved and each developer has a different setup.

Project dependencies

If you have the system dependencies installed, you can install the project dependencies via npm:

npm install --legacy-peer-deps

Running the project

Once the project dependencies are installed, run the following command to start the project:

npm run serve

Building the packages

To build the files for an individual package, run the relevant build command:

  • build:fonts
  • build:vocabulary
  • build:vue-vocabulary

For example, to build the fonts package, run the following commands:

npm install --legacy-peer-deps
npm run build:fonts

Sometimes, on windows environments you may get an error about linebreaks, fix that by running the command as

npm run build:fonts --fix

IMPORTANT NOTE: The serve command has the -s flag for static assets serving

Using

To use Vocabulary in your projects, refer to this document.

Contributing

We're always looking for contributors to help us find and fix bugs, build new features, help us improve the project documentation or translate the project to another language.

Vocabulary is continuously evolving and improving. You can contribute to the project in a number of ways.

What How
Code If you are a developer, feel free to resolve open issues, raise PRs, add new features to existing components or add new components altogether.
Design If you are a designer, your inputs on making every component more intuitive, aesthetic and joyful will reverberate through the entire ecosystem.
Test If you are a user of these components, your feedback, bug reports and feature requests will drive the project forward so that we can meet your needs.
Write If you have a knack for writing technical articles, you could be the voice of the library's documentation, making it easy to use and understand.
Share If you can't contribute in these ways, you can refer the project to a friend who might be able to. Spreading the word is the easiest way to help out.

Interested?

The following instructions are in addition to the processes in our general Contribution and Pull Request guidelines on the Creative Common Open Source website. If you haven't read them already, read them first.

These instructions are a port of the general guidelines, tailored specifically for Vocabulary.

Discussing Changes

For bug reports and feature requests, use GitHub issues with the appropriate labels. We can discuss the possibility of that change or new feature being implemented and released in the future. This lets us come to an agreement about the proposed idea before any work is done.

Assigning work

If the issue is already assigned to somebody, it is considered polite to give the last assignee a week's time to attempt it before you do. You can express an intention to work on it nonetheless so that it can be reassigned to you if the last assignee bails.

Submitting PRs without commenting your intent to solve an issue is risky because if someone else does ask to work on it before your PR comes in, your PR will be put on hold for a week.

Making changes

Do all work on its own branch. Use meaningful branch names.

Examples

  broken_links_readme
  typo_misspelled

Use clean commit messages, as imperative sentences in the present tense.

Examples:

  Remove the broken links from the `README.md` file
  Fix the typo on line 12, where 'misspelled' was misspelled as 'mispelled'

Update your fork from time to time. See GitHub Help pages for instructions on how to do that.

Write new tests, and update existing ones, for the changes you make.

Testing

While our Husky setup will prevent you from committing poorly linted code, it cannot catch logical problems. For that we have some tests.

Unit

Running unit tests is easy.

  npm run test:unit

Running this command will run a general test. Test can also be run for individual packages by running their respective commands

  npm run test:vue-vocabulary

Versioning

Vocabulary uses CalVer for version numbering, in the YYYY.M.Micro format. Micro is bumped whenever there are multiple releases in a month, for example 2020.7.1 is the first release in July 2020, while 2020.7.2 is the second.

License

Licensed under the Expat/MIT license.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Akpan Abraham

πŸ’»

Anik Das

πŸ’»

Arushi Verma

πŸ’»

Breno Ferreira

πŸ’» πŸ‘€

Chidiebere Onyegbuchulem

πŸ’»

Dhruv Bhanushali

πŸ’» πŸ§‘β€πŸ« πŸ‘€

Dhruvi Butti

πŸ’» 🎨

Efio-esien Efiom

πŸ’»

Hitesh

πŸš‡ ⚠️ πŸ“¦ πŸ’»

Hugo Solar

πŸ’» πŸ‘€

Jahnvi Gupta

🎨 πŸ’» ⚠️

Kriti Godey

πŸ“†

Krystle Salazar

πŸ“–

Megha Varshney

πŸ’» 🎨

MuluhGodson

πŸ“–

Neel Shah

πŸ’»

Nehal Nevle

πŸ’»

Silvina Tamburini

⚠️ πŸ’»

Tanuj Agarwal

πŸ“–

Vignesh Kumar

πŸ’»

kush aggarwal

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A cohesive design system & Vue component library to unify the web-facing Creative Commons

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • SCSS 49.3%
  • JavaScript 28.9%
  • Vue 19.4%
  • Shell 2.4%