All apps · 0 apps
TrickWork
Docker app from junkerderprovinz's Repository
Overview
Readme
View on GitHub
TrickWork turns your images into proportional-font-aware ASCII art, with a live interactive
preview and TXT / XHTML / RTF / PNG export. It's the feature set of the abandoned
ASCGen2, rebuilt: characters are picked by how much
visual "ink" they cover at your chosen font, not just by brightness, so proportional (non-monospace) fonts
render correctly instead of looking stretched or squashed.
Ships two ways from one shared TypeScript/Canvas core, so the desktop app and the self-hosted container are
always pixel-for-pixel the same tool: a desktop app for Windows, macOS and Linux (via Wails) and a
self-hosted Docker container (with an Unraid Community Applications template). Stateless: no
database, no accounts, nothing to configure beyond the port.
Always downloads the latest build
A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.
If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.
Table of Contents
- What it looks like
- What it does
- How it compares
- Getting started
- Documentation
- How AI is used here
- Support this project
1. What it looks like
The container: open it in any browser, drop a picture and the preview follows every slider.
The desktop app for Windows, macOS and Linux is the same tool in a window of its own.
In Settings you pick the shape, the theme, the accent colour and one of 26 languages.
2. What it does
- Characters picked by ink, not by brightness. TrickWork measures how much of each character is inked at the font you chose, so proportional fonts come out right instead of stretched or squashed.
- A live preview. Every slider, the character set and the font update it at once.
- Image adjustments. Crop, rotate and flip, levels, brightness and contrast, invert, dithering, colour output and sharpening, all with undo and redo.
- A batch queue. Drop several images at once; each converts and exports on its own, and one bad file never blocks the rest.
- Four export formats. TXT, a styled XHTML document, RTF and a rendered PNG, the one format that keeps a proportional font's look exactly.
- Ten character sets. Nine of ASCGen2's original ramps, a 70-character detailed ramp, or a string of your own.
The full list is on the Start here page of the documentation.
3. How it compares
Every actively-maintained image-to-ASCII tool (chafa, ascii-image-converter, jp2a, img2txt/libcaca) is
CLI-only, monospace-only, and has no live preview. ASCGen2 (the direct inspiration for this project, C#/.NET,
GPLv2, last updated 2015) had all three of those (proportional-width awareness, a real-time GUI, multi-format
export), and nothing since has replaced it. TrickWork is that combination, rebuilt from scratch.
4. Getting started
Desktop app: pick your system from the buttons at the top. Windows may warn about an unsigned download the first time; click More info, then Run anyway.
Docker:
docker run -d --name trickwork --restart unless-stopped -p 3210:3210 ghcr.io/junkerderprovinz/trickwork:latestThen open
http://localhost:3210/. No environment variables, no volumes.Unraid: open Apps, search for TrickWork and install it from Community Applications.
Updates, the requirements and the Unraid template by hand are on the installing page.
5. Documentation
The documentation site has the full guide:
- Start here: what TrickWork does, what sets it apart, the credits and the license
- Installing: desktop, Docker and Unraid, and how the desktop app updates itself
- How it works and building it: the engine and the development commands
6. How AI is used here
One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.
You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.
7. Support this project
Bugs, ideas or feature requests? Please open a GitHub issue.
A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.
If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
ghcr.io/junkerderprovinz/trickwork:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3210]/- Network
bridge- Privileged
- false
- Extra Params
--restart unless-stopped
Template configuration
Port the TrickWork web interface listens on.
- Target
- 3210
- Default
- 3210
- Value
- 3210
Container-internal port the app listens on. Must match the WebUI Port above. Advanced - leave as 3210.
- Target
- PORT
- Default
- 3210
- Value
- 3210