TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
「面倒な作業を、サッと。」がコンセプトのWebツールサービス Mr.Satto の Phase 1 実装です。 画像・PDF・ファイル・CSV/Excel・学生向け・仕事・クリエイター向けなどのツールを1つにまとめ、 Next.js (App Router) + TypeScript + Tailwind CSS で構築しています。GitHub → Vercel の流れで そのままWebサイトとして公開できる構成になっています。 サービス名(ユーザー向け表示)は src/lib/config/site.ts の siteConfig に一元化しており、 ここを変更するだけで全ページのブランド表記が切り替わります。なお、内部的なリポジトリ名・ npmパッケージ名(package.json の name)は universal-web-tools のままにしています (変更による不要な影響を避けるため。ユーザーに表示されることはありません)。檢視完整 README ↗
「面倒な作業を、サッと。」がコンセプトのWebツールサービス Mr.Satto の Phase 1 実装です。 画像・PDF・ファイル・CSV/Excel・学生向け・仕事・クリエイター向けなどのツールを1つにまとめ、 Next.js (App Router) + TypeScript + Tailwind CSS で構築しています。GitHub → Vercel の流れで そのままWebサイトとして公開できる構成になっています。
サービス名(ユーザー向け表示)は
src/lib/config/site.tsのsiteConfigに一元化しており、 ここを変更するだけで全ページのブランド表記が切り替わります。なお、内部的なリポジトリ名・ npmパッケージ名(package.jsonのname)はuniversal-web-toolsのままにしています (変更による不要な影響を避けるため。ユーザーに表示されることはありません)。
next-themes によるOS連動 + 手動切り替え)qrcode のみ。QR生成も完全にブラウザ内で完結)src/
app/ # ルーティング(App Router)
page.tsx # トップページ
tools/page.tsx # ツール一覧(検索・カテゴリ絞り込み)
tools/[tool]/page.tsx # ツール詳細ページ(動的ルート)
privacy/ terms/ contact # 静的ページ
sitemap.ts robots.ts opengraph-image.tsx # SEO関連
components/
ads/ # AdSlot / RewardedDownloadGate(広告・Download Gate)
common/ # FileDropzone / FileList / ProcessingStatus / DownloadButton / ErrorMessage など共通UI
layout/ # Header / Footer
theme/ # ダークモード
tools/ # ToolCard / ToolGrid / 検索 / カテゴリ絞り込み / ComingSoon
tools/implementations/ # 各ツールの実装コンポーネント
lib/
tools/ # Tool/Category のデータ構造・データ本体・検索ロジック(データ駆動)
processors/
types.ts # Processor / BrowserProcessor / ServerProcessor の基底インターフェース
browser/ # 実際にブラウザ内で処理を行うProcessor実装(画像・QR・パスワード・テキスト等)
server/ # Phase 2以降で実装するServerProcessorのプレースホルダー
ads/config.ts # AdSense関連の設定(広告ID・スロットID。環境変数から取得)
download/types.ts # DownloadAccessMode ("free" | "rewarded" | "premium")
Tool → Processor ├── BrowserProcessor(Phase 1で実装)
└── ServerProcessor(Phase 1はインターフェースのみ。Phase 2以降で実装)
UIコンポーネントは各Processorクラスの process() だけを呼び出し、画像処理などの実装詳細には
直接触れません。将来、同じToolのままBrowserProcessor⇄ServerProcessorを差し替えられる設計です
(例: 高度なOCRやPDF→Excelなど、サーバー処理が適切な機能をPhase 2で追加する場合)。
ブラウザ内処理のみで完結する以下のツールは実装済みです(ファイルはサーバーに送信されません)。
それ以外のツール(PDF編集・OCR・ファイル一括操作など)は Phase 1 では「準備中」ページとして
登録のみ行っており、src/lib/tools/data.ts の status を "available" に変更し、対応する
Processor・UIコンポーネントを実装することで追加できます。
Tool Processing → Processed File → Download Gate(RewardedDownloadGate) → Download
各ツールのダウンロード処理は RewardedDownloadGate コンポーネント(src/components/ads/)を
経由します。DownloadAccessMode(src/lib/download/types.ts)で以下を切り替えられる設計です。
free(現在の標準): 通常広告を表示しつつ、そのままダウンロードできるrewarded(Phase 2以降): リワード広告の視聴完了後にダウンロードが解除されるpremium(将来のPremiumプラン向け): 広告なしで即ダウンロード広告表示自体は AdSlot コンポーネント(src/components/ads/ad-slot.tsx)が担当します。
NEXT_PUBLIC_ADSENSE_CLIENT_ID が未設定の間(現在)は、実際の広告は読み込まれず、
レイアウト確認用のプレースホルダー(「広告(準備中)」の枠)が表示されるだけです。
AdSenseの審査に通過して広告ID・スロットIDを取得したら、.env.example を参考に
Vercelの環境変数へ設定してください(NEXT_PUBLIC_ プレフィックスの値は秘密情報ではないため、
Vercelの環境変数タイプは「Config」を選択してください)。
npm install
npm run dev
http://localhost:3000 を開いてください。
npm run lint
npm run build
GitHubで新しいリポジトリを作成します。
このプロジェクトのリモートを設定してpushします。
git remote add origin <あなたのGitHubリポジトリURL>
git branch -M main
git push -u origin main
Vercel にログインし、「Add New Project」から上記GitHubリポジトリを インポートします(Framework Presetは自動的に Next.js が選択されます)。
デプロイ後に発行されるURLを NEXT_PUBLIC_SITE_URL 環境変数として Vercel のプロジェクト設定に
追加すると、OGP画像やsitemapが正しい本番URLで生成されます。
以降、main ブランチへのpushで自動的にVercelが再デプロイします。
高度なOCR、PDF→Excel/Word本格実装、大容量PDFサーバー処理、Supabase Storageへのファイル保存、
決済・サブスクリプション・広告・ユーザーアカウント、iOS/Androidアプリは Phase 1 の対象外です。
ただし ServerProcessor のインターフェースは用意済みのため、Phase 2以降に追加しやすい構造に
なっています。