{"id":16528718,"url":"https://github.com/zetlen/mozu-syndicator","last_synced_at":"2026-08-16T07:33:32.370Z","repository":{"id":146417943,"uuid":"42451943","full_name":"zetlen/mozu-syndicator","owner":"zetlen","description":"Syndicated content from Mozu sites via Arc.js.","archived":false,"fork":false,"pushed_at":"2015-10-14T14:46:32.000Z","size":332,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-26T15:24:14.437Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zetlen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-14T13:57:56.000Z","updated_at":"2015-09-14T16:30:14.000Z","dependencies_parsed_at":"2023-04-10T02:33:02.039Z","dependency_job_id":null,"html_url":"https://github.com/zetlen/mozu-syndicator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zetlen/mozu-syndicator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetlen%2Fmozu-syndicator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetlen%2Fmozu-syndicator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetlen%2Fmozu-syndicator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetlen%2Fmozu-syndicator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zetlen","download_url":"https://codeload.github.com/zetlen/mozu-syndicator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetlen%2Fmozu-syndicator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36706791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-16T02:00:06.462Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-11T17:41:19.494Z","updated_at":"2026-08-16T07:33:32.353Z","avatar_url":"https://github.com/zetlen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mozu Syndicator\n### version 0.1.0\n\nAn Arc.js-powered content syndication library to help you *seamlessly embed Mozu content* on other websites.\n\n## Installing the library\n\nLike other Arc.js actions built from shared code, you'll have to download this repository. You can download it as a ZIP or use Git to clone it yourself:\n\n```sh\ngit clone http://github.com/zetlen/mozu-syndicator\n```\n\nNext, you should use the Mozu App Generator to configure your local repository to connect to your local Mozu developer account. First, create a Mozu App called \"Syndicator\" in your Developer Center. Copy its newly generated Application Key.\n\nNext, if you haven't already installed the Mozu App Generator using NPM, do so now:\n\n```sh\nnpm install -g yo generator-mozu-app\n```\n\nThen, use the app generator to create a new configuration file.\n\n```sh\nyo mozu-app --config\n```\n\nEnter the application key when prompted, and your credentials for the Mozu Developer Center.\n\nOnce those are configured, you can run the install script, which will build and upload your app.\n\n```sh\ngrunt install\n```\n\n*Note that running `grunt` by itself here will run the whole build process, including linting and testing. Until you have created a `mozu.test.config.json` the tests will fail.*\n\nNow that your library is uploaded, you should be able to go back to the Developer Center, find your \"Syndicator\" app, and click \"Install\" to choose your tenant to install it on.\n\nThe Syndicator library adds a behavior to your storefront; it will now serve the Syndicator library, and respond to batched requests for product data.\n\n## Using the Code Snippet\n\nHere's the easy part: Paste this code snippet anywhere on your non-Mozu website.\n\n```js\n\n(function() {\n\nwindow.MozuSyndicatedStore = \"http://t8819-s12869.sandbox.mozu-qa.com/\";\n\n(function(s, y, n, d, i, c, a, t, e) { \n  if (!s[d]) { s[d] = c; t = y.createElement(n), \n  e = y.getElementsByTagName(n)[0]; t.async = 1;\n  t.src = a + i; e.parentNode.insertBefore(t,e);\n} })(window,document,'script','MozuSyndicator', \n\"?syndicator\",\"_loading_\",MozuSyndicatedStore);\n}());\n\n```\n\nReplace the value of `window.MozuSyndicatedStore` with your own store domain. (Include a trailing slash.)\n\nNow, you can embed Mozu products, and product search results anywhere on your page. Yes, you can use Hypr just like on Mozu. Yes, that's all.\n\n## Working with Syndicated Mozu Content\n\nOnce the code snippet is on the page, you can embed Hypr templates anywhere, tag them with Mozu product searches or product codes, and they will come alive. Use a special `\u003cscript\u003e` tag with the `type` attribute set to `\"text/mozu-syndicated\"`.\n\n```html\n\u003cscript type=\"text/mozu-syndicated\" data-mozu-product-code=\"AftershockPKG1\"\u003e\n   \u003cdiv class=\"mozu-product\"\u003e\n      \u003ch3 class=\"mozu-productname\"\u003e{{ model.content.productName }}\u003c/h2\u003e\n      \u003cfigure\u003e\n        \u003ca href=\"http://t8819-s12869.sandbox.mozu-qa.com/{{ model.url }}\"\u003e\n          \u003cimg \n           style=\"width: 60%\" \n           src=\"{{ model.content.productImages|first|prop('imageUrl') }}\" /\u003e\n        \u003c/a\u003e\n      \u003c/figure\u003e\n      \u003ch4 class=\"mozu-price\"\u003e{{ model.price.price|currency }}\u003c/h4\u003e\n      \u003cp class=\"mozu-description\"\u003e{{ model.content.productShortDescription }}\u003c/p\u003e\n      \u003cp class=\"mozu-availability\"\u003e\n        \u003cstrong\u003eAvailability:\u003c/strong\u003e \n        {{ model|get_product_attribute_value(\"tenant~availability\") }}\n      \u003c/p\u003e\n   \u003c/div\u003e \n\u003c/script\u003e\n```\n\nBecause of the special attribute `data-mozu-product-code`, this Hypr template will evaluate in place, with the `model` set to live product data from Mozu!\n\nAnd of course, this also works:\n\n```html\n\u003cscript type=\"text/mozu-syndicated\" data-mozu-product-query=\"blue\"\u003e\n    \u003ch4\u003eBlue Stuff\u003c/h4\u003e\n    \u003cul\u003e\n    {% for item in model.items %}\n      \u003cli\u003e\n        \u003ca href=\"http://t8819-s12869.sandbox.mozu-qa.com/{{ item.url }}\"\u003e\n          \u003cimg\n           style=\"width: 60%\" \n           src=\"{{ item.content.productImages|first|prop('imageUrl') }}\" /\u003e\n          {{ item.content.productName }}\n        \u003c/a\u003e\n      \u003c/li\u003e\n    {% endfor %}\n    \u003c/ul\u003e\n\u003c/script\u003e\n```\n\n\n```html\n\u003cscript type=\"text/mozu-syndicated\" data-mozu-product-filter=\"categoryId req 1\"\u003e\n    \u003ch4\u003eStuff In Category 1\u003c/h4\u003e\n    \u003cul\u003e\n    {% for item in model.items %}\n      \u003cli\u003e\n        \u003ca href=\"http://t8819-s12869.sandbox.mozu-qa.com/{{ item.url }}\"\u003e\n          \u003cimg \n           style=\"width: 60%\"\n           src=\"{{ item.content.productImages|first|prop('imageUrl') }}\" /\u003e\n          {{ item.content.productName }}\n        \u003c/a\u003e\n      \u003c/li\u003e\n    {% endfor %}\n    \u003c/ul\u003e\n\u003c/script\u003e\n```\n\nEmbed as many snippets of Hypr as you want on the non-Mozu site; the syndicator will aggregate all the API calls it needs together into one, for efficiency and performance.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetlen%2Fmozu-syndicator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzetlen%2Fmozu-syndicator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetlen%2Fmozu-syndicator/lists"}