尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
行きたい場所をノート(リスト)ごとに集めて、Googleマップ上にピン留めできるメモアプリ。 1. config.example.js を config.js にコピーする 2. config.js の GOOGLE_MAPS_API_KEY を、自分のGoogle Cloud プロジェクトで発行したキーに書き換える • 有効化が必要なAPI: Maps JavaScript API / Geocoding API 3. ローカルサーバーで index.html を開く(file:// 直開きだとブロックされる場合があるため) データはブラウザの localStorage に保存される(アプリ内・端末内のみ)。 「☁️ Google Driveに保存 / から復元」ボタンを使うには、Google Cloud Consoleで別途OAuthクライアントIDの発行が必要です。查看完整 README ↗
行きたい場所をノート(リスト)ごとに集めて、Googleマップ上にピン留めできるメモアプリ。
| ファイル | 役割 |
|---|---|
index.html | ページの骨組み。CSS/JSを読み込むだけ |
style.css | 見た目 |
app.js | アプリ本体のロジック(状態管理・画面描画・地図) |
config.js | Google Maps APIキー(git管理対象外。各自のローカルにのみ置く) |
config.example.js | config.js のひな形。コピーして使う |
build.js / package.json / vercel.json | Vercelデプロイ用のビルド設定。環境変数からconfig.jsを生成する(後述) |
config.example.js を config.js にコピーするconfig.js の GOOGLE_MAPS_API_KEY を、自分のGoogle Cloud プロジェクトで発行したキーに書き換える
index.html を開く(file:// 直開きだとブロックされる場合があるため)
python -m http.server 8791
その後 http://localhost:8791/ を開くデータはブラウザの localStorage に保存される(アプリ内・端末内のみ)。
「☁️ Google Driveに保存 / から復元」ボタンを使うには、Google Cloud Consoleで別途OAuthクライアントIDの発行が必要です。
drive.file を追加。テスト段階なら「テストユーザー」に自分のGoogleアカウントを追加)http://localhost:8791、Vercelの本番ドメイン)を登録するconfig.js の GOOGLE_OAUTH_CLIENT_ID に設定する保存されるファイルは、ボタンを押した本人のGoogleアカウント自身のDrive内に作られます(開発者側のDriveではありません)。
drive.file スコープにより、アプリはこのアプリ自身が作成したファイルにしかアクセスできません。
未設定のままでもアプリ自体は問題なく動作します(Driveボタンを押すと設定を促すメッセージが出るだけです)。
config.js はgit管理対象外なので、そのままpushしただけではデプロイ後にAPIキーが存在せず地図が表示されない。
Vercelの環境変数からビルド時に config.js を生成する仕組み(build.js)を用意している。
config.js は.gitignoreにより自動的に含まれない)vercel.json がビルドコマンドと出力先を指定済み)GOOGLE_MAPS_API_KEY(と、Google Driveバックアップを使う場合は GOOGLE_OAUTH_CLIENT_ID)を追加し、値を設定するbuild.js が実行され、環境変数から dist/config.js が生成されてサイトに含まれる*.vercel.app やカスタムドメイン)のみ許可する(制限をかけないと誰でもキーを使い回せてしまう。Maps JS APIのキーはブラウザに送られる性質上「隠す」ことはできないため、この制限が実質的なセキュリティ対策になる)config.js は絶対にリポジトリにコミットしない(.gitignore 済み)localStorageのみ)。複数人が使う・複数端末でデータを共有するWebサービスにするには、認証とデータベースを持つバックエンドが別途必要(app.js の「ストレージ」セクションにある load / persistLists / persistPlaces がAPI呼び出しに差し替える対象)