0.5.0 • Published 10 years ago
alexa-ssml v0.5.0
alexa-ssml 
Manipulate and validate the subset of SSML supported by the Alexa Skills Kit
npm install alexa-ssml
- Only supports limited syntax
- Camel case tag names and properties.
<break />changed to<pause />- Compatible with
transform-react-jsxbabel plugin
Example
import { ssml, renderToString } from 'alexa-ssml';
const tags = (
<speak>
Here is a number <w role="ivona:VBD">read</w> as a cardinal number:
<sayAs interpretAs="cardinal">12345</sayAs>.
Here is a word spelled out: <sayAs interpretAs="spell-out">hello</sayAs>.
</speak>
);
const raw = renderToString(tags);Custom Elements
import { ssml } from 'alexa-ssml';
function LongPause(props) {
return <pause time={10000} />
}
const data = (
<speak>
Foo <LongPause /> bar.
</speak>
)API
ssml(tag, props, ...children) -> object
tagcan be a string or function- Returns object like
{ tag, props, children }
renderToString(data, [options]) -> string
- Takes in object from
ssmlfunction - Must be wrapped in a
"speak"tag - Supported options:
pretty, defaults to false. Makes the SSML easier to read.
JSX Syntax
To use SSML JSX syntax directly in JavaScript add /** @jsx ssml */ to the top of the file or configure transform-react-jsx using .babelrc:
{
"plugins": [
["transform-react-jsx", { "pragma": "ssml" }]
]
}