Dartのプログラムをブラウザ上で構築できるDartPadについて紹介しましたが、このDartPadを自身のブログに埋め込むことができます。
ここではWordPressで作成しているブログにDartPadを埋め込む方法について説明します。
DartPadを埋め込む方法
DartPadをWebページに埋め込む方法は、GitHubの Embedding Guide にまとめられています。
DartPadはiframeを使ってかんたんに埋め込むことができます。
埋め込むDartPad | iframeタグ |
---|---|
Dart and console | <iframe src=”https://dartpad.dev/embed-dart.html”></iframe> |
Flutter, console, and HTML | <iframe src=”https://dartpad.dev/embed-flutter.html”></iframe> |
Dart, console, and HTML | <iframe src=”https://dartpad.dev/embed-html.html”></iframe> |
WorkdPressであれば上の表のiframeタグをカスタムHTMLに記載するだけ。
ただし…これだと環境によっては次のようにつぶれて表示されてしまいます。
これじゃあソースも見れませんし、実行したところでイメージも確認できません。
DartPadがつぶれてしまう対策 → サイズを指定する
この方法は単純で、iframeタグにサイズを指定する属性を追加します。
<iframe style="width:100%" src="https://dartpad.dev/embed-dart.html"></iframe>
これで次のように広い領域に表示が可能です。
これでも問題なく使えますが、iframeのデフォルトの枠が凹んだ感じなので、あまり見栄えがよくない…(個人的に)
DartPadがつぶれてしまう対策【改】
そこで、CSSのクラスを追加してしまいましょう。
SWELL を使っている場合はCSSの追加は簡単。
WordPressのメニューから、外観 → カスタマイズ → 追加CSSで必要なクラスを追加します。
CSSには次の2つのクラスを追加します。
div.iframe-dartpad {
position: relative;
width: 100%;
padding-top: 56.25%;
overflow:auto;
border:2px solid #bbbbbb;
}
div.iframe-dartpad iframe {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border:none;
display:block;
}
Youtube埋め込みなどでiframeを使う場合と同じような形になります。
親ブロックとしてdivを用意し、ブログの描画領域全体に表示されるようにします。
その子ブロックとしてiframeを埋め込みます。
ただしそれだけだと高さが小さくなってしまうので、divのスタイルでpadding-topを指定(16:9になるように横幅に対し56.25%)しています。
<div class="iframe-dartpad">
<iframe src="https://dartpad.dev/embed-dart.html"></iframe>
</div>
それぞれのDartPadを埋め込んでみます。
Dart and console
Flutter, console, and HTML
Dart, console, and HTML
Highlighting Code Blockを使ってソースをキレイに表示するのもアリですが、DartPadを埋め込んでサンプルソースを公開すると伝わりやすくなりそうですね。
コメント