Commit graph

6 commits

Author SHA1 Message Date
8e245dfe61 feat: cross-platform installer (Windows port)
- install.py / uninstall.py: full Python installer for Linux, macOS, Windows
  - detect_platform.py: shared Inkscape config path detection
  - Windows config path: %APPDATA%\inkscape (native/winget/scoop) or
    %LOCALAPPDATA%\Packages\org.inkscape.Inkscape* (MS Store)
  - Windows desktop: Start Menu .lnk via PowerShell WScript.Shell COM object
  - macOS: XDG / ~/Library/Application Support detection, no desktop step
- install.sh / uninstall.sh: reduced to one-line exec python3 wrappers
  - eliminates SC1091 (source not followed) and SC2155 (declare+assign)
- scripts/detect_platform.sh: export INKSCAPE_CONFIG / INKSCAPE_INSTALL_METHOD
  - fixes SC2034 (variables appear unused to shellcheck)
- assets/illuscape.ico: pre-rendered 16/32/48/64/128/256px ICO (ImageMagick)
- tests/test_install.py: pytest integration tests replacing test_install.bats
  - cross-platform fake inkscape injected via PATH
  - 12 tests covering backup, palettes, templates, prefs, uninstall restore
- ci.yml: add windows-latest matrix leg; shellcheck/inkscape Linux-only;
  bats removed in favour of pytest integration tests; 27 tests total
2026-05-27 11:26:16 -07:00
e41f315b98 fix: atomic write on existing prefs path; Inkscape 1.x export flags; version check guard 2026-05-25 20:00:15 -07:00
94baff6050 feat: add document templates (Letter, A4, web, print CMYK) 2026-05-25 19:46:30 -07:00
f577da35aa feat: add platform detection script 2026-05-25 19:43:45 -07:00
2677ccc42b fix: atomic write, tag preservation, invalid preset error, additional tests 2026-05-25 19:39:56 -07:00
47faae74f4 feat: add merge_prefs.py with full test coverage 2026-05-25 19:17:13 -07:00