mirror of https://codeberg.org/topola/topola.git
contributing: add some introductory and welcoming text
This commit is contained in:
parent
b1dc1d1f83
commit
0b8a7ee3bf
|
|
@ -1,50 +1,91 @@
|
|||
## 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.
|
||||
|
||||
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.
|
||||
|
||||
## Installation
|
||||
|
||||
Clone the [repository](https://codeberg.org/topola/topola):
|
||||
|
||||
git clone https://codeberg.org/topola/topola.git
|
||||
|
||||
git clone https://codeberg.org/topola/topola.git
|
||||
|
||||
Topola currently requires nightly Rust to build. Enable it with
|
||||
|
||||
rustup override set nightly
|
||||
|
||||
### egui port
|
||||
|
||||
After cloning, change your working directory to your clone of Topola's repository:
|
||||
rustup override set nightly
|
||||
|
||||
#### Egui port
|
||||
|
||||
Change your working directory to your clone of Topola's repository:
|
||||
|
||||
cd topola
|
||||
|
||||
Then build the project with
|
||||
|
||||
cargo build --features egui --bin topola-egui
|
||||
|
||||
cargo build --features egui --bin topola-egui
|
||||
|
||||
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
|
||||
|
||||
To build and open Topola in your browser, run
|
||||
|
||||
trunk serve
|
||||
|
||||
### SDL2 demo
|
||||
|
||||
For shorter build times you may use the SDL2 demo instead of the egui port:
|
||||
#### SDL2 demo
|
||||
|
||||
cargo build --features sdl2 --bin topola-sdl2-demo
|
||||
cargo run --features sdl2 --bin topola-sdl2-demo
|
||||
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 run --features sdl2 --bin topola-sdl2-demo
|
||||
|
||||
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/).
|
||||
Loading…
Reference in New Issue