2.8 KiB
Contributing Guide
Hi! I'm really excited that you are interested in contributing to this project. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:
- Code of Conduct
- Issue Reporting Guidelines
- Pull Request Guidelines
- Development Setup
- Project Structure
Issue Reporting Guidelines
- Report a new issue either through GitHub or Email
- Please include with your issue the browser and operating system you're using as well as steps necessary to reproduce the bug, if any
- Be patient, I'm working on this project in my spare time :-)
Pull Request Guidelines
-
The
main
branch is what is currently deployed to the website. All development should be done in dedicated branches. -
Work in the
src
folder and DO NOT checkindist
in the commits. -
It's OK to have multiple small commits as you work on the PR - GitHub will automatically squash it before merging.
-
If adding a new feature:
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first before working on it.
- Feel free to write a test for it, but so far I didn't have time for that.
-
If fixing a bug:
- If you are resolving a special issue, add
(fix #xxxx[,#xxxx])
(#xxxx is the issue id) in your PR title for a better release log, e.g.update entities encoding/decoding (fix #3899)
. - Provide a detailed description of the bug in the PR. Live demo preferred.
- If you are resolving a special issue, add
Development Setup
You will need Node.js version 8+ and a Chrome browser.
After cloning the repo, run:
$ npm install
The development server can be started with npm run serve
.
Committing Changes
Commit messages should be verbose enough to allow someone else to follow your changes and should include references to issues that are being worked on.
Commonly used NPM scripts
# watch and auto re-build dist/
$ npm run serve
# build all dist files, including npm packages
$ npm run build
# run linting scripts
$ npm run lint
Project Structure
-
dist
: contains built files for distribution. -
src
: contains the source code. The codebase is written in ES2015.-
assets
: contains all graphical assets like images, fonts, icons, etc.-
editions
: edition logos and icons -
fonts
: webfonts used on the page -
icons
: character token icons
-
-
components
: the internal components used in the projectmodals
: the modals have a separate subfolder
-
store
: the VueX data store and modules
-