~fvknk97034/bk

技術関連の備忘録

Gist HTML Preview で Gist に投稿した HTML+CSS+JavaScript のコードをプレビューする

はじめに

Gist HTML Preview というサービスを使って、localhost を参照せず、Gist にアップロードした HTML+CSS+JavaScript のコードをブラウザでプレビューしました。

サービス:

gistpreview.github.io

GitHub: github.com

選定の経緯

たまにコードのサンプルはあるものの、デモを見つけられないコードがあります。 今回は上記のようなコードの動作確認のため、以下の観点でサービス・手法を選定しました。

  • JavaScript の挙動をさまざまな端末で手軽に検証できるようにしたい
  • 手軽に確認したいため、デプロイ作業は不要な方法が良い
  • 現状登録していないサービスへの登録は避けたい
    • JSFiddle、CodePen などのプレイグラウンドサービスは未登録のため、今回は使いたくない
  • あくまで言語的な仕様確認を目的としたサンプルコードの確認のため、ソースコードを完全に秘匿しなくてよい

以上の観点を踏まえて、今回は Gist HTML Preview を採用しました。

  • URL を共有すれば検証可能
  • Gist のコードを変更するだけで、プレビューにも変更を反映できる
  • GitHub アカウント下でソースコードを管理可能

gistpreview.github.io

やってみた結果

以下のように、作成したコードの動作確認をできました。

やったこと

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>

参考: developer.mozilla.org

2. Gist に作成したコードを登録する

GitHub Gist にコードを登録します。

gist.github.com

ファイル名を指定しない場合は拡張子が .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 にアクセスします。

gistpreview.github.io

Gist ID の欄に3でコピーした値をペーストして、Submit ボタンを押します。 コピーした値が {randomvalue} の場合は以下のように入力します。

Submit を押すと、登録した HTML コードがレンダリングされた状態で表示され、コードが動作していることを確認できました。

まとめ

Gist HTML Preview を使って Gist 上の HTML+CSS+JavaScript のコードをブラウザで表示しました。

今回は JavaScript の動作確認に利用しましたが、HTML、CSS の動作確認にも同様に使えるかと思います。

また、挙動をすぐに確認できるサンプルはないけど、サンプルコードの挙動を確かめたい。でも、無闇にサービス登録したくはない、みたいなケースで使えそうです。