はじめに
Gist HTML Preview というサービスを使って、localhost を参照せず、Gist にアップロードした HTML+CSS+JavaScript のコードをブラウザでプレビューしました。
サービス:
GitHub: github.com
選定の経緯
たまにコードのサンプルはあるものの、デモを見つけられないコードがあります。 今回は上記のようなコードの動作確認のため、以下の観点でサービス・手法を選定しました。
- JavaScript の挙動をさまざまな端末で手軽に検証できるようにしたい
- 手軽に確認したいため、デプロイ作業は不要な方法が良い
- 現状登録していないサービスへの登録は避けたい
- JSFiddle、CodePen などのプレイグラウンドサービスは未登録のため、今回は使いたくない
- あくまで言語的な仕様確認を目的としたサンプルコードの確認のため、ソースコードを完全に秘匿しなくてよい
以上の観点を踏まえて、今回は Gist HTML Preview を採用しました。
- URL を共有すれば検証可能
- Gist のコードを変更するだけで、プレビューにも変更を反映できる
- GitHub アカウント下でソースコードを管理可能
やってみた結果
以下のように、作成したコードの動作確認をできました。
やったこと
1. コードを作成する
今回は以下のようなコードを作成しました。
<html lang="ja"> <head> <title>getBattery demo</title> </head> <body> <p>充電:</p> <p id="batteryStatus" /> </body> <script> const batteryStatusDom = document.getElementById("batteryStatus") navigator.getBattery().then((battery) => { batteryStatusDom.textContent = `${battery.level * 100}%` battery.addEventListener("levelchange", () => { batteryStatusDom.textContent = `${battery.level * 100}%` }) }) </script> </html>
2. Gist に作成したコードを登録する
GitHub Gist にコードを登録します。
ファイル名を指定しない場合は拡張子が .txt
のファイルになります。しかし、中身が HTML であればプレビュー自体はできるようです。
今回はファイル名を sample.html
とし、1. で提示したコードを添付して、「Create secret gist」を押して作成しました。
3. ハッシュ値をコピーする
Gist の URL から Gist のコードに割り当てられたランダムな値をコピーします。
URL は Gist のコードの画面の URL、もしくはコード右上の Embed を Share に変更して得られる URL で良いです。
たとえば、以下のような URL の場合、 {randomvalue}
の位置に当たる英数字が今回コピーする値になります(実際には意味のないランダムな英数字が現れます)。
https://gist.github.com/username/{randomvalue}
4. Gist HTML Preview で2のファイルをプレビューする
まず、Gist HTML Preview にアクセスします。
Gist ID の欄に3でコピーした値をペーストして、Submit ボタンを押します。
コピーした値が {randomvalue}
の場合は以下のように入力します。
Submit を押すと、登録した HTML コードがレンダリングされた状態で表示され、コードが動作していることを確認できました。
まとめ
Gist HTML Preview を使って Gist 上の HTML+CSS+JavaScript のコードをブラウザで表示しました。
今回は JavaScript の動作確認に利用しましたが、HTML、CSS の動作確認にも同様に使えるかと思います。
また、挙動をすぐに確認できるサンプルはないけど、サンプルコードの挙動を確かめたい。でも、無闇にサービス登録したくはない、みたいなケースで使えそうです。