{"id":16832296,"url":"https://github.com/rf-/luminate-embed","last_synced_at":"2026-03-10T04:03:22.488Z","repository":{"id":138007021,"uuid":"82437665","full_name":"rf-/luminate-embed","owner":"rf-","description":"Embed Luminate Online actions in any page","archived":false,"fork":false,"pushed_at":"2017-06-15T16:45:10.000Z","size":91,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T20:46:25.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rf-.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-19T05:32:57.000Z","updated_at":"2019-09-19T15:06:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"33ae9dfc-3c50-4f7b-bede-38aa38b7d251","html_url":"https://github.com/rf-/luminate-embed","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.05882352941176472,"last_synced_commit":"058bffbdaa56fc92700f349548976264ce5c9fdb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rf-%2Fluminate-embed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rf-%2Fluminate-embed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rf-%2Fluminate-embed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rf-%2Fluminate-embed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rf-","download_url":"https://codeload.github.com/rf-/luminate-embed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161253,"owners_count":21057553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-13T11:48:25.840Z","updated_at":"2026-03-10T04:03:17.465Z","avatar_url":"https://github.com/rf-.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# luminate-embed\n\n`luminate-embed` is a script for embedding Luminate Online actions in any page.\n\n## Features and Limitations\n\n * Embeds action alerts only\n\n * Supports `TextValue` and `MultiSingle` inputs, with special rendering logic\n   for `state`, `subject`, and `body`\n\n * Supports IE 8 and up, in theory, although it's only been tested on modern\n   browsers\n\n * Requires jQuery or Zepto to be loaded on the page, since it's built on top\n   of Noah Cooper's [`luminateExtend.js`]\n\n * Does not support multiple API keys or org URLs on the same page, since\n   [`luminateExtend.js`]'s configuration is global\n\n## Usage\n\nThis tool is designed to be used by pasting a snippet of HTML into your page.\nThe action form will appear wherever you pasted the code.\n\nHere's a minimal example, with placeholders in all caps:\n\n``` javascript\n\u003cscript type=\"text/javascript\"\u003e\n  var _leQ = _leQ || [];\n\n  (function() {\n    var id = 'luminate-embed-' + _leQ.length\n    document.write('\u003cdiv id=\"' + id + '\"\u003e\u003c/div\u003e');\n\n    _leQ.push({\n      container: document.getElementById(id),\n      apiKey: 'API_KEY',\n      path: {\n        nonsecure: 'http://ORGANIZATION.org/site/',\n        secure: 'https://secureNUMBER.convio.net/ORGANIZATION/site/'  // e.g. secure2.convio.net or secure3.convio.net\n      },\n      actionId: ACTION_ID,\n      preview: true\n    });\n\n    if (!document.getElementById(\"luminate-embed-script\")) {\n      var script = document.createElement('script');\n      script.src = \"https://rawgit.com/rf-/luminate-embed/master/build/luminate-embed-0.0.3.min.js\";\n      script.id = \"luminate-embed-script\";\n      document.head.appendChild(script);\n    }\n  })();\n\u003c/script\u003e\n```\n\n*Important: The `preview` option will prevent the action from actually\nhappening. You have to remove this flag when you're ready to deploy your code\nto production.*\n\nYou should also host the script on your own server or CDN and replace the\n`rawgit.com` URL accordingly.\n\nNote that the Luminate Online API only works from pages that are on whitelisted\ndomains; see the [`luminateExtend.js` docs] for more details.\n\n### Options\n\nThe only mandatory options are the ones in the example above, but there are\nmore options that you can use to customize the behavior of the embedded form:\n\n``` javascript\n_leQ.push({\n  // The container to render the form into. You probably don't want to change\n  // this.\n  container: document.getElementById(id),\n\n  // Your Luminate Online API key.\n  apiKey: '12345678',\n\n  // Your organization's nonsecure and secure Luminate Online URLs.\n  path: {\n    nonsecure: 'http://act.my-organization.org/site/',\n    secure: 'https://secure2.convio.net/myorg/site/'\n  },\n\n  // An object containing extra parameters to send along with the action\n  // (e.g., for analytics)\n  extraParams: {\n    s_src: \"foo\",\n    s_subsrc: \"bar\"\n  },\n\n  // The id of the action alert that you want to embed.\n  actionId: ACTION_ID,\n\n  // Whether to use Luminate Online's preview mode when taking the action.\n  // You should always use this in development to avoid sending any fake\n  // messages.\n  preview: true,\n\n  // Human-readable labels for the action's `questionId`s. All fields listed in\n  // the Luminate Online docs have default labels, but you can override them if\n  // you want, and you have to provide labels for any custom fields the action\n  // may have.\n  fieldNames: {\n    body: \"Custom label for the body\",\n    customQuestion: \"Label for a custom field\"\n  },\n\n  // An array of `questionId`s to hide from the user; when the user takes\n  // the action, the default values for these fields will be sent to the\n  // server.\n  hiddenFields: [\"subject\", \"body\"],\n\n  // An array of `questionId`s to completely leave out of the form and not send\n  // to the server.\n  skippedFields: [\"cc\"],\n\n  // An array of field names to be shown in the specified order. Any fields\n  // that aren't mentioned will be shown afterwards in their natural order.\n  fieldOrder: [\"last_name\", \"first_name\"],\n\n  // The text to show on the submit button; defaults to \"Take Action\".\n  submitText: \"Send Message\",\n\n});\n```\n\n## Development\n\nInstall dependencies using [Yarn]:\n\n```\nyarn\n```\n\nDo incremental non-minified builds:\n\n```\nnode_modules/.bin/rollup -wc\n```\n\nDo a full build:\n\n```\nyarn run build\n```\n\nBuilt files end up in `build/`.\n\n[`luminateExtend.js`]: https://github.com/noahcooper/luminateExtend\n[`luminateExtend.js` docs]: https://github.com/noahcooper/luminateExtend#libSetup\n[Yarn]: https://yarnpkg.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frf-%2Fluminate-embed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frf-%2Fluminate-embed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frf-%2Fluminate-embed/lists"}