Map for Linux
A wardley mapping tool: Write some text, get a diagram
Building
Run make build
Installing
For a quick local install without packaging:
make install- installs to/usr/local(may require sudo)make uninstall- removes installed files
To install to a different prefix: make install prefix=/opt/map
Testing
Run make test
Formatting and Linting
- To format:
make format - To lint:
make lint
Distributing
Available package formats: deb, rpm, tar.gz, flatpak
Main Targets
make package- creates all package types for the current architecture (no upload)make distribute- signs and uploads existing packagesmake release- full workflow (package + distribute)
Individual Targets
For more control, use individual package or distribute targets:
make package-deb- create .deb packagemake package-rpm- create .rpm packagemake package-tar- create .tar.gz archive-
make package-flatpak- create .flatpak bundle -
make distribute-deb- sign and upload .deb make distribute-rpm- sign and upload .rpmmake distribute-tar- sign and upload .tar.gzmake distribute-flatpak- sign and upload .flatpak
Flatpak Notes
Since flatpak expects offline building, we use flatpak-cargo-generator to
generate the sources. This will be done every time you run make package-flatpak.
The project assumes flatpak-cargo-generator.py lives in
~/projects/vendor/flatpak-builder-tools/cargo, but you can override this with
the environment variable flatpak_cargo_generator (eg.
make -e flatpak_cargo_generator=~/your/path/to/flatpak_cargo_generator). It
expects this directory to have the poetry configuration, as it enables the
virtualenv using poetry.
Localization / Internationalization
This project uses gettext for translations. You can update the template files with:
make extract_strings
This updates the available POTFILES by checking for the presence of the tr!
macro or gettext, and extracts the strings to the template file.
You can then edit the strings using a tool like Poedit.
The wmap language
Learn more about the language at map.tranquil.systems.