KeybordStudio は通常 CDN (jsdelivr / unpkg) から外部ライブラリを読み込みますが、
オフライン環境で動かしたい場合は、このディレクトリに必要ファイルを配置して、
index.html の CDN URL をローカルパスに書き換えてください。
download-vendor.sh (Bash) を実行すると、以下を一括ダウンロードします:
| ファイル | URL | 用途 |
|---|---|---|
lz-string.min.js |
https://unpkg.com/[email protected]/libs/lz-string.min.js | URL 圧縮 |
FileSaver.min.js |
https://cdn.jsdelivr.net/npm/[email protected]/dist/FileSaver.min.js | ブラウザでファイル保存 |
jszip.min.js |
https://cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js | 3MF (ZIP) 読み書き |
three.module.js |
https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js | 3D エンジン |
three-bvh-csg.esm.js |
https://cdn.jsdelivr.net/npm/[email protected]/+esm | CSG 演算 |
three-mesh-bvh.esm.js |
https://cdn.jsdelivr.net/npm/[email protected]/+esm | BVH 加速 |
harfbuzzjs.wasm (任意) |
https://cdn.jsdelivr.net/npm/[email protected]/hb.wasm | 複雑文字 shaping |
harfbuzzjs.js (任意) |
https://cdn.jsdelivr.net/npm/[email protected]/hbjs.js | HarfBuzz JS ラッパー |
Pyodide (Python ランタイム、~6 MB+) はサイズが大きいため CDN 利用を推奨。
オフラインでも動かすなら https://github.com/pyodide/pyodide/releases から
配布バンドルを取得して lib/vendor/pyodide/ に展開してください。
外部 URL をローカル相対パスへ全置換:
# 例 (CDN → lib/vendor)
sed -i 's|https://unpkg.com/[email protected]/libs/lz-string.min.js|lib/vendor/lz-string.min.js|g' index.html
sed -i 's|https://cdn.jsdelivr.net/npm/[email protected]/dist/FileSaver.min.js|lib/vendor/FileSaver.min.js|g' index.html
sed -i 's|https://cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js|lib/vendor/jszip.min.js|g' index.html
# 他のライブラリも同様に
importmap も index.html 内に書かれている <script type="importmap"> ブロックで
URL を変更します。
リポジトリルートで:
bash lib/vendor/download-vendor.sh