Commit Graph

265 Commits

Author SHA1 Message Date
Oleg Proskurin 77a2a03a81 feat: new version 2026-01-05 11:31:05 +07:00
Oleg Proskurin 8080e7012e doc: prepare for guide 2026-01-04 20:44:21 +07:00
Oleg Proskurin 9b032eaf5a doc: updates to live urls 2026-01-04 15:04:26 +07:00
Oleg Proskurin 1aa307aac9 fix: icons location 2026-01-04 13:46:14 +07:00
Oleg Proskurin b7463258f5 feat: update metadata 2026-01-04 13:31:11 +07:00
Oleg Proskurin 338a083052 feat: add favicon 2026-01-04 13:25:30 +07:00
Oleg Proskurin 582220166a feat: update sidebar 2026-01-03 03:40:50 +07:00
Oleg Proskurin 513b983187 fix: footer 2026-01-03 01:55:32 +07:00
Oleg Proskurin 0ebc893c33 feat: add placeholders to docs 2026-01-03 01:51:13 +07:00
Oleg Proskurin 86528dc6cf tasks: add docs seo 2026-01-02 21:36:38 +07:00
Oleg Proskurin 801080d565 feat: SEO adjustment for homepage 2026-01-02 21:36:17 +07:00
Oleg Proskurin afefb43ce5 tasks: add homepage placeholders 2026-01-02 21:27:34 +07:00
Oleg Proskurin b60a97c73f fix: sidebar 2026-01-02 21:27:07 +07:00
Oleg Proskurin 5d1309633d fix: ensure trailing slashes 2026-01-02 21:08:28 +07:00
Oleg Proskurin 5d7da9e59c fix: use trailing slashes 2026-01-02 19:13:31 +07:00
Oleg Proskurin fcbb5396b3 fix: correct logo 2026-01-02 14:47:00 +07:00
Oleg Proskurin 52649dfb3b feat(docs): add SEO metadata to all documentation pages
- Create centralized SEO config (docs-seo.ts) with DOCS_PAGES constants
  and createDocsMetadata helper for DRY metadata generation
- Add JSON-LD schema helpers (docs-schema.ts) for BreadcrumbList,
  TechArticle, HowTo, and WebAPI structured data
- Create JsonLd component for rendering structured data
- Add metadata exports and JSON-LD to all 10 docs pages:
  - Getting Started, Generation, Images, Live URLs, Authentication
  - API Overview, Generations API, Images API, Flows API, Live Scopes API

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 18:39:39 +07:00
Oleg Proskurin 9a6c409906 fix(docs): correct autoEnhance default value to true in Live URLs
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 17:57:24 +07:00
Oleg Proskurin 4303d25120 docs: add metatags docs 2026-01-01 17:50:16 +07:00
Oleg Proskurin 308bea624e refactor(landing): remove unnecessary 'use client' from docs pages
Remove 'use client' directive from 10 documentation pages that don't
use client-side features. Pages are pure static content; the DocPage
wrapper component handles any client-side functionality.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:32:35 +07:00
Oleg Proskurin dbb8504249 docs: update documentation to reflect new 16:9 default aspect ratio
Update default aspect ratio references from 1:1 to 16:9 in:
- Generation guide
- Live Scopes API reference
- Live URLs guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:32:25 +07:00
Oleg Proskurin 3d18fcfeb5 feat(api): change default aspect ratio from 1:1 to 16:9
Update default aspect ratio for image generation to 16:9 widescreen
format, matching common display resolutions and user expectations.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:32:18 +07:00
Oleg Proskurin ef47653296 doc: add Gemini image models sizes and aspect ratios reference
Documents supported aspect ratios and resolutions for:
- Gemini 2.5 Flash Image (1K only, 10 aspect ratios)
- Gemini 3 Pro Image (1K/2K/4K, 10 aspect ratios)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:32:11 +07:00
Oleg Proskurin 33b01c03a8 Merge branch 'docs-v1' 2025-12-31 20:28:27 +07:00
Oleg Proskurin 4e5a14f3de chore(landing): add docs pages to sitemap
Added all documentation pages to sitemap.xml:
- Getting Started (/docs)
- Image Generation (/docs/generation)
- Working with Images (/docs/images)
- Live URLs (/docs/live-urls)
- Authentication (/docs/authentication)
- API Reference (/docs/api)
- API: Generations, Images, Flows, Live Scopes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 20:27:27 +07:00
Oleg Proskurin f3aaea1e6d fix(landing): use label as React key in SubsectionNav to avoid duplicates
Multiple disabled nav items share the same href '#', causing React
duplicate key warning. Changed key from item.href to item.label
which is guaranteed to be unique.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 20:26:47 +07:00
Oleg Proskurin 2d01fa4182 feat(landing): update subnav items to API, SDK, MCP, CLI, Lab
- Docs layout: API (active), SDK/MCP/CLI/Lab (disabled)
- Demo layout: API, SDK/MCP/CLI (disabled), Lab (active, links to demo)
- Disabled items show "Coming soon" tooltip on hover

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:38:42 +07:00
Oleg Proskurin 62594774e3 feat(landing): add disabled prop support to SubsectionNav
- Added optional disabled property to NavItem interface
- Disabled items show gray text and cursor-not-allowed
- Desktop: Tooltip on hover shows "Coming soon"
- Mobile: Inline "(Coming soon)" label after item text
- Uses aria-disabled for accessibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:36:29 +07:00
Oleg Proskurin 21dfd31338 feat(landing): implement route groups for different header behaviors
- Created (landings) route group for home page with sticky header
- Created (apps) route group for docs/demo/admin with scrollable header
- Moved page components to respective route groups
- Updated root layout to be minimal (no header/footer)
- Each route group has its own layout with appropriate header style
- Updated Footer and layouts to use public folder logo path

This enables sticky header on landing pages while docs/demo pages
have a header that scrolls away with content.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:35:05 +07:00
Oleg Proskurin 358e4db0e3 fix(docs): sidebar active state not showing due to trailing slash mismatch
Next.js usePathname() returns paths with trailing slashes during static
generation (e.g., /docs/) but navigation hrefs use paths without trailing
slashes (e.g., /docs). The strict equality comparison was always failing.

Added path normalization to strip trailing slashes before comparison.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:03:46 +07:00
Oleg Proskurin 13f0a4f04f feat: init docs section 2025-12-31 15:00:44 +07:00
Oleg Proskurin 8e315ffe01 doc: save task 2025-12-31 01:28:10 +07:00
Oleg Proskurin 3e490d1dd9 docs: add roadmap note for enhancement templates feature
Mark enhancementOptions.template as planned feature - currently
all prompts use default 'general' style regardless of parameter.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 23:45:57 +07:00
Oleg Proskurin af8ed28cfb docs: update API documentation for new CDN URL format
Update all API documentation to reflect new storage architecture:

- storageKey: {org}/{project}/img/{imageId} (UUID, no extension)
- storageUrl: https://cdn.banatie.app/{org}/{project}/img/{imageId}
- Add URL Architecture section to live-url.md
- Update all example responses with new format
- Document UUID vs alias URL routing differences
- Clarify that filename = image.id (UUID)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 00:24:25 +07:00
Oleg Proskurin baa833cdc7 chore 2025-12-28 01:57:40 +07:00
Oleg Proskurin 3a2622e9a3 Merge remote-tracking branch 'origin/main' 2025-12-27 22:59:08 +07:00
usulpro 51d3e03732 add claude.local.md 2025-12-27 22:58:44 +07:00
Oleg Proskurin 440bb860da chore: add CLAUDE.local.md to gitignore
VPS-specific Claude Code configuration file, not tracked in git.
Create this file manually on VPS for local context.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 22:53:14 +07:00
Oleg Proskurin e7cc2fe2b2 chore 2025-12-27 20:17:29 +07:00
Oleg Proskurin b5bfc91949 Merge branch 'fix-cdn-urls' 2025-12-27 20:13:49 +07:00
Oleg Proskurin e1c2395d5d test: add storage URL format validation test
- Add test to validate storageKey format: {org}/{proj}/img/{uuid}
- Add test to validate storageUrl format matches CDN pattern
- Verify UUID in storage path matches image.id
- Update 06-edge-cases.rest to use new path format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 20:11:33 +07:00
Oleg Proskurin 3404743a84 chore: update environment config for CDN
- Add CDN_BASE_URL for direct image access
- Rename DEFAULT_ORG_ID → DEFAULT_ORG_SLUG
- Rename DEFAULT_PROJECT_ID → DEFAULT_PROJECT_SLUG

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:47:39 +07:00
Oleg Proskurin d3fd574492 feat: add MinIO public access + deployment docs
- Add mc anonymous set download for CDN public read access
- Create docs/url-fix-vps-site.md with VPS deployment instructions
- Create docs/url-fix-cloudflare-site.md with Cloudflare caching config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:47:32 +07:00
Oleg Proskurin 20996edd6d refactor: simplify storage path to {org}/{proj}/img/{imageId}
- Remove category from all storage methods
- Change filename to imageId (UUID) across all services
- Update StorageService interface: orgId→orgSlug, projectId→projectSlug
- Update MinioStorageService to use new path format
- Update all route handlers (cdn, images, upload, live, textToImage)
- Update GenerationService and ImageService for new storage keys
- CDN URL format: cdn.banatie.app/{org}/{proj}/img/{imageId}

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:47:18 +07:00
Oleg Proskurin e57c66f318 feat: add originalFilename and fileExtension to images schema 2025-12-27 19:21:11 +07:00
usulpro 191b8c8501 feat: add actual vps config 2025-12-27 19:05:50 +07:00
usulpro abf03450dc fix: permission 2025-12-27 17:18:31 +07:00
Oleg Proskurin b0e6304e07 fix: urls and storage structure 2025-12-26 01:10:14 +07:00
Oleg Proskurin 7e04fcbbb0 fix: storage structure 2025-12-25 23:54:18 +07:00
Oleg Proskurin 0a42a32817 feat: use CDN urls 2025-12-25 23:35:52 +07:00