It is warmly welcomed if you have interest to contribute to xlab-website and help make it even better than it is today! The following is a set of guidelines for contributing to xlab-website.
We have adopted a Code of Conduct to help us keep xlab-website open and inclusive. Please read the full text so that you can understand what actions will and will not be tolerated.
If you have any questions or feature requests, please feel free to Submit an Issue.
Before you submit an issue, consider the following guidelines:
- Please search for related issues. Make sure you are not going to open a duplicate issue.
- Please specify what kind of issue it is and explain it in the title or content, e.g.
feature
,bug
,documentation
,discussion
,help wanted
... The issue will be tagged automatically by the robot of the project(Menbotics). See Supported Issue Labels.
To make the issue details as standard as possible, we setup an Issue Template for issue reporters. Please be sure to follow the instructions to fill fields in template.
There are a lot of cases when you could open an issue:
- bug report
- feature request
- performance issues
- feature design
- help wanted
- doc incomplete
- test improvement
- any questions on project
- and so on
Also we must remind that when filling a new issue, please remember to remove the sensitive data from your post. Sensitive data could be password, secret key, network locations, private business data and so on.
To help you get your feet wet and get you familiar with our contribution process, we have collected some Good First Issues that contain bugs or small features that have a relatively limited scope. This is a great place to get started.
Before you submit your Pull Request (PR), consider the following guidelines.
Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add.
If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment with /self-assign
stating that you intend to work on it so other people don't accidentally duplicate your effort. The robot of the project(Menbotics) will set assignees of the issue to yourself automatically.
/self-assign
If somebody claims an issue but doesn't follow up for more than two weeks, it's fine to take over it but you should still leave a comment.
Visit X-lab2017/xlab-website repo and make your own copy of the repository by forking it.
Clone your own copy of the repository to local, like :
# replace the XXX with your own user name
git clone git@github.com:XXX/xlab-website.git
cd xlab-website
Create a new branch for development.
git checkout -b branch-name
The name of branch should be semantic, avoiding words like 'update' or 'tmp'. We suggest to use feature/xxx
, if the modification is about to implement a new feature.
Now you can create your patch, including appropriate test cases in the new branch. Please read and follow our Code Rules.
(optional) After you finish your modification, run the following script to view it on http://localhost:1313/.
hugo server
Commit your changes If your changes pass the tests. You are encouraged to use Angular Commit-message-format to write commit message. In this way, we could have a more trackable history and an automatically generated changelog.
git add .
git commit -sm "fix: add license headers (#264)"
Keep your local repository updated with upstream repository by:
git remote add upstream git@github.com:X-lab2017/xlab-website.git
git fetch upstream master
git rebase upstream/master
If conflicts arise, you need to resolve the conflicts manually, then:
git add my-fix-file
git rebase --continue
git push -f origin branch-name
In GitHub, send a pull request to X-lab2017/xlab-website
.
Please sign our Contributor License Agreement (CLA) before sending PRs.
To make sure we can easily recap what happened previously, we have prepared a Pull Request Template and you need to fill out the PR template.
The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation.
If we suggest changes then:
-
Make the required updates.
-
Re-run the test to ensure tests are still passing.
-
Commit your changes with
--amend
and force push to your GitHub repository (this will update your Pull Request):git add . git commit --amend git push -f origin branch-name
That's it! Thank you for your contribution!
After your pull request is merged, you can safely delete your branch and pull the changes from the upstream repository:
-
Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
git push origin --delete branch-name
-
Check out the master branch:
git checkout master -f
-
Delete the local branch:
git branch -D my-fix-branch
-
Update your master with the latest upstream version:
git pull --ff upstream master
Please sign our Contributor License Agreement (CLA) before sending pull requests. For any code changes to be accepted, the CLA must be signed.