Glitchの使い方(GitHub Pagesへ移行)

😵❗️追記(2025年7月)
Glitch は、2025年7月8日をもってホスティング機能を終了しました😂

年内はGlitch上のプロジェクトをダウンロード可能とのこと、静的サイトなので今後は、GitHubにGlitch移行専用の新しいアカウントを作って移行することにしました

✅ GitHub Pagesでデモ画面を公開できる
✅ コードはGitHubで公開&編集もできる
✅ Glitchとわりと似た感覚で使えるのでは!

▶️ デモページ:https://ユーザー名.github.io/リポジトリ名/
💻 コードを見る:https://github.com/ユーザー名/リポジトリ名

GitHub Pagesについては、こちらのブログ記事で簡単にまとめました👇

目次
  1. Viteのプロジェクトを GitHub Pagesに公開する(追記:2025年7月)
  2. Glitchについて
  3. テンプレートと無料枠の制限
  4. エディタ
  5. Settingsとステータスバー他
  6. 埋め込み
  7. その他便利な機能
  8. 応用編
    1. Viteでthree.jsの開発環境

Viteのプロジェクトを GitHub Pagesに公開する(追記:2025年7月)

Viteで作ったWebページをGitHub Pagesに手動で公開する手順をまとめました
なるべく構造をシンプルにして、必要最小限の作業で公開できる方法です

✅ 前提条件
▲ローカルで npm run build が通る状態のViteプロジェクトがある
▲GitHubリポジトリを作成済み
▲docs/ フォルダを使ってGitHub Pagesに公開する予定

📁 プロジェクト/
├─ index.html
├─ script.js
├─ style.css
├─ vite.config.js baseとoutDirを設定
├─ package.json scriptsと依存を管理
├─ package-lock.json
├─ 📁 public/ GLTFや画像など静的ファイル
│ ├─ hoge.jpg
// https://ユーザー名.github.io(ルートに公開するとき)
export default {
  base: '/', 
  build: {
    outDir: 'docs', 
  },
}

// https://ユーザー名.github.io/リポジトリ名/(サブディレクトリに公開)
export default {
  base: '/リポジトリ名/',  // GitHub上のリポジトリ名に合わせる
  build: {
    outDir: 'docs',   // 出力先をGitHub Pages用に設定
  },
}

/style.css や /script.js のように、先頭に / をつける
これにより vite.config.js.base の設定が反映される
✨Viteが補完してくれる

<link rel="stylesheet" href="/style.css" />
<script type="module" src="/script.js"></script>

public/ の中のファイルは「URLとしてそのまま使われる」ので、読み込むときは どこに公開されるかを意識
*、JavaScriptやimgタグから使うときは スラッシュなし(相対パス) で書くと安全です

<!-- NG -->
<img src="/image.png" />

<!-- OK(GitHub Pagesで動く)-->
<img src="image.png" />
// Three.jsでのモデル読み込み:
// NG: GitHub Pagesだと 404
gltfLoader.load('/hoge.glb', ...); 

// OK: リポジトリ名付きのURLに相対的に解決される
gltfLoader.load('hoge.glb', ...); 

ビルド手順

npm install       
npm run build     # docs/ フォルダが生成

🚀 GitHubにアップロード

  • GitHubにリポジトリを作成
  • docs/ フォルダと必要なファイル(index.html, script.jsなど)をアップロード
  • GitHub → Settings → Pages → Source: main ブランチ, /docs フォルダ に設定
  • 数十秒〜数分で反映!

Glitchについて

Glitchは無料で利用できるオンライン(ブラウザ上で編集や保存ができる)エディタです
入力を開始した瞬間からサイトは公開されます
*Glitch Pro(有料)は非公開にできます

Glitchは、学習、プロトタイプの開発、テスト、フルスタックのアプリケーションの開発、デモのホスティングなど、さまざまな目的に利用することができます

6種類のテンプレートが準備されています
*作成されたアプリをリミックス(複製)して利用することもできます

「Facebook」「Google」「GitHub」「Email」を使ってログインします

ログインしていないユーザーは120時間のプロジェクト時間(作業時間)
*5日後に自動的に期限切れになります

テンプレートと無料枠の制限

テンプレート

  • Glitch In Bio
    Link in bio」として使用するページ
    ちなみに、「Link in bio」とは外部のWebサイトに誘導するためのリンクページ
  • Classic Website
    静的サイト
    * 「package.json・ requirements.txt・glitch.json」が含まれていない場合
  • Node.js
    フルスタックJavaScriptアプリケーションの構築
    一般的なExpressを使用したフロントエンドコードとバックエンドコードの両方が含まれる
  • React Static Site Generator
    Reactを使用した静的サイトジェネレーター
  • Eleventy Static Site Generator
    Eleventy使用した静的サイトジェネレーター
  • SQlite Database
    SQLiteデータベースを使用するNode.jsサーバースクリプトが含まれる

無料枠の制限

  • ログインユーザーは毎月1,000プロジェクト時間を無料で利用できます
    *プロジェクト時間は毎月1日の00:00 UTCに補充されます
  • ディスク容量はアプリごとに200MB
    「/tmp」ディレクトリ(ファイルはアプリの再起動時に削除)はカウントされません
    nodeモジュールはカウントされません
    *nodeモジュールには個別に1GBの制限があります
    アセットのストレージは別で512MBあります
    メモリはアプリごとに512MBの制限があります
    アップロードファイルのサイズは最大256MB
  • 1時間あたり4000リクエスト
  • 5分間何も操作しないと「スリープ」

GlitchPro(有料)に登録すると最大 5 つのプロジェクトを「ブースト(常にオン・メモリとディスク容量の追加)」できます

*ダッシュボードで現在のプロジェクト時間数を確認できます

エディタ

エディタを開く方法

  • 「New Project」 ボタンをクリックしスターターテンプレートを選択
  • ダッシュボードに保存されているプロジェクトをクリック
  • 「Remix」ボタンをクリックして既存のプロジェクトのコピーを作成
  • 「View Source」ボタンをクリックしてプロジェクトのコードを表示
  • ブラウザに直接プロジェクトのURLを入力
    *https://glitch.com/edit/#!/プロジェクト名

エディターが開くと3つのパートが表示されます

Glitchのエディタ
  • 左(ファイルビュー)
    • 「+」をクリックして新しいファイルを作成
    • ファイル名をホバーして3点ドットをクリックして既存のファイルを削除・名前変更・複製
    • Assetsをクリックして画像などのメディアファイルを保存
    • .envファイルはトークンや APIキーなどの情報を保存
    • 「Settings」をクリック「Edit Project Details」からプロジェクトに付けられたランダムな名前と説明を変更します
  • 中央(エディタ)
    • Markdownファイル(.md)を使用している場合、編集ペインの上部にある「EDIT MARKDOWN 」ボタンをクリックコードとコンテンツを切り替えでる
    • PRETTIER」ボタンを使用して 既存のコード整列ができます
      *「PRETTIER」ボタンはPrettierが利用可能なファイルに表示されます
    • package.jsonファイルを選択して編集、または「ADD PACKAGE」ボタンを使用してnpmモジュールのインストールや更新ができる
  • 右(プレビュー)
    *下部にある「PREVIEW」をクリックして右側に表示するか別タブで開くか選択
    • プレビューを表示したくない場合はウィンドウの右上隅にある3点ドットから「Close Preview」を選択します。
    • デフォルトのプレビューはindex.htmlです
      別のページを表示する場合はプレビューウィンドウの上部にある/URLボックスに表示するページの名前を入力
      *index.htmlのないアプリで作業している場合はプロジェクトのプレビューに読み込み画面が表示されます

アセットファイルについて

アセットにファイルをアップロードするとCDN に追加されます
ファイル名ではなく固有のURLにアクセス
URLの形式は https://cdn.glitch.com/<トークン>%2F<ファイル名> です
*.glitch-assetsという名前の隠しファイルにも追加されます
*assetsまたは.glitch-assetsからファイルを削除するとプロジェクトから削除されますが、CDN からは削除され ません

アセットファイルをクリックするしてモーダルからURLをコピー
モーダルの外側をクリックして閉じる

Settingsとステータスバー他

「Settings」の メニューから実行できる操作

  • New project:新しいプロジェクトを作成
  • Switch project:プロジェクトを切り替える
    *既存のプロジェクトのリストが表示されます
  • Remix this project:作業中のプロジェクトのコピーを作成
  • Embed this project:プロジェクトの埋め込みコードをコピーできます(別のサイトで表示する用)
  • Toggle auto refresh:既定ではコードを編集するとアプリを更新します
    無効にする場合はチェックを外す
  • Toggle text wrap:完全なコード行を表示するために右端までスクロールしたくない場合はチェツクをつける
  • Toggle light/dark theme:エディターを「ライト モード」から「ダーク モード」に切り替える
  • Archive this project:「削除」機能
    *アーカイブされたプロジェクトをダッシュ​​ボードからアクティブ化できる
  • Leave project:プロジェクトの所有者ではない場合のプロジェクトのメンバーに表示される
    「Leave Project」をクリックするとプロジェクトから削除されアプリを編集できなくる

ステータスバー他

  • 「STATUS」:プロジェクトの統計を表示
    *プロジェクトが制限を超え始めると「Status」の横にアラートが表示される
  • 「LOGS」:ログを表示
  • 「TERMINAL」:ターミナルで行った変更は即時にプロジェクトに反映されないので、
    ターミナルでrefreshコマンドを実行する必要があります
  • 「TOOLS」

「Share」ボタン(エディターの上部)
共同作業するために他のGlitchユーザーを招待
*詳細:https://help.glitch.com/kb/article/49-inviting-members-to-your-project/
サイトのリンク」と「ソースコードへの読み取り専用リンク」

埋め込み

アプリを別のサイトに埋め込む方法
公開に設定されているアプリのみを埋め込むことができます
*ソースコードを表示するオプションを無効にはできません

「Settings」→「Embed this project」

Embedのオプション

カスタマイズ

  • Show app:プレビューを表示する
    *またはURLにパレメーターを追加previewSize=100
  • Show code:コードを表示する
    *またはURLにパレメーターを追加previewSize=0
  • Hide attribution
    アバターが埋め込みのフッターに表示されますが、非表示にする場合にチェックする
    *またはURLにパレメーターを追加attributionHidden=true
  • 表示する幅を増減するには
    左右に→ をドラッグ
    *またはURLにパレメーターを追加previewSize=X (0 〜100未満の整数)
  • 埋め込みの高さを変更
    上下に↑をドラッグ
    *または埋め込みの高さを変更( height: Xpx)
  • コードを表示する場合ファイルビューが表示されますが、ファイル ビューを非表示にするには、プロジェクト名の横にある左矢印をクリック
    *またはURLにパレメーターを追加sidebarCollapsed=true
  • 埋め込みに表示される特定のコードファイルを設定するにはファイルツリーでファイルを選択する
    *またはURLにパレメーターを追加path=ファイルパス
  • Highlight specific lines of code
    コード行のハイライトはURLにパレメーターを追加: highlights=1,10
    *カンマ区切りで指定

その他便利な機能

GitHubとの連携
*GitHubアカウントは1つのGlitchアカウントとのみ接続できます

プレイリスト
*Glitch アプリのリストをキュレートします

よく使うアプリへのリスト(ショートカットとして)を作ったり
リミックスしたいアプリのリスト(ブックマークとして)を作ったり
いろいろ利用できます
*アプリをプレイリストに追加したら必要に応じてメモを追加できます

プレイリストを表示するには
glitch.comのページの右上のアバターをクリック⇨ポップアップメニューのアバターをクリック

サイト検索バー
「Glitchで作成されたアプリ・アプリのプレイリスト・ユーザー・チームページ」を探せます

検索結果

  • Top Results:上位のProjects、People、Playlists、Teams
  • Projects:すべての公開アプリ
  • People:Glitchコミュニティメンバー
  • Playlists :Glitchコミュニティメンバーのプレイリスト
  • Teams :チームページ

ボタンの生成

応用編

Viteでthree.jsの開発環境

今回は 静的サイトのテンプレートを使って、Viteでthree.jsの開発環境を作成できたので、備忘録として残します

ちなみにViteは高速な開発サーバーと効率的なビルドシステムを提供します
プレビューだけを確認する場合はViteの必要はないかもしれませんが、本番環境で使用するコードを効率的にビルドし、最適化するためにはViteが役立ちます。

packsge.jsonファイルを追加
ポイントはnode.jsのバージョンが古かったので、enginesフィールドを追加し、その中にNode.jsのバージョンを指定します
プロジェクトを起動するstartコマンドは必須

{
  "name": "threejs-vite",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "engines": {
    "node": "16.x"
  },
  "scripts": {
    "start": "vite",
    "dev": "vite",
    "build": "vite build"
  },
  "devDependencies": {
    "vite": "^4.3.9"
  },
  "dependencies": {
    "lil-gui": "^0.18.1",
    "three": "^0.153.0"
  }
}

vite.config.jsファイルを追加
rootはデフォルトのファイル構造(ルートにhtml,css,jsがある)を利用する場合は不要
*Glitchでは、通常、特定のホストとポートで自動的にプロジェクトをホストし、プレビューURLを生成します。しかし、Viteは独自の開発サーバーを提供し、これは通常ローカルホストで実行されます。
なので、Glitchの環境内でViteを使うには、Viteの設定でホストとポートを明示的に指定することでプロジェクトのプレビューを確認できます

export default {
    // root: '',  // ルートディレクトリをデフォルトに設定
    publicDir: './static',  // 静的ファイル用ディレクトリ
    base: './',
    server: {
      host: '0.0.0.0',  // すべてのネットワークインタフェースでサーバーを利用可能にします
      port: 3000  // ポート3000でサーバーを起動します
    },
    build: {
        outDir: './dist',  // 出力ディレクトリ
        emptyOutDir: true,
        sourcemap: true
    }
}

HTMLファイル内のscriptタグにtype=”module”を追加する

<script type="module" src="./script.js"></script>