{"id":48203364,"url":"https://github.com/mark1bean/live-effect-functions-for-illustrator","last_synced_at":"2026-04-04T18:29:35.944Z","repository":{"id":203664936,"uuid":"332433996","full_name":"mark1bean/live-effect-functions-for-illustrator","owner":"mark1bean","description":"Convenience functions for Adobe Illustrator's PageItem.applyEffect method.","archived":false,"fork":false,"pushed_at":"2022-05-15T23:45:17.000Z","size":54,"stargazers_count":23,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-26T06:25:57.109Z","etag":null,"topics":["adobe-illustrator"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mark1bean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-24T11:38:59.000Z","updated_at":"2023-10-26T06:26:00.205Z","dependencies_parsed_at":null,"dependency_job_id":"4cfe311b-33b1-4b66-b240-cb683c7648ae","html_url":"https://github.com/mark1bean/live-effect-functions-for-illustrator","commit_stats":null,"previous_names":["mark1bean/live-effect-functions-for-illustrator"],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/mark1bean/live-effect-functions-for-illustrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mark1bean%2Flive-effect-functions-for-illustrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mark1bean%2Flive-effect-functions-for-illustrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mark1bean%2Flive-effect-functions-for-illustrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mark1bean%2Flive-effect-functions-for-illustrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mark1bean","download_url":"https://codeload.github.com/mark1bean/live-effect-functions-for-illustrator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mark1bean%2Flive-effect-functions-for-illustrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31408629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adobe-illustrator"],"created_at":"2026-04-04T18:29:34.044Z","updated_at":"2026-04-04T18:29:35.932Z","avatar_url":"https://github.com/mark1bean.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Live Effects Functions for Illustrator\n\nA set of ExtendScript convenience functions for applying Live Effects in Adobe Illustrator.\n\n---\n\n## Why these functions?\n\nThe pageItem.applyEffect method is difficult to use. It takes an XML string as its one parameter, for which there is no official documentation. The knowledge of the XML string has been gleaned over years by many people, and passed on, often through the Adobe community forum. Finding the details can be laborious, and implementation can be a little painful.\n\nMy aim with these functions is to hide away all that esoteric complication behind a neat and tidy api, so to speak.\n\n---\n\n## Important note\n\nSome of the Live Effects functions simply don't work right, probably due to my lack of knowledge. See my [notes document](https://mark1bean.github.io/live-effect-functions-for-illustrator/) for the status of each function. Any help or improvements welcome!\n\n---\n\n## Installation\n\nDownload the [latest release](https://github.com/mark1bean/live-effect-functions-for-illustrator/releases/latest/download/live-effect-functions-for-illustrator.zip) and add `//@include LE_Functions.js` to the beginning of your own script. Look through the LE_Function.js file and read the Usage section below.\n\n\u003e Note: `LE_Functions.js` and `LE.js` must be in same folder.\n\n---\n\n## Usage\n\nEvery LE function takes two parameters: `item` and `options`.\n\n`item` is the pageItem (or pageItems!) to which the Live Effect will apply. Can be a single pageItem, or an array of pageItems, or an Illustrator array-like object, eg pageItems.\n\n`options` is an object that holds all other parameters. If options is not supplied, the functions will simply use their default settings.\n\nInternally, each function has a defaults object. Here is an example of the defaults object from `LE_InnerGlow`:\n\n```javascript\nvar defaults = {\n    blendMode: 2,                /* 0 normal, 1 multiply, 2 screen, ... */\n    glowType: 0,                 /* 0 center, 1 edge */\n    opacity: 0.75,               /* 0...1 */\n    blur: 5,                     /* px */\n    glowColor: [255, 255, 255],  /* [C,M,Y,K], [R,G,B] or [K] */\n    expandAppearance: false\n}\n```\n\nSo calling the function without supplying `options`, means those defaults will apply.\n\n```javascript\nLE_InnerGlow(item);\n```\n\n\u003e Refer to the `defaults` object if you aren't sure what parameters it can take.\n\nTo override the defaults, populate an `options` object with any params you wish, like this:\n\n```javascript\nvar myOptions = {\n    opacity: 0.6,\n    blur: 10,\n    glowColor: [0, 20, 100, 0],\n}\nLE_InnerGlow(item, myOptions);\n```\n\nor, if you prefer, like this:\n\n```javascript\nLE_InnerGlow(item, {\n    opacity: 0.6,\n    blur: 10,\n    glowColor: [0, 20, 100, 0],\n});\n```\n\nFor one or two parameters, inline works well:\n\n```javascript\nLE_InnerGlow(item, {opacity: 0.5, blur: 15});\n```\n\nYou can supply an array (or Illustrator array-like object) in place of the `item` parameter to apply the effect to multiple items, for example:\n\n```javascript\nLE_InnerGlow(selection);\n```\n\n---\n\n## Expand Appearance\n\nCalling any function with option `expandAppearance: true` will expand the item's appearance (identical to Expand Appearance menu command) immediately after applying the effect.\n\n```javascript\nLE_InnerGlow(item, {blur: 15, expandAppearance: true});\n```\n\n---\n\n## System requirements\n\nAdobe Illustrator CS6 and above. As of 2021-01-25, tested only on version 25 (Mac OS 11.1).\n\n---\n\n## Acknowledgements\n\nThanks to lots of help and encouragement from CarlosCanto, Silly-V, femkeblanco, KurtGold and sttk3 at [community.adobe.com](https://community.adobe.com)\n\nThanks to the contributors at [gl-mat4](https://github.com/stackgl/gl-mat4) where I found some excellent 3D matrix functions that saved me a lot of time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark1bean%2Flive-effect-functions-for-illustrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmark1bean%2Flive-effect-functions-for-illustrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark1bean%2Flive-effect-functions-for-illustrator/lists"}