Skip to content

Latest commit

 

History

History
131 lines (80 loc) · 5.8 KB

CONTRIBUTING.md

File metadata and controls

131 lines (80 loc) · 5.8 KB

Contributing to Concise

Welcome to Concise! We are not only here to make it as simple as possible to build websites, but also to contribute to the project.

By following this guide to contributing, we can make sure that everything is up to code (pun intended), everything is formatted properly, and we are posting bug reports, feature requests, and questions in the proper area.

Sound good? Let's move on...

Bug reports, feature requests, and questions

** Thanks to thoughtbot for this great way to handling questions for an open source project.

In lieu of a mailing list, we are going to manage all specific questions through Stack Overflow.

Members of the Concise team are subscribed to specific tags via Stack Exchange Filters so that if a question is properly tagged, we can respond in a timely manner and help.

Which tags?

Ideally, we would like to keep it to just one tag for Concise questions, but we are subscribed to multiple variants to make sure nothing passes by us. However, for everybody asking a question, please use:

Where do I post this?

There are lots of different things that people will want to post regarding the Concise framework. Here is a rough outline of where you should post any given issue, question or contribution:

Building the Project

The project is built with Node.js. To change the styles or the preprocessor, follow these steps:

  1. Install Node.js 22.22 or newer.

  2. Navigate to the project in the terminal:

cd /path/to/directory
  1. Install the npm modules:
npm install
  1. You can now run the following commands:

Run the tests:

npm test

The test suite compiles the fixtures in test/fixtures/ (one .pcss input and its expected .css output per case). It also compares the compiled core, ui and utils stylesheets with the snapshots in test/snapshots/.

Accept changes to the compiled stylesheets:

After changing a style on purpose, review the snapshot diff from npm test, then update the snapshots:

npm run test:update

Build the precompiled stylesheets in dist/:

npm run build

Open playground/core.html or playground/ui.html to check the result visually.

Project structure

  • bin/concise.js: the concise CLI
  • src/: the PostCSS plugin (src/index.js) and Concise's own plugins (src/lib/)
  • core/, ui/, utils/: the stylesheets, written in .pcss
  • concise.pcss: imports core, ui and utils
  • test/: tests, fixtures and snapshots
  • playground/: pages for checking the styles visually

Feature Requests

Do you think that there should be something in Concise that isn't already included? Before you start writing code and implementing a feature, make sure that it is something that fits into the idea and scope of the project. We are a lightweight, bloat-free framework that focuses on removing the unnecessary.

If you are unsure of whether or not your feature would be a good fit for the framework, posting in GitHub Issues and tagging it info:feedback-needed or type:idea will help us filter your feature request and evaluate the idea.

Contributing Code

Our contributing guidelines are based on this article: http://endoflineblog.com/gitflow-considered-harmful

  1. Fork us
  2. Create a new branch (feature, release, hotfix, etc) (git checkout -b my-feature)
  3. Follow the coding style guide
  4. Test any and all changes you make or implement.
  5. Commit changes (git commit -am "Commit description here")
  • Note: If you're referencing a GitHub issue in your commit, please preface the commit with [ref: #XXX] where XXX is the issue number.
  1. Push to your feature branch (git push origin my-feature)
  2. Create a new Pull Request
  3. Wait for a response from us (we promise to be semi-prompt)
  4. Once Your changes have been merged in, you can delete the branch that you've created.

Coding Style Guide

** Thanks to Bootstrap for providing a good outline for coding styles.

Consistency is great, especially when writing code. Here we have a few simple guidelines to follow if you are going to be contributing to Concise.

Editorconfig

Concise.CSS project has a .editorconfig file, you can install Editorconfig plugin in your code editor and It will help You to keep your editor configured with our code style.

HTML

Follow @mdo's Code Guide

CSS

Follow @mdo's Code Guide. Stylesheets use the .pcss extension and standard /* */ comments. Use the settings (var(--color-*), var(--spacing-*), rlh units, type scale steps) instead of hard-coded values.

JavaScript

The CLI and plugin are ES modules that use only the Node.js standard library and PostCSS plugins. Add a test for each change.

License

By contributing to Concise, you agree that your code can be released under the MIT license