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以降に追加しやすい構造に
なっています。