docs: add SEO descriptions to all doc pages and update hero subtitle

This commit is contained in:
SnapOtter
2026-05-16 12:48:23 +08:00
parent 3e06d68f4f
commit d025a569e2
12 changed files with 46 additions and 2 deletions
+4
View File
@@ -1,3 +1,7 @@
---
description: Image engine operations reference. All Sharp-based image processing operations and their parameters.
---
# Image engine # Image engine
The `@snapotter/image-engine` package handles all non-AI image operations. It wraps [Sharp](https://sharp.pixelplumbing.com/) and runs entirely in-process with no external dependencies. The `@snapotter/image-engine` package handles all non-AI image operations. It wraps [Sharp](https://sharp.pixelplumbing.com/) and runs entirely in-process with no external dependencies.
+4
View File
@@ -1,3 +1,7 @@
---
description: Complete REST API reference. Tool endpoints, batch processing, pipelines, file library, authentication, teams, and admin operations.
---
# REST API Reference # REST API Reference
Interactive API docs with request/response examples are available at [http://localhost:1349/api/docs](http://localhost:1349/api/docs). Interactive API docs with request/response examples are available at [http://localhost:1349/api/docs](http://localhost:1349/api/docs).
+4
View File
@@ -1,3 +1,7 @@
---
description: All SnapOtter environment variables with defaults. Configure auth, storage, AI models, analytics, and more.
---
# Configuration # Configuration
All configuration is done through environment variables. Every variable has a sensible default, so SnapOtter works out of the box without setting any of them. All configuration is done through environment variables. Every variable has a sensible default, so SnapOtter works out of the box without setting any of them.
+4
View File
@@ -1,3 +1,7 @@
---
description: How to contribute to SnapOtter. Bug reports, feature requests, and community guidelines.
---
# Contributing # Contributing
Thanks for your interest in SnapOtter. Community feedback helps shape the project, and there are several ways to get involved. Thanks for your interest in SnapOtter. Community feedback helps shape the project, and there are several ways to get involved.
+4
View File
@@ -1,3 +1,7 @@
---
description: SQLite database schema, tables, migrations, and backup procedures for SnapOtter.
---
# Database # Database
SnapOtter uses SQLite with [Drizzle ORM](https://orm.drizzle.team/) for data persistence. The schema is defined in `apps/api/src/db/schema.ts`. SnapOtter uses SQLite with [Drizzle ORM](https://orm.drizzle.team/) for data persistence. The schema is defined in `apps/api/src/db/schema.ts`.
+4
View File
@@ -1,3 +1,7 @@
---
description: Deploy SnapOtter to production with Docker. Hardware requirements, GPU setup, and reverse proxy configs for Nginx, Traefik, and Cloudflare.
---
# Deployment # Deployment
SnapOtter ships as a single Docker container. The image supports **linux/amd64** (with NVIDIA CUDA) and **linux/arm64** (CPU), so it runs natively on Intel/AMD servers, Apple Silicon Macs, and ARM devices like the Raspberry Pi 4/5. SnapOtter ships as a single Docker container. The image supports **linux/amd64** (with NVIDIA CUDA) and **linux/arm64** (CPU), so it runs natively on Intel/AMD servers, Apple Silicon Macs, and ARM devices like the Raspberry Pi 4/5.
+4
View File
@@ -1,3 +1,7 @@
---
description: Local development setup, commands, code conventions, and how to add a new image processing tool to SnapOtter.
---
# Developer guide # Developer guide
How to set up a local development environment and contribute code to SnapOtter. How to set up a local development environment and contribute code to SnapOtter.
+4
View File
@@ -1,3 +1,7 @@
---
description: SnapOtter Docker image tags, GPU benchmarks, version pinning, and multi-platform support for AMD64 and ARM64.
---
# Docker Image # Docker Image
SnapOtter ships as a single Docker image that works on all platforms. SnapOtter ships as a single Docker image that works on all platforms.
+4
View File
@@ -1,3 +1,7 @@
---
description: Set up Single Sign-On with OpenID Connect. Step-by-step guides for Keycloak, Authentik, Google, and other OIDC providers.
---
# OIDC / Single Sign-On # OIDC / Single Sign-On
SnapOtter supports OpenID Connect (OIDC) for single sign-on. Users can log in with an external identity provider such as Keycloak, Authentik, or Google instead of (or alongside) local username/password authentication. SnapOtter supports OpenID Connect (OIDC) for single sign-on. Users can log in with an external identity provider such as Keycloak, Authentik, or Google instead of (or alongside) local username/password authentication.
+4
View File
@@ -1,3 +1,7 @@
---
description: 55+ supported input formats including 23 camera RAW formats, and 14 output formats with full compatibility tables.
---
# Supported Image Formats # Supported Image Formats
SnapOtter supports 55+ image formats for input and 14 formats for output. SnapOtter supports 55+ image formats for input and 14 formats for output.
+4
View File
@@ -1,3 +1,7 @@
---
description: 21 supported languages and how to create or improve translations for SnapOtter using the TypeScript-enforced i18n system.
---
# Translation guide # Translation guide
SnapOtter ships with 21 languages out of the box. The i18n system uses a lightweight custom runtime with TypeScript-enforced locale completeness and dynamic code-splitting. SnapOtter ships with 21 languages out of the box. The i18n system uses a lightweight custom runtime with TypeScript-enforced locale completeness and dynamic code-splitting.
+2 -2
View File
@@ -118,8 +118,8 @@ export function Hero() {
Your images. Stay yours. Your images. Stay yours.
</h1> </h1>
<p className="mt-4 animate-[fadeUp_0.6s_ease-out_0.1s_both] text-lg text-muted md:text-xl"> <p className="mt-4 animate-[fadeUp_0.6s_ease-out_0.1s_both] text-base text-muted md:text-lg">
Every image tool you need. A free, open-source image editor with 52 tools that runs entirely on your device.
</p> </p>
<p className="mt-4 animate-[fadeUp_0.6s_ease-out_0.2s_both] text-xl font-medium md:text-2xl"> <p className="mt-4 animate-[fadeUp_0.6s_ease-out_0.2s_both] text-xl font-medium md:text-2xl">