My name is Greg Abbott and I work as a freelance illustrator and designer↗. I also enjoy making useful tools and scripts.
Hire
If I can help code, design, or make something, for you or your project, please contact me about remote work at abbottgreg@proton.me. Timezone: England.
Some of my code related projects involve:
- Vanilla JavaScript
- HTML
- CSS
- SVG
- Mac apps (Webkit View UIs + minimal Swift for system access)
- Scripting for
- Adobe Photoshop (ES3)
- Adobe Illustrator (ES3)
- Mac Automation (JXA - JavaScript for Automation)
- Browser and site specific scripts and tools
- E-Prime
- Batch file processing
- Plain text data parsing and converting
- Working with, organising, and archiving large collections
The links below point to some personal programs I've published.
Code
Chute chains JS method and function calls in a pipeline style.
Written in vanilla JavaScript, Chute works as a lightweight helper function. Example:
chute(data) // send the current data through one or more functions: .do(fn1,fn2,fn3,etc) // call any methods the current data has at any time: .anyMethodNameHere(arguments)// (.map, .reduce, .split…) // send data through any global functions: .anyGlobalFunctionNameHere()// (String, Number, Boolean…) // send data through any nested global functions: .any.nested.globalFn(arguments)// (JSON.parse, Object.keys…) // Get the result: ()
Koad runs JavaScript as you write it.
This project features a simple to use and lightweight JavaScript playground that runs code live or on demand. Written in vanilla JS with no dependencies, this basic tool works offline in a browser as a single page static site.
Data
Stow edits tables and stores tabular data in a JSON format.
Written in vanilla JavaScript, the GUI tool reads and writes local (gzipped) plain text files, runs offline in a Chromium browser, and bundles everything into a HTML monofile that weighs under 50KB.
GLON formats JSON-like data in a Markdown compatible list.
The project introduces a Markdown compatible open format for plain-text data based on a bullet point list. It also includes a two way JSON to GLON converter tool, documentation, and a live playground site.
Tern converts tables and 2D tabular data between formats.
Made for plain-text tables, flat object lists, and key value pairs, the project covers a library of custom converters, and single page converter site. The tool handles simple JSON, ASCII, Markdown, CSV, TSV, and HTML data.
Mull calculates named values, ranges and sums in plain text.
A notepad style interface captures and names values and ranges to express sums clearly and make live calculations simpler to reason about, quicker to edit, and easier to read. When working with ranges, the tool presents side-by-side running totals for the potential minimums, averages, and maximums. The vanilla JavaScript tool runs offline in a browser and bundles to a single HTML file weighing under 20KB.
Text
Monotext typesets copy as monospace plain text. (Pre-alpha)
The project includes a markup syntax, a JavaScript tool, and a live playground site, to produce Monotext. It defines Monotext as monospace plain text typeset in a specific style that follows the conventions of typesetting with a typewriter.
Perline formats text in a one sentence per line style.
The project includes a live two-way converter tool with a maximum line width option for further semantic wrapping.
File
TBook converts EPUBs to folders: one MD text file per chapter.
The project covers an open format and batch converter site.
Stog hides or finds zip archives in image files.
Stog works offline as a single page static site. The tool combines a given image and zip archive (or a custom message) into a polyglot file. The produced file appears as either the image or the zip depending on whether its name ends with the original image extension or '.zip'. The tool can also separate a polyglot file back into a .zip and image file.
Chop splits one image to many and performs basic OCR.
Written in vanilla JavaScript, Chop runs offline in a browser as a single page tool. The monofile version weighs <120KB.
Design
Armature makes composition guides for art and design work.
The project presents a simple tool to generate composition design guides based on classical art theory. It covers harmonic symmetry, dynamic symmetry, rabatment, and other baroque ideas. The tool packs everything involved into a single html file which can run offline in a web browser. It features a simple UI with built in presets to control a custom JavaScript library, and can save the generated armatures as ready to use lightweight SVG vector files, and PNG raster images.
Swotch makes limited palette PNGs and swatch SVGs from images.
A single file ~14KB tool that runs offline in a browser. Written in vanilla JavaScript.Static Site Generator builds my portfolio site. (Demo video)
Written in vanilla JavaScript to run offline in a browser, this tool has a simple drag and drop user interface to turn a folder of files into a ready-to-upload interlinked HTML + CSS site.
Small Tools, Snippets and Ideas
- Wren makes HTML files that use Markdown for source code.
- Not footnotes shows some alternatives to footnotes. (HTML+CSS)
- MD Editor focuses on one document section at a time. (PoC)