Features Overview
Comprehensive overview of all GEO Wiki Pro feature modules, from document management to AI optimization, security mechanisms to deployment solutions.
## Document Management
### Markdown Native Editing
GEO Wiki Pro uses Markdown as the primary document format. Each document contains YAML Frontmatter metadata header, supporting the following fields:
- `title`: Document title
- `slug`: URL alias (unique identifier)
- `category`: Category assignment
- `tags`: Tag array
- `author`: Author
- `sort`: Category-level sorting weight
- `description`: Search result summary
### Extended Markdown Syntax
In addition to standard Markdown, the following extended syntax is supported:
| Syntax | Description | Example |
|--------|-------------|---------|
| `:::video[description](url)` | Video embedding | `:::video[Bilibili Video](https://bilibili.com/video/BVxxx)` |
| `:::model[title](url)` | 3D model download card | `:::model[Motor Model](/media/model.step)` |
| `` | Image (alt text auto-displayed as caption) | `` |
| `Callout blocks` | Tips/Warnings/Danger callouts | `::: tip\nTip content\n:::` |
### Categories and Tags
- **Categories**: Tree-structure document organization, each category can have independent sorting, description, and notification banner
- **Tags**: Flexible multi-tag system, support filtering documents by tags
- **Sorting**: Drag-and-drop sorting within categories, sort values automatically sync to all language versions
### Full-Text Search
Client-side fuzzy search based on Fuse.js, supporting:
- Title and content full-text matching
- Category filtering
- Instant search result feedback
## Multilingual System
### Built-in Language Support
- **Chinese** (zh): Default language
- **English** (en)
- **Japanese** (jp)
### Shared Field Sync
`category`, `tags`, `author`, `sort` are **shared fields** — when updating one language version, these fields automatically sync to other language versions. No manual consistency maintenance needed.
### Cascading Merge
When requesting document lists in non-default languages, the system performs **cascading merge**:
1. First reads all documents in the default language (Chinese) as the base
2. Overlays documents in the target language
3. Documents existing in only one language also appear in the results
This means even if a document only has a Chinese version, English and Japanese users can still see it.
## GEO Optimization
### Automatic GEO File Generation
GEO Wiki Pro automatically generates the following files to help AI search engines better understand and index your content:
- **llms.txt**: AI-friendly site overview containing all document titles, summaries, and links
- **sitemap.xml**: Standard XML sitemap helping search engines discover all pages
- **Structured data**: Schema.org compliant document metadata
### GEO Analytics Dashboard
The admin dashboard provides a GEO analytics page displaying:
- Current status of llms.txt and sitemap.xml
- Document coverage statistics
- One-click regeneration functionality
## Security Mechanisms
### Authentication and Authorization
- **JWT Authentication**: Stateless authentication based on httpOnly cookies, 2-hour automatic expiration
- **Role Control**: Supports admin, editor, viewer roles
- **Password Security**: bcrypt encrypted storage, forced password change on first login
- **CSRF Protection**: Double-Submit Cookie HMAC mechanism
### Content Security
- **CSP Policy**: Nonce-based Content Security Policy, preventing XSS attacks
- **Rate Limiting**: Global 300 requests/minute, authentication endpoints 10 requests/minute
- **File Upload Security**: Magic Bytes type detection + filename encoding
- **Input Filtering**: customHeadHtml automatic filtering of `<script>`, `<iframe>`, and event attributes
- **Slug Validation**: Regex validation + length limits + deduplication checks
## Collaboration Features
### Draft Approval Workflow
1. Editor creates a draft (saved to `drafts/` directory)
2. Administrator reviews draft content
3. One-click publish to official document after approval
### Version History
- Automatic history version saving on each document update
- Support viewing and comparing history versions
- Version history stored in `history/` directory
### Feedback System
- Readers can submit feedback on document pages
- Administrators view and process feedback in the dashboard
- Support feedback status tracking
## Deployment Solutions
### Docker Deployment
```bash
cp .env.example .env # Set JWT_SECRET
docker-compose up -d
curl http://localhost:3002/api/v1/health
```
### NAS Deployment
Supports UGREEN DXP4800 and other NAS devices, deployed via Docker Compose.
### BaoTa Panel Deployment
Supports deployment through BaoTa panel's PM2 manager, suitable for domestic server environments.
## CLI Tool
GEO Wiki Pro provides a fully-featured command-line tool `geo`, supporting:
- Document CRUD operations
- Category and tag management
- Configuration management
- Media file upload
- GEO file regeneration
- Full-text search
```bash
geo doc list --category getting-started
geo doc create --file article.md --category getting-started --sort 3
geo config update --hero-title "Welcome"
```