contributing: add some introductory and welcoming text

This commit is contained in:
Mikolaj Wielgus 2024-04-25 00:22:47 +02:00
parent b1dc1d1f83
commit 0b8a7ee3bf
1 changed files with 66 additions and 25 deletions

View File

@ -1,8 +1,50 @@
## Prerequisites # Contributing to Topola
Building Topola from source requires [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) to be installed on your system. Literally anyone can contribute to Topola, including you.
## Installation Contributions can be of any kind: documentation, organization,
tutorials, blog posts, bug reports, issues, feature requests, feature
implementations, pull requests, helping to manage issues, etc.. Many of
these tasks do not require specialized programming knowledge, or writing
software at all.
## Chat
You are encouraged to join our [Matrix
chatroom](https://matrix.to/#/%23topola:tchncs.de) or [IRC
channel](https://webchat.oftc.net/?channels=#topola) to talk with us
before you contribute. Both chatrooms are bridged, so it does not matter
which one you join.
## Reporting issues
If you believe you have found a defect in Topola or its documentation,
please report it on our [issue tracker](https://codeberg.org/topola/topola/issues).
Under normal operation, crashes and panics are always considered
reportable bugs.
## Code contribution
We welcome code contributions from anyone regardless of skill or
experience level. We're friendly to newcomers. We will help you with
your contribution if there are any problems.
Topola accepts contributions using pull requests. For a step-by-step
guide on how to use these, refer to Codeberg's
[documentation](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/).
Before you submit a pull request, make sure Topola actually builds with
your changes. Follow the build instructions from the next section.
### Building
#### Prerequisites
Building Topola from source requires
[git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and
[cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html)
to be installed on your system.
Clone the [repository](https://codeberg.org/topola/topola): Clone the [repository](https://codeberg.org/topola/topola):
@ -12,9 +54,9 @@ Topola currently requires nightly Rust to build. Enable it with
rustup override set nightly rustup override set nightly
### egui port #### Egui port
After cloning, change your working directory to your clone of Topola's repository: Change your working directory to your clone of Topola's repository:
cd topola cd topola
@ -26,9 +68,11 @@ Finally, run Topola by executing
cargo run --features egui --bin topola-egui cargo run --features egui --bin topola-egui
#### Running Topola in a Web browser ##### Running Topola in a Web browser
Topola can be built to run in a Web browser using [Trunk](https://trunkrs.dev/), which will be installed with the following command: Topola can be built to run in a Web browser using
[Trunk](https://trunkrs.dev/), which will be installed with the
following command:
cargo binstall trunk cargo binstall trunk
@ -36,15 +80,12 @@ To build and open Topola in your browser, run
trunk serve trunk serve
### SDL2 demo #### SDL2 demo
For shorter build times you may use the SDL2 demo instead of the egui port: Optionally, for shorter build times you may build the SDL2 demo instead
of the Egui port:
cargo build --features sdl2 --bin topola-sdl2-demo cargo build --features sdl2 --bin topola-sdl2-demo
cargo run --features sdl2 --bin topola-sdl2-demo cargo run --features sdl2 --bin topola-sdl2-demo
The downside is that the SDL2 demo's user interface is highly incomplete. The downside is that the SDL2 demo's user interface is highly incomplete.
## Contributing
Topola project accepts contributions using pull requests. For a step-by-step guide on how to use these, refer to Codeberg's [documentation](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/).