やりたいこと
VuePress で作成する記事に Speackerdeck に上げたスライドを埋め込みたいと考えております。
なにか方針などありましたら、ご教示いただけると幸いです。
markdown
1# Markdown です。 2 3<script 4 class="speakerdeck-embed" 5 data-id="0123456789abcdefghijklmnopqrstuv" 6 data-ratio="1.33333333333333" 7 src="//speakerdeck.com/assets/embed.js"> 8</script>
症状
これで直接 vuepress build すると Error compiling template で弾き返されてしまいます。
試したこと
Vue コンポーネントを作成し v-html で直接埋め込んでみました。
vue
1<template> 2 <div v-html="slide"> 3 </div> 4</template> 5<script> 6 export default { 7 name: 'speakerdeck', 8 props: ['dataId'], 9 data: function() { 10 return { 11 slide: '<script ' 12 + 'class="speakerdeck-embed" ' 13 + 'data-id="0123456789abcdefghijklmnopqrstuv" ' 14 + 'data-ratio="1.33333333333333" ' 15 + 'src="//speakerdeck.com/assets/embed.js">' 16 + '</script>' 17 } 18 }, 19 } 20</script>
結果は HTML としては出力されるのですが、レンダリングはされませんでした。
html
1<!-- 出力された HTML ファイルです --> 2<div> 3<script 4 class="speakerdeck-embed" 5 data-id="0123456789abcdefghijklmnopqrstuv" 6 data-ratio="1.33333333333333" 7 src="//speakerdeck.com/assets/embed.js"> 8</script></div>
他に回避策が思いつかず、質問させていただきました。
あなたの回答
tips
プレビュー