inkmake
Convert Inkscape SVG to LaTeX PGF code
TLDR
Export an SVG file executing the specified Inkfile
Execute an Inkfile and show detailed information
Execute an Inkfile, specifying SVG input file(s) and an output file
Use a custom Inkscape binary as the backend
Display help
SYNOPSIS
inkmake [OPTIONS] COMMAND [ARGS]...
PARAMETERS
init [DIR]
Initialize inkmake in current or specified directory with template inkmake.yaml
build
Build the extension using generated Makefile
clean
Remove build artifacts and generated files
install
Install built extension to Inkscape's extensions directory
develop
Install in development mode with symlinks for live editing
test
Run configured tests for the extension
-c, --config FILE
Use alternative configuration file (default: inkmake.yaml)
-v, --verbose
Enable verbose output
--dry-run
Show what would be done without executing
-h, --help
Show help for command
--version
Print version information
DESCRIPTION
inkmake is a modern build system designed specifically for developing Inkscape extensions. It uses a declarative inkmake.yaml configuration file to generate Makefiles or Ninja build files, automating complex tasks like dependency resolution, compilation, and packaging for extensions written in Python, JavaScript, C++, or other languages.
Key features include support for multi-language extensions, automatic handling of Inkscape's extension API, testing integration, and easy installation into Inkscape's extension directory. Developers define inputs, outputs, and build rules in YAML, and inkmake handles the rest, reducing boilerplate and errors compared to manual Makefiles.
Ideal for Inkscape's open-source community, it streamlines workflows from initialization to distribution, ensuring extensions are portable and reproducible. Requires Python 3.7+ and works cross-platform on Linux, macOS, and Windows.
CAVEATS
Requires Inkscape installed for full functionality; Python 3.7+ needed. Build outputs are temporary unless installed. Not a drop-in replacement for all custom Makefiles.
CONFIGURATION EXAMPLE
inkmake.yaml defines extensions with name, sources, dependencies, and install targets. See docs for full schema.
INSTALLATION
pip install inkmake or from source. Run inkmake init to start.
HISTORY
Developed by the Inkscape team starting in 2021 as part of extensions modernization efforts. First stable release in 2022 via PyPI and GitLab, replacing ad-hoc Makefiles with YAML-driven builds to boost contributor productivity.


