The OvenPlayer project is open to everyone. We are very grateful for your contribution to the OvenPlayer.
- Bug reports
- Feature requests
- Improving documentation
- Writing code
And any other contributions that make our project better!
All contributions start with the Issue. Please join the Issue if it is an unresolved Issue or create an Issue if it does not already exist. We will contact you to find the best solution without getting lost. We hope all conversations are done through the Issue for history purposes.
Please make sure you have tested with the latest stable version. It is helpful to give as much detail as possible to the reproduction path when registering an Issue.
Suggest new features that you and others would find useful. When you register it as an Issue, please provide a description of the function, why it is needed, and how it should work. We will organize these features and provide milestones and implement them in the near future.
We are still discussing the commit guidelines, style guides, testing methods, and Pull request processes. It is similar to the way many other projects use it. However, if you want to contribute immediately, please create it as an Issue or mail to [email protected] or [email protected]. Please don't worry! We're here to help you.
This section describes the setup, development, and build process.
OvenPlayer uses npm and webpack when building. If you are new to npm, please refer to Install Node.js, npm, stay up-to-date and configure your environment to make it work.
If npm works well, run the following command on the terminal to install the packages needed to develop OvenPlayer, such as webpack.
npm install -D
If you modify the source code, you have to build it manually.
If you are cloning a project for the first time, you can find already built files in the
dist/development
anddist/production
directories.
You can build your modified source code with the following command. The built source code can be found in the dist/development/openplayer
directory.
npm run watch
This command will allow webpack to automatically build each time the source code is modified.
Here is a list of important directory structures for OvenPlayer
├── dist
│ ├── development
│ └── production
├── docs
├── node_modules
├── src
│ ├── assets
│ ├── css
│ └── js
│ ├── api
│ ├── utils
│ ├── view
│ ├── ovenplayer.js
│ └── ovenplayer.skd.js
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
├── webpack.config.development.js
└── webpack.config.production.js
An overview of what each of these do:
Path | Description |
---|---|
dist/development |
Files built during development can be found in this directory. |
dist/production |
This is the directory that contains the files provided to end users using OvenPlayer. You do not need to worry about the development process. |
docs |
The directory that document files exist. |
node_modules |
This is the directory where the packages are installed using npm. |
src |
The directory where the source code exists. |
src/assets |
Images and fonts. |
src/css |
This is the directory where the css file used by View is located. |
src/js |
This is the directory where the JavaScript files are located. |
src/js/api |
Contains SDK source code. |
src/js/utils |
Contains Third party libraries. |
src/js/view |
Contains VIEW source code. |
src/js/ovenplayer.js |
The webpack entry file containing the View. |
src/js/ovenplayer.sdk.js |
The webpack entry file of SDK section. |
package.json |
The npm file |
webpack.config.developments.js |
Webpack configuration file for development environment. |
webpack.config.production.js |
Webpack configuration file for production. |
Describes the know-how we have accumulated in implementing OvenPlayer and the concept of each module.
- What is a provider and how to add a new provider
- How to add a new UI
We will update this section little by little.