{"_id":"html-to-ssml","_rev":"28-ecf6d6b7ca96a4da69e066cbf7d4beb0","name":"html-to-ssml","description":"A utility for converting HTML to SSML.","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"html-to-ssml","version":"1.0.0","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6"},"_id":"html-to-ssml@1.0.0","dist":{"shasum":"3b6fb40b319ab9908b28f7fcb50fd6f8f56ac794","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.0.tgz","integrity":"sha512-fIe0cH8goICB3ZQBfSp4jQ1eCLDd/IOo5kOk3vg1/mdrAx860NmVyn/viL0WmZbzl9Sqyruo3U92QCcocRCSLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEaNYufODqWRmPrhrFrHPSPI9HbNrLsu1UQPOyEw4DLuAiAuRwgbIlBeK4G3sH9SKVO177K7m2R72d0AzREE4cQnZA=="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.1":{"name":"html-to-ssml","version":"1.0.1","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6"},"_id":"html-to-ssml@1.0.1","dist":{"shasum":"154e729cf9b2eed711dea2c86695eb57356127de","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.1.tgz","integrity":"sha512-ifxXJWYTP4sBMpQ1mzgU4Zh0wCE5cIDICD22bW20o2MfXJZjbX9lBtkaRrdMousnOq370iO0jDJ8k/IDS7sBDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAhItdLgpuLKMp9SAwf9USdiPyEd2CU4wz9UcTykjqobAiEA9okc2z49HzyhDyLx455Vjy+hqoTuIkKJwUTL2G1Twxo="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.2":{"name":"html-to-ssml","version":"1.0.2","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6"},"_id":"html-to-ssml@1.0.2","dist":{"shasum":"80f6018840a901059bdb126945c6a6fb2a377946","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.2.tgz","integrity":"sha512-S7k5oyoa3dfKeCT49nH/N0pEZHhxIoXthQxdeKbeCFyeOzir/WpCxd6pq3bCgpAmOrXXkTIWYwJ+wBeTYEsMYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRIbTOMM6+5wgd5zbLGdxv5p50svKnA/QPOjQWKL37NAiBALbfDkVmPD1O8Ne9HxvduxcZiHUxHrDG1tBvoqW5xFA=="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.3":{"name":"html-to-ssml","version":"1.0.3","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6"},"_id":"html-to-ssml@1.0.3","dist":{"shasum":"da62a8444fc0c9e3042d70e8eaabff58c34e5f1e","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.3.tgz","integrity":"sha512-nFMeR8puL3U4bKwlZiaVOYEBYdiZiFOfx4sUR/AO8f89JVOZuJ8Tgnx47jXhXzp8VlLnf9lvEsnGEG6XDBxNBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKiRN5dR4Vfb/lUT5si3SeRLFnbzkeiHeyRVTd5Ir7OgIhAJm8d+7VTMoJwAIMh4IrA8ltT6zRKnJrX+bgW4CELVOE"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.4":{"name":"html-to-ssml","version":"1.0.4","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6"},"_id":"html-to-ssml@1.0.4","dist":{"shasum":"6c06278a736a918460cb0ce6a1e0794cc831e475","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.4.tgz","integrity":"sha512-1MYH+p8PCOkdTBNWu1wayrRtzfRRtdODjUNgf1dv86X70zMqT1jsQ4qcQZFC2jPALyQ3/o6JPfsyw4w4V2rGVg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUr/E5I+8zTY/EQHd82y5yNdecURCt/E7kuraq3UUUSAIhAPa3fv5O61pHSAXUXrkv4Lwbvf7e7TBFFuYb2j4CpE+J"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.5":{"name":"html-to-ssml","version":"1.0.5","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":">=0.6.5","htmltidy":">=0.0.6","htmltidy-options":"*"},"_id":"html-to-ssml@1.0.5","dist":{"shasum":"52d33b467cec3bc01a5540e6428032e35e12dca9","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.5.tgz","integrity":"sha512-kAmna7nxp+5NWVl+8yMaF4+qx3lqlWrtfaSgXJ4Re7zTv2oa1WF8gktN4hrjq2AETFB/6aI6PL83UiG+Vgk6lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkW3rVg/ywyr0yf9ZwxUVl660ej7Q0mo5+/0z8NdAULAIgXoNaWXebRWG49ucPqUK1obLBzA/eo/Cz5nwWNXrSWLY="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"directories":{}},"1.0.6":{"name":"html-to-ssml","version":"1.0.6","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"./bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://plus.google.com/100898583798552211130"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":"=0.6.5","htmltidy":">=0.0.6","htmltidy-options":"*"},"_id":"html-to-ssml@1.0.6","scripts":{},"_shasum":"72acf96f800544906bd2eec9c908e1d49df55f24","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"dist":{"shasum":"72acf96f800544906bd2eec9c908e1d49df55f24","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.6.tgz","integrity":"sha512-f7280G6E6AiJyjEqoVRBsupabJ3ML3DfDRdqyhV372Gwi54ywlE6/DnPVsCmm8RhdaSO4+xNaniNMEjSzTBqXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNZ2M5ovcPyeEVZm1AyX1CRSUBfpF7XwQy68mCMIKHWwIgDRQ5i12C12aLKghnShba3Bz48kqMmAvDIOh7n29FCH8="}]},"directories":{}},"1.0.7":{"name":"html-to-ssml","version":"1.0.7","main":"./src/html-to-ssml.js","bin":{"html-to-ssml":"bin/cli.js"},"description":"A utility for converting HTML to SSML.","keywords":["HTML","SSML","TTS","atropa","html-to-ssml"],"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://github.com/matthewkastor"},"directories":{"lib":"src"},"engines":{"node":">=0.8.14"},"dependencies":{"jsdom":"=0.6.5","htmltidy":">=0.0.6","htmltidy-options":"*"},"homepage":"https://github.com/matthewkastor/html-to-ssml/","bugs":{"url":"https://github.com/matthewkastor/html-to-ssml/issues"},"repository":{"type":"git","url":"git://github.com/matthewkastor/html-to-ssml.git"},"licenses":[{"type":"gpl-3.0","url":"http://www.gnu.org/licenses/gpl-3.0-standalone.html"}],"gitHead":"6e18323323333b05da109433fe881a81a1696413","_id":"html-to-ssml@1.0.7","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-I6ndJ8JWdSk5jAJEYcY2uKcjiv/aSMwX77fqAxVFdqxZ7izsJfcLIzF+gGrWKTuNSigpIqDMNJrQhzE4aWJiIg==","shasum":"454cb9e18e725a50580a285d34b813620b1f2643","tarball":"https://registry.npmjs.org/html-to-ssml/-/html-to-ssml-1.0.7.tgz","fileCount":10,"unpackedSize":101212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2trZCRA9TVsSAnZWagAA1NUP/2BzEZrGxgZS5PgJdhJf\nmIOP0oSYFIeCQ9Bm2674Mg14qgB7Q2r6KoZAR14lIPCPQ+qKAdqLDEPg1Ruy\nund6+LGr0DF9lhI/mRoa1sWITOHXi9U5wYzhRvNuXvyUzF6j2mpcBEYH43LH\n+8LwAq8Ea7FEI6HOVSIrcdAbvljnO6ugh1QUaZdmq98alCBRAUk9JMILp9Op\nU1UCyTwG0wYamKuat7EaQ5hKGWFFrOAl0QNJ2hXM2hOV6wI9nSxNts4xAw85\n48EknHTxm8mBWKsyahLJcPF2+ePQTQhqUkZJ7+87QrnfuUWMMGyfg0nKK3x4\nuuNzzPeeEC/eMPfaShGAs9+MprQxQhe5j3zH8ySpBPNgrDVwfsMf5XwoLKRV\ntYYyPLMFuRQufMiyjDci+g3fWm1pp6rk7120/VBUaoqMMzZMA7DpIwZ1x0Wk\nJ97UtpmJyxrvVLIOmGY/ZNu0Y0JyNvHRN+u7Zcr5XS640Oo27xrVWMu65Pi7\nsFzNhfR9/deOMRSVvlnzaKWzzFQUs0mKQVbtYgvLmyNXgdoNT4WDuQMzHghc\ny/ZLDhPL+V5iFZvCluB4NlN9PZgEh84BdKlc+xZ5Z3APuMZaAteAfjmxNNV1\n+EEty7ZpdHDM+qoO0093nIYa0YH81N8n8BWqgPWokNyuMQtuFcIz0379scsP\niETt\r\n=osQ9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6UNIFtI4LH0WOJTnGEwQv6tWYvNPZJonI75FCvtvK8gIhAOv1wvTGqfDLKfAv/oJ7bOjjoYykrQWAQOVlSj4VStoX"}]},"_npmUser":{"name":"kastor","email":"matthewkastor@gmail.com"},"maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html-to-ssml_1.0.7_1632319211200_0.9083541734160203"},"_hasShrinkwrap":false}},"readme":"#html-to-ssml\n\nA utility for converting HTML to SSML.\n\nThis handy little utility will help you convert your HTML documents into SSML. \nI'm currently using it to convert HTML into the SSML supported by \n[eSpeak](http://espeak.sourceforge.net/)\n\n## Install it on node from npm\n\n`npm install html-to-ssml`\n\nor better yet, install it globally and call it from anywhere.\n\n`npm install -g html-to-ssml`\n\nIf you have trouble installing and see failures with contextify, you probably\n don't have visual studio installed or maybe node-gyp isn't configured.\n https://github.com/TooTallNate/node-gyp/blob/master/README.md\n \n Pro tip, set the version of VS you have installed with\n `npm config set msvs_version 2010 --global`\n `npm config set msvs_version 2012 --global`\n or\n `npm config set msvs_version 2013 --global`\n\n## Usage\n\nThis module exports a single function so there really isn't a whole lot to it.\nAll you do is give it a file name and path. The generated SSML will be created \nin the same directory as the given file, it will also have the same name as the \nfile with the addition of a `.ssml` extension. There are a couple requirements \nfor your HTML files that are easy to meet. Mostly, you add some definitions for \nthe voices you want to use in your document and, add attributes to your HTML \nElements so this program knows which voice you want to use on specific parts of \nyour text.\n\n### Specify voices to use in your markup\n\nVoices are specified in the HTML page using a script tag with an id of \nssmlconversionoptions and it's type set to application/json. The voice configs \nare just an anonymous object with a characters property. The characters \nproperty has each characters name as a property and those names are objects \nwhich have properties corresponding to the attributes available for `voice` and \n`prosody` elements in SSML. The names you give your characters will be applied \nto the class attribute of any element which you wish for that character to read.\n\n```\n<script id=\"ssmlconversionoptions\" type=\"application/json\">\n{\n    \"characters\" : {\n        \"narrator\" : {\n            \"gender\" : \"male\",\n            \"variant\" : \"4\",\n            \"age\" : \"50\",\n            \"pitch\" : \"x-low\",\n            \"range\" : \"low\",\n            \"rate\" : \"normal\",\n            \"volume\" : \"soft\"\n        },\n        \"tammz\" : {\n            \"name\" : \"en-us+F1\",\n            \"pitch\" : \"80Hz\",\n            \"rate\" : \"1\",\n            \"volume\" : \"100\"\n        },\n        \"kastor\": {\n            \"name\" : \"en+m7\",\n            \"pitch\" : \"40Hz\",\n            \"rate\" : \"0.94\",\n            \"volume\" : \"100\"\n        }\n    }\n}\n</script>\n\n<p class=\"kastor\">\n    <b class=\"ssml:sub\" alias=\"\">Matthew Kastor</b> She followed me to <span class=\"ssml:sub\" alias=\"flaccid book\">FB</span> But the whole <i>\"oh look this is a picture my ex sent me\"</i> and my <i>\"ha ha ha ha she's got zitty titties on the toilet\"</i> made her mad\n</p>\n\n<p class=\"tammz\">\n    <b class=\"ssml:sub\" alias=\"\">Tammy Knott</b> hahaha\n</p>\n\n<p class=\"kastor\">\n    <b class=\"ssml:sub\" alias=\"\">Matthew Kastor</b> That and I was making fun of her facepaint. So she quit <span class=\"ssml:sub\" alias=\"flaccid book\">FB</span> and went back to <span class=\"ssml:sub\" alias=\"allpooetry\">AP</span>. She thought I thought she was a dude.\n</p>\n\n<p class=\"tammz\">\n    <b class=\"ssml:sub\" alias=\"\">Tammy Knott</b> I see\n</p>\n\n<p class=\"kastor\">\n    <b class=\"ssml:sub\" alias=\"\">Matthew Kastor</b> umhmmm... So anyway, back at <span class=\"ssml:sub\" alias=\"allpooetry\">AP</span> after she disappeared for a few months, she returned because I'm <b>so Glorious.</b>\n</p>\n\n<p class=\"tammz\">\n    <b class=\"ssml:sub\" alias=\"\">Tammy Knott</b> hahaha\n</p>\n\n<p class=\"kastor\">\n    <b class=\"ssml:sub\" alias=\"\">Matthew Kastor</b> Then the missions started. **it got crazy. She got troll's remorse and ended up befriending her former targets.\n</p>\n\n<p class=\"tammz\">\n    <b class=\"ssml:sub\" alias=\"\">Tammy Knott</b> hahaha And then she met me and everything went to hell in a hand basket\n</p>\n\n<p class=\"kastor\">\n    <b class=\"ssml:sub\" alias=\"\">Matthew Kastor</b> Then I returned. Supposedly carrying the motherlode of hacktronix with a big fat Destory grin on my face... No we already covered when she met you with the <i>\"befriending former targets\"</i> part. \n</p>\n```\n\n### Simple conversion\n\n```\nvar converter = require('html-to-ssml');\nconverter('myfile.html'); // the output file will be myfile.html.ssml\n```\nThere is an optional second parameter which can be either 'p' or 's' which will \nwrap your text in either a paragraph or sentence element. The default is to \nwrap things in sentence elements.\n\nIf you install this module globally then you can call it from the command line \nanywhere on your machine. It's easy.\n\n```\nhtml-to-ssml myfile.html\n```\n\nIf you prefer not to install things globally you can still use this module from \nthe command line. Just go to the `node_modules/.bin` directory and run it\n\n```\nnode_modules/.bin/html-to-ssml.cmd \"C:/Users/Billy Bob/Desktop/myfile.html\"\n```\n\nNow that you know the basics. Let's do some advanced stuff.\n\n### Advanced Stuff\n\nBasically I mapped the SSML elements supported in eSpeak to classes you can \napply to whatever element suits your fancy. If you look in the example above, \nyou'll see that the voice names are specified as classes on the paragraph \nelements. What happens is that I rip the guts out of the paragraph, wrap it up \nwith voice and prose elements per your specifications, and write it out to a \nfile. All for free. But wait, there's more. I was so bored today that I went \nahead and did you one better. You can put classes on HTML elements and have \nthem converted to SSML elements on the fly! POW. I'll rip the guts out of \nanything and wrap it up in a bow for you because I'm super nice and really, \nreally, awesome.\n\n#### Class List For Converting Elements\n\nAll you do is give your element a class from the left side of the list and it \nwill be converted to the element on the right side of the list.\n\n```\nclassProcessors = {\n    \"ssml:voice\" : voice,\n    \"ssml:prosody\" : prosody,\n    \"ssml:sub\" : sub,\n    \"ssml:sayas\" : sayAs,\n    \"ssml:mark\" : mark,\n    \"ssml:s\" : ssmlS,\n    \"ssml:p\" : ssmlP,\n    \"ssml:tts:style\" : ttsStyle,\n    \"ssml:audio\" : audio,\n    \"ssml:emphasis\" : emphasis,\n    \"ssml:break\" : ssmlBreak\n}\n```\n\nAdd any properties to the element that are applicable to the SSML element and \nthey'll be carried over in the translation. See the spans and bold tags in the \nexample above? I convert many of them into SSML `sub` elements and provide an \nalternate pronunciation. It makes sense to list the person's name when they're \nspeaking in a text, but not so much sense when you're listening to it being \nread. So I mute them. Then there are acronyms that sound better as words \nas opposed to letters, so I substitute the full names in the audio. It's good \nstuff.\n\n#### Emphasizing Certain Tags Automatically\n\nSee, I know when something is written in bold, italics, underlines, etc., that \nthe text should be read a little differently. So I went and made a huge list of \ntags that should have a slight emphasis or de-emphasis when read. The list is \nas follows:\n\n**Reduced Emphasis**\n\ns\nsub\ni\nem\nq\nblockquote\ncite\ndel\nstrike\nsup\nsummary\ncaption\nfigcaption\n\n**Moderate Emphasis**\n\nb\nstrong\ndt\ndfn\nu\nli\nmark\nth\ntitle\nvar\n\nIf you would like to suppress automatic emphasis just add the ssml property to \nthe element and it will be ignored\n\n```\n<p class=\"billy\">\n    I am Billy! I <b>know</b> how to count 1 <sub ssml>2</sub> 3...\n</p>\n```\n\nWell, that about wraps it up.\n\n## Contact Info\n\nIf you have any questions or want to help improve this module you can write me\nat [matthewkastor@gmail.com](mailto:matthewkastor@gmail.com)\nSource is available at [https://github.com/matthewkastor/html-to-ssml/](https://github.com/matthewkastor/html-to-ssml/)","maintainers":[{"name":"kastor","email":"matthewkastor@gmail.com"}],"time":{"modified":"2022-06-18T21:58:32.779Z","created":"2013-06-23T10:05:15.988Z","1.0.0":"2013-06-23T10:05:17.738Z","1.0.1":"2013-06-23T20:19:19.758Z","1.0.2":"2013-06-23T20:25:49.770Z","1.0.3":"2013-06-24T18:09:50.662Z","1.0.4":"2013-06-24T19:23:06.862Z","1.0.5":"2013-06-24T19:26:28.236Z","1.0.6":"2014-10-11T16:02:41.671Z","1.0.7":"2021-09-22T14:00:11.354Z"},"author":{"name":"Matthew Kastor","email":"matthewkastor@gmail.com","url":"https://github.com/matthewkastor"},"keywords":["HTML","SSML","TTS","atropa","html-to-ssml"],"readmeFilename":"README.md","homepage":"https://github.com/matthewkastor/html-to-ssml/","repository":{"type":"git","url":"git://github.com/matthewkastor/html-to-ssml.git"},"bugs":{"url":"https://github.com/matthewkastor/html-to-ssml/issues"}}