{"_id":"@bustle/mobiledoc-facebook-instant-renderer","_rev":"31-9c5e7ba0f1785d4c03bed664107384b1","name":"@bustle/mobiledoc-facebook-instant-renderer","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@bustle/mobiledoc-facebook-instant-renderer","version":"0.1.0","keywords":["mobiledoc","render","content-kit"],"author":{"url":"https://madhatted.com","name":"Matthew Beale","email":"matt.beale@madhatted.com"},"license":"MIT","_id":"@bustle/mobiledoc-facebook-instant-renderer@0.1.0","maintainers":[{"name":"bantic","email":"cory.forsyth@gmail.com"}],"homepage":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer","bugs":{"url":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer/issues"},"dist":{"shasum":"ab451c1c48bf597f1cbb7490044962597b091d0f","tarball":"https://registry.npmjs.org/@bustle/mobiledoc-facebook-instant-renderer/-/mobiledoc-facebook-instant-renderer-0.1.0.tgz","integrity":"sha512-Y0jtsTFvegmZWD+Gna7iw4Zuf2AO0cwSIAIk4a0+CyQY7tdqtToKuP0BWuAGt4tXM6/W37HoObwxLyD08AMdNg==","signatures":[{"sig":"MEUCIEFNrsQd8kBVY0WbKJ03tJhv+9eyNZvPqXPnvb9oHsETAiEAqY8HSznXO4KCTK3AlTZp/C4zvRs2Qzo3JrcfYBc9Dsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/commonjs/mobiledoc-facebook-instant-renderer/index.js","_from":".","files":["dist","lib"],"_shasum":"ab451c1c48bf597f1cbb7490044962597b091d0f","gitHead":"d0f683875b19d252710af050372d40059e5e1828","scripts":{"test":"testem ci","build":"rm -rf dist/ && broccoli build dist"},"_npmUser":{"name":"bantic","email":"cory.forsyth@gmail.com"},"repository":{"url":"git+https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer.git","type":"git"},"_npmVersion":"3.10.10","description":"Renders mobiledoc input to Facebook Instant output","directories":{},"_nodeVersion":"6.11.2","dependencies":{"mobiledoc-dom-renderer":"^0.6.5"},"devDependencies":{"testem":"^1.18.3","broccoli":"1.1.2","simple-dom":"^1.1.1","babel-eslint":"^7.2.3","broccoli-merge-trees":"^2.0.0","broccoli-test-builder":"^0.4.0","broccoli-multi-builder":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/mobiledoc-facebook-instant-renderer-0.1.0.tgz_1502909388796_0.918542338302359","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@bustle/mobiledoc-facebook-instant-renderer","version":"0.1.1","keywords":["mobiledoc","render","content-kit"],"author":{"url":"https://madhatted.com","name":"Matthew Beale","email":"matt.beale@madhatted.com"},"license":"MIT","_id":"@bustle/mobiledoc-facebook-instant-renderer@0.1.1","maintainers":[{"name":"anujpan","email":"anuj@bustle.com"},{"name":"bantic","email":"cory.forsyth@gmail.com"},{"name":"bustle-deploy","email":"tyler+deploy@bustle.com"},{"name":"chris-olszewski","email":"chrisdolszewski@gmail.com"},{"name":"davidosomething","email":"me@davidosomething.com"},{"name":"dtetto","email":"donald@tetto.org"},{"name":"gdub","email":"garth22@gmail.com"},{"name":"hichaelmart","email":"michael.hart.au@gmail.com"},{"name":"janecakemaster","email":"jane@janekim.me"},{"name":"jqyu","email":"jj6yu@uwaterloo.ca"},{"name":"jtroynousky","email":"jtroynousky@gmail.com"},{"name":"kishin","email":"kishin.manglani@gmail.com"},{"name":"lucasdd","email":"ldobson@elitedaily.com"},{"name":"markparolisi","email":"mark@markparolisi.com"},{"name":"mixonic","email":"matt.beale@madhatted.com"},{"name":"reconbot","email":"wizard@roborooter.com"},{"name":"redterror","email":"dave@redterror.net"},{"name":"ryanrogalski","email":"ryan@infiniteloopco.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"},{"name":"teety","email":"tyler@bustle.com"},{"name":"tsiege","email":"tristan.t.siegel@gmail.com"},{"name":"tylerlove","email":"tyler@bustle.com"},{"name":"zeejab","email":"zahra.arch@gmail.com"},{"name":"zfoster","email":"notzachfoster@gmail.com"}],"homepage":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer","bugs":{"url":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer/issues"},"dist":{"shasum":"b1791c6f82aaaa3e3f40e5f09850f698948c1e8d","tarball":"https://registry.npmjs.org/@bustle/mobiledoc-facebook-instant-renderer/-/mobiledoc-facebook-instant-renderer-0.1.1.tgz","integrity":"sha512-7A2HR9wY8ktDRdwQ0ub5UuULDjBSmSsai9gYAuxkYVtrTdj91RkDu2KCoPMvrMaqxSauYwdNWDc++MMIXXEBOA==","signatures":[{"sig":"MEYCIQCr1FW3Mjje7mfTkKb9010Gp0IlFLkVrXWKjyuKb5x4qAIhAKrgGLDDcN4xcr1kPhXNr5i0QYKJ2LRSTKe3y94BMvNv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/commonjs/mobiledoc-facebook-instant-renderer/index.js","_from":".","files":["dist","lib"],"_shasum":"b1791c6f82aaaa3e3f40e5f09850f698948c1e8d","gitHead":"2a513c48d6ed77a1ae353523314016b865f76bd8","scripts":{"test":"testem ci","build":"rm -rf dist/ && broccoli build dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"bantic","email":"cory.forsyth@gmail.com"},"repository":{"url":"git+https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer.git","type":"git"},"_npmVersion":"3.10.10","description":"Renders mobiledoc input to Facebook Instant output","directories":{},"_nodeVersion":"6.11.2","dependencies":{"mobiledoc-dom-renderer":"^0.6.5"},"devDependencies":{"testem":"^1.18.3","broccoli":"1.1.2","simple-dom":"^1.1.1","babel-eslint":"^7.2.3","broccoli-merge-trees":"^2.0.0","broccoli-test-builder":"^0.4.0","broccoli-multi-builder":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/mobiledoc-facebook-instant-renderer-0.1.1.tgz_1502909586718_0.5738041622098535","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@bustle/mobiledoc-facebook-instant-renderer","version":"0.2.0","keywords":["mobiledoc","render","content-kit"],"author":{"url":"https://madhatted.com","name":"Matthew Beale","email":"matt.beale@madhatted.com"},"license":"MIT","_id":"@bustle/mobiledoc-facebook-instant-renderer@0.2.0","maintainers":[{"name":"hichaelmart","email":"michael.hart.au@gmail.com"},{"name":"chris-olszewski","email":"chrisdolszewski@gmail.com"},{"name":"jtroynousky","email":"jtroynousky@gmail.com"},{"name":"markparolisi","email":"mark@markparolisi.com"},{"name":"lucasdd","email":"ldobson@elitedaily.com"},{"name":"davidosomething","email":"me@davidosomething.com"},{"name":"kishin","email":"kishin.manglani@gmail.com"},{"name":"ryanrogalski","email":"ryan@infiniteloopco.com"},{"name":"redterror","email":"dave@redterror.net"},{"name":"reconbot","email":"wizard@roborooter.com"},{"name":"janecakemaster","email":"jane@janekim.me"},{"name":"zfoster","email":"notzachfoster@gmail.com"},{"name":"bustle-deploy","email":"tyler+deploy@bustle.com"},{"name":"jqyu","email":"jj6yu@uwaterloo.ca"},{"name":"dtetto","email":"donald@tetto.org"},{"name":"bantic","email":"cory.forsyth@gmail.com"},{"name":"mixonic","email":"matt.beale@madhatted.com"},{"name":"gdub","email":"garth22@gmail.com"},{"name":"anujpan","email":"anuj@bustle.com"},{"name":"tsiege","email":"tristan.t.siegel@gmail.com"},{"name":"zeejab","email":"zahra.arch@gmail.com"},{"name":"tylerlove","email":"tyler@bustle.com"},{"name":"southpolesteve","email":"southpolesteve@gmail.com"},{"name":"teety","email":"tyler@bustle.com"}],"homepage":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer","bugs":{"url":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer/issues"},"dist":{"shasum":"3a93e9bf5c7c0d0e867d3c5ddbc446c565432971","tarball":"https://registry.npmjs.org/@bustle/mobiledoc-facebook-instant-renderer/-/mobiledoc-facebook-instant-renderer-0.2.0.tgz","integrity":"sha512-/SDmP7iazKy84PXR9pcc5jeFG4O+KIg5wsg3QcSP0HBrvzJ9Q8E70I1BQ3bOr+fh7aslY58yui90+zQNuqtFxg==","signatures":[{"sig":"MEUCIAmgRZe1yxldIquJN44HIokN2z1zYxyIiK1G7qgUsKN0AiEAkN5pGbxD+2qMTFMfdfSP+DEep5Cy6mO9UzsMqmVd4Js=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/commonjs/mobiledoc-facebook-instant-renderer/index.js","_from":".","files":["dist","lib"],"_shasum":"3a93e9bf5c7c0d0e867d3c5ddbc446c565432971","gitHead":"62858a9c256cbfa33c299e9430511cec343c043d","scripts":{"test":"testem ci","build":"rm -rf dist/ && broccoli build dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"bantic","email":"cory.forsyth@gmail.com"},"repository":{"url":"git+https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer.git","type":"git"},"_npmVersion":"3.10.10","description":"Renders mobiledoc input to Facebook Instant output","directories":{},"_nodeVersion":"6.11.2","dependencies":{"mobiledoc-dom-renderer":"^0.6.5"},"devDependencies":{"testem":"^1.18.3","broccoli":"1.1.2","simple-dom":"^1.1.1","babel-eslint":"^7.2.3","broccoli-merge-trees":"^2.0.0","broccoli-test-builder":"^0.4.0","broccoli-multi-builder":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/mobiledoc-facebook-instant-renderer-0.2.0.tgz_1504210551030_0.26021598489023745","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-08-16T18:49:51.336Z","modified":"2024-10-26T13:08:16.059Z","0.1.0":"2017-08-16T18:49:51.336Z","0.1.1":"2017-08-16T18:53:08.433Z","0.2.0":"2017-08-31T20:15:51.106Z"},"bugs":{"url":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer/issues"},"author":{"url":"https://madhatted.com","name":"Matthew Beale","email":"matt.beale@madhatted.com"},"license":"MIT","homepage":"https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer","keywords":["mobiledoc","render","content-kit"],"repository":{"url":"git+https://github.com/bustlelabs/mobiledoc-facebook-instant-renderer.git","type":"git"},"description":"Renders mobiledoc input to Facebook Instant output","maintainers":[{"email":"tyler@bustle.com","name":"teety"},{"email":"tyler@bustle.com","name":"tylerlove"},{"email":"anuj@bustle.com","name":"anujpan"},{"email":"garth22@gmail.com","name":"gdub"},{"email":"tyler+deploy@bustle.com","name":"bustle-deploy"},{"email":"dave@redterror.net","name":"redterror"},{"email":"iwiwi@mac.com","name":"wabyad"},{"email":"sarahganis@gmail.com","name":"sarahganis"},{"email":"cg3ntry@gmail.com","name":"cg3ntry"}],"readme":"## Mobiledoc Facebook Instant Renderer [![Build Status](https://travis-ci.org/bustlelabs/mobiledoc-facebook-instant-renderer.svg?branch=master)](https://travis-ci.org/bustlelabs/mobiledoc-facebook-instant-renderer)\n\nThis is a Facebook Instant Article renderer for the [Mobiledoc format](https://github.com/bustlelabs/mobiledoc-kit/blob/master/MOBILEDOC.md) used\nby [Mobiledoc-Kit](https://github.com/bustlelabs/mobiledoc-kit).\n\nLearn about [Facebook Instant here](https://developers.facebook.com/docs/instant-articles).\n\nTo learn more about Mobiledoc cards and renderers, see the **[Mobiledoc Cards docs](https://github.com/bustlelabs/mobiledoc-kit/blob/master/CARDS.md)**.\n\nThe renderer is a small library intended for use in servers that are building Facebook Instant documents.\n\n### Usage\n\n```\nvar mobiledoc = {\n  version: \"0.2.0\",\n  sections: [\n    [         // markers\n      ['B']\n    ],\n    [         // sections\n      [1, 'P', [ // array of markups\n        // markup\n        [\n          [0],          // open markers (by index)\n          0,            // close count\n          'hello world'\n        ]\n      ]\n    ]\n  ]\n};\nvar renderer = new MobiledocFacebookInstantRenderer({cards: []});\nvar rendered = renderer.render(mobiledoc);\nconsole.log(rendered.result.outerHTML); // \"<p><b>hello world</b></p>\"\n```\n\nThe Renderer constructor accepts a single object with the following optional properties:\n  * `cards` [array] - The list of card objects that the renderer may encounter in the mobiledoc\n  * `atoms` [array] - The list of atom objects that the renderer may encounter in the mobiledoc\n  * `cardOptions` [object] - Options to pass to cards and atoms when they are rendered\n  * `unknownCardHandler` [function] - Will be called when any unknown card is enountered\n  * `unknownAtomHandler` [function] - Will be called when any unknown atom is enountered\n  * `sectionElementRenderer` [object] - A map of hooks for section element rendering.\n    * Valid keys are P, H1, H2, H3, BLOCKQUOTE, PULL-QUOTE\n    * The hooks is passed the document\n    * A valid value is a function that returns an element\n\nThe return value from `renderer.render(mobiledoc)` is an object with two properties:\n  * `result` [object] - The rendered result, a DOM node\n  * `teardown` [function] - When called, this function will tear down the rendered mobiledoc and call any teardown handlers that were registered by cards when they were rendered\n\n#### sectionElementRenderer\n\nUse this renderer option to customize what element is used when rendering\na section.\n\n```\nvar renderer = new MobiledocFacebookInstantRenderer({\n  sectionElementRenderer: {\n    P: function(dom) { return dom.createElement('span'); },\n    H1: function(dom) { return dom.createElement('h2'); },\n    H2: function(dom) {\n      var element = dom.createElement('h2');\n      element.setAttribute('class', 'subheadline');\n      return element;\n    }\n    /* Valid keys are P, H1, H2, H3, BLOCKQUOTE, PULL-QUOTE */\n  }\n});\nvar rendered = renderer.render(mobiledoc);\n```\n\n### Tests\n\nCommand-line:\n\n * `npm test`\n\nOr in the browser:\n\n * `broccoli serve`\n * visit http://localhost:4200/tests\n\n### Releasing\n\n* `npm version patch` or `minor` or `major`\n* `npm run build`\n* `git push bustle --tags`\n* `npm publish`\n","readmeFilename":"README.md"}