Skip to content

Commit 4f60998

Browse files
jbwashingtonclaude
andcommitted
add: OpenGraph Inspector utility
Added new browser utility for previewing and validating OpenGraph metadata: - Platform-specific previews (Facebook, Twitter, LinkedIn, WhatsApp, Slack, iMessage) - Parse OpenGraph, Twitter Card, and general meta tags - Validate metadata against best practices with visual feedback - Image dimension recommendations per platform (1.91:1 aspect ratio) - Export metadata as JSON - Copy meta tags to clipboard for easy implementation - CORS proxy support for fetching external URLs - Single HTML file with inline CSS/JS (no dependencies) Updated project documentation: - Added utility card to tools.html landing page - Added comprehensive section to utilities.md - Updated CLAUDE.md with platform specifications and features 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent e6310f9 commit 4f60998

File tree

4 files changed

+1031
-4
lines changed

4 files changed

+1031
-4
lines changed

CLAUDE.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,114 @@ This is a GitHub Pages site serving as a personal portfolio and collection of br
9696

9797
---
9898

99+
### 4. Favicon Generator (`favicon-generator.html`)
100+
**Purpose:** Generate all favicon and app icon formats from SVG or PNG
101+
102+
**Features:**
103+
- SVG and PNG input with drag-and-drop
104+
- Generate favicon.ico with multiple sizes (16/32/48)
105+
- Apple touch icons (180x180, 152x152, 120x120)
106+
- Android/PWA icons (192x192, 512x512, maskable variants)
107+
- Microsoft tiles (70x70, 150x150, 310x150, 310x310)
108+
- Safari pinned tab SVG preservation
109+
- Auto-generated HTML snippet
110+
- Auto-generated site.webmanifest
111+
- Auto-generated browserconfig.xml
112+
- Download all as ZIP or individual files
113+
114+
**Technologies:**
115+
- Canvas API for image resizing
116+
- Custom ICO file format builder
117+
- JSZip (CDN) for ZIP generation
118+
- File API for downloads
119+
- Drag and Drop API
120+
121+
**CDN Dependencies:**
122+
```html
123+
<script src="https://cdn.jsdelivr.net/npm/jszip@3.10.1/dist/jszip.min.js"></script>
124+
```
125+
126+
**External APIs:**
127+
- None - all processing happens locally
128+
129+
---
130+
131+
### 5. AI Workbench (`ai-workbench.html`)
132+
**Purpose:** Local-first LLM interface with tiered provider support
133+
134+
**Features:**
135+
- Chrome Built-in AI (Gemini Nano) integration
136+
- Ollama local server support
137+
- BYOK (Bring Your Own Key) for OpenAI, Groq, OpenRouter
138+
- Transformers.js browser fallback (Phi-3, Qwen2, TinyLlama)
139+
- Document context for RAG-lite conversations
140+
- Writing assistant (improve, simplify, expand, summarize, proofread)
141+
- Streaming responses with real-time output
142+
- Settings persistence with localStorage
143+
- Export/import conversations and documents
144+
145+
**Technologies:**
146+
- Chrome Built-in AI APIs (LanguageModel, Summarizer, Rewriter, Writer)
147+
- Transformers.js (CDN) for in-browser ML
148+
- Fetch API with streaming for Ollama/OpenAI-compatible APIs
149+
- ES6 Modules
150+
- LocalStorage/IndexedDB for persistence
151+
152+
**CDN Dependencies:**
153+
```html
154+
<script type="module">
155+
import { pipeline } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.17.1';
156+
</script>
157+
```
158+
159+
**External APIs:**
160+
- Chrome Built-in AI (local, zero config)
161+
- Ollama API at localhost:11434 (user runs locally)
162+
- OpenAI API (user-provided key)
163+
- Groq API (user-provided key)
164+
- OpenRouter API (user-provided key)
165+
166+
**Provider Priority:**
167+
1. Chrome AI (Gemini Nano) - Best: fast, private, zero config
168+
2. Ollama (localhost) - Power users with local models
169+
3. API Keys (BYOK) - Cloud power when needed
170+
4. Transformers.js - Works anywhere, offline capable
171+
172+
---
173+
174+
### 6. OpenGraph Inspector (`opengraph-inspector.html`)
175+
**Purpose:** Preview how links appear across social media platforms and validate OpenGraph metadata
176+
177+
**Features:**
178+
- Platform-specific previews (Facebook, Twitter, LinkedIn, WhatsApp, Slack, iMessage)
179+
- Parse OpenGraph, Twitter Card, and general meta tags
180+
- Validate metadata against best practices
181+
- Image dimension recommendations per platform
182+
- Export metadata as JSON
183+
- Copy meta tags to clipboard
184+
- CORS proxy support for fetching external URLs
185+
- Visual validation feedback (pass/warn/fail indicators)
186+
187+
**Technologies:**
188+
- Vanilla JavaScript (ES6+)
189+
- DOMParser for HTML parsing
190+
- Fetch API
191+
- Clipboard API
192+
- File API for downloads
193+
194+
**External APIs:**
195+
- AllOrigins/CORSProxy (optional, for CORS bypass)
196+
197+
**Platform Specifications:**
198+
- Facebook: 1200 × 630 pixels (1.91:1 aspect ratio)
199+
- Twitter: 800 × 418 pixels (1.91:1 aspect ratio)
200+
- LinkedIn: 1200 × 627 pixels (1.91:1 aspect ratio)
201+
- WhatsApp: 300 × 157 pixels (1.91:1 aspect ratio)
202+
- Slack: 800 × 418 pixels (1.91:1 aspect ratio)
203+
- iMessage: 300 × 157 pixels (1.91:1 aspect ratio)
204+
205+
---
206+
99207
## Site Structure
100208

101209
```
@@ -107,6 +215,9 @@ jbwashington.github.io/
107215
├── contact-scraper.html # Contact extraction utility
108216
├── m3u-editor.html # IPTV playlist manager
109217
├── fingerprint-analyzer.html # Browser fingerprint analyzer
218+
├── ai-workbench.html # AI Workbench - local-first LLM interface
219+
├── favicon-generator.html # Favicon Generator - SVG/PNG to all icon formats
220+
├── opengraph-inspector.html # OpenGraph Inspector - social media preview tool
110221
├── _config.yml # Jekyll configuration
111222
├── _includes/ # Jekyll includes
112223
├── _posts/ # Blog posts

0 commit comments

Comments
 (0)