7 KiB
Contributing
Table of Contents
Introduce
I'm really glad you're reading this, because we need volunteer developers to help this project come to fruition.
This document is intended to help, not burden you.
You can use it as a reference for various guidelines and information, and PR comfortably.
Please note we have a code of conduct, please follow it in all your interactions with the project.
Code of Conduct
Refer to CODE_OF_CONDUCT.md.
We Develop with Github
We use github to host code, to track issues and feature requests, as well as accept pull requests.
After feedback has been given we expect responses within two weeks. After two weeks we may close the issue and pull request if it isn't showing any activity.
Environment
git and yarn should be installed.
You can configure it as follows:
## clone repository
git clone https://github.com/black7375/Firefox-UI-Fix.git
cd ./Firefox-UI-Fix
## checkout branch
git checkout <BRANCH_NAME>
## env setup
yarn install
You can build with this command:
yarn build
You can check test and css validate:
## test - When you make mixin or function
# __tests__ direcory, You can also find out how to use internal utils.
yarn test
## validate - Will be failed, this project uses non-standard features.
# Just use only for checking.
yarn validate
Your First Contribution
Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub
The following documents may be helpful:
CSS, SASS Documents:
Live Debugging:
Firefox Source Code:
Test for None mac users:
Contribution Targets
We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
Promotions
- Introduce project
- Video (Recommend!!, We need it)
- Blog
- SNS
- Reddit, Hackernews..etc
- Sample
Docs
- Fix typos, alignments.
- Correct awkward sentences.
- Improve document readability.
Issues
- Report a bug.
- Discussing the current state of the code.
- Tell us about related or relevant projects and documents.
- Help other users issue.
- Proposing others..
Codes
- New Features.
- Bug fixes.
- Improved compatibility or accessibility.
- Refactoring.
Project Structure
Refer to Project_Structure.md.
Restrictions
- Cross Platform
- Different compatibility issues occur in Win7, Win8, Win10, KDE, Gnome, Mac, etc.
- Consider compatibility as much as possible, but use dedicated media queries in special cases
- CSS Loading Order
- User CSS(
userChrome.css,userContent.css) is usually loaded first. - In many cases, overriding should be prevented with
important!(Anti-pattern in general web), and side effects should also be considered.
- User CSS(
- DOM structure cannot be modified
- Shadow DOM
- Firefox actively uses shadow dom internally
- To modify, it is often a roundabout approach or impossible to inherit
- XUL
- Sometimes written and bound in C++ for performance, like a treeview of bookmarks.
- The proper document does not exist, so we have to read the source code and work
- Available CSS features are also restricted.
- Side Effects
- Only CSS modifications can cause bugs that are hard to think of in the general web, such as the context menu not appearing.
Rules
Refer to Rules.md.
License
Any contributions you make will be under the MPL 2.0 Software License
In short, when you submit code changes, your submissions are understood to be under the same MPL 2.0 License that covers the project. Feel free to contact the maintainers if that's a concern.
Reference specification
Even if you copy the code snippet, it is recommended that you leave a link.
FAQ
If you have any questions about other licenses, please see Moailla's MPL 2.0 FAQ.