Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 2.33 KB

CONTRIBUTING.md

File metadata and controls

51 lines (36 loc) · 2.33 KB

Contributing Guidelines

It is recommended that you use VS Code for this project.

Environment and build instructions

To build and run this project, you will need the following:

  • Node.js
  • PNPM, and then execute the following in the project folder: pnpm install.
  • Emscripten (works with v4.0.7+), and make sure that emcc is available in PATH.
    You may also need to change configurations.compilerPath in the .vscode/c_cpp_properties.json file to reflect the location of your Emscripten installation.
  • GNU make, if you're on Windows.
    (Our makefile should work on all desktop platforms regardlessly.)

Then you can run the project by the following:

pnpm start

This will build the project and start the development server.

Note: The latest Emscripten v4 seems rather unstable for the moment. If you encounter errors during building, try downgrade to v3.1.64.

Project structure

All source codes are located in the src folder, in which you'll find:

  • app: User interface, written in React (I usually use Vue, but I decided to give it a try for this project).
  • core: The C++ part. See change log for the changes made to the original source code of ReferenceFinder.
  • icon: This folder contains the pre-built Font Awesome subset.
    If you add more icons and need to rebuild this folder, execute pnpm gulp.
  • lib: Compiled WebAssembly of ReferenceFinder.
  • locale: All locale files, based on the previous work by Maya Kraft etc.
  • public: The HTML file and other unbundled assets.

How to contribute new ideas/features

Always talk to me first! Just to avoid wasting time working on something that I'm also working on. A good place to reach me will be the BP Studio Discord server.

Submitting pull requests

Because merging to the main branch will directly publish the changes, do not directly submit a PR against the main branch. Instead, contact me and I will create a new branch for you to submit your PR. After I merge the PR and make sure that everything is ready, it will be merged into the main branch.