Class: AozoraSsml::Builder
- Inherits:
-
Object
- Object
- AozoraSsml::Builder
- Defined in:
- lib/aozora-ssml/builder.rb
Instance Method Summary collapse
Instance Method Details
#create_body_ssml(doc) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/aozora-ssml/builder.rb', line 11 def create_body_ssml(doc) Sanitize. fragment(doc.main_text, elements: %w(br ruby rb rp rt div h1 h2 h3 h4 h5)). gsub(%r(<br\s*/?>), '<break />'). gsub(%r(<(?:h\d|div)[^>]*>), '<p>'). gsub(%r(</(?:h\d|div)>), '</p>'). gsub(%r(<rp>[^<]+</rp>), '') end |
#create_ssml(doc, ssml_body) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/aozora-ssml/builder.rb', line 20 def create_ssml(doc, ssml_body) <<-XML <?xml version="1.0"?> <speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="ja"> <p>#{doc.title}</p> <p>#{doc.}</p> #{ssml_body} </speak> XML end |
#html2ssml(html) ⇒ Object
5 6 7 8 9 |
# File 'lib/aozora-ssml/builder.rb', line 5 def html2ssml(html) doc = ::AozoraSsml::Document.parse(html.encode("utf-8")) ssml_body = create_body_ssml(doc) create_ssml(doc, ssml_body) end |