Readeck Development
You found a bug you'd like to tackle yourself, you'd love to improve the documentation or you want to contribute a new feature. That's fantastic, welcome on board! (or maybe, you only want to compile Readeck; that's fine too.)
To compile Readeck you need the following requirements on your system:
Clone Readeck
First, you'll need to clone Readeck:
git clone https://codeberg.org/readeck/readeck.git
Compile Readeck
To compile Readeck, go into the cloned folder and build it:
cd readeck
make setup
make all
If all goes well, readeck is available as dist/readeck
.
Step by step
If you encounter issues while building, try to build using a more step by step approach so you can pinpoint the issue:
make setup
make web-build
make docs-build
make build
Customize compilation
By default Readeck will include a pure Go SQLite driver. If you'd like to compile it with the official SQLite binding, you can pass CGO_ENABLED=1
to the make all
command:
CGO_ENABLED=1 make all
For convenience, you can create a .makerc
at the project's root folder, containing variables available to any make target so you don't need to pass them each time you call make
. For example:
CGO_ENABLED=1
Warning
You'll need the SQLite library and GCC to compile with CGO_ENABLED=1
.
Working on the server
Readeck provides some developer features that let you start a server that automatically restarts upon code change.
To start the full stack, simply run:
make dev
If you're working on Go files only, you can start a more lightweight watcher:
make generate # only to ensure the assets are built the first time
make serve
Checking your changes
Before submitting a contribution, please check that both the following commands are successful:
make test
make lint