GEO Wiki Pro User Manual

Complete user manual for GEO Wiki Pro, covering every page and feature with button-level detail

# GEO Wiki Pro User Manual This document provides a detailed guide to all features and operations in GEO Wiki Pro, covering every button and interactive element. --- ## 1. Homepage The homepage consists of multiple configurable blocks that administrators can freely arrange. ### 1.1 Top Navigation Bar (NavHeader) The navigation bar is visible on all pages. ![Top navigation bar](/media/01-nav-header.png) | Button/Element | Location | Action | |----------------|----------|--------| | **Logo / Site Name** | Left | Click to return to homepage | | **Hamburger Menu** ☰ | Left (mobile) | Toggle mobile sidebar | | **Search Bar** | Center | Opens global search modal (shortcut: `Cmd+K` / `Ctrl+K`) | | **Theme Toggle** 🌙/☀️ | Right | Switch between light and dark mode | | **Language Selector** | Right | Opens dropdown: 中文 / EN / 日本語 | | **Login/Admin Button** | Right | Shows "Login" when unauthenticated (goes to /login); shows "Admin" when authenticated (goes to /admin) | ### 1.2 Hero Block The Hero block is the banner area at the top of the homepage. ![Hero block](/media/02-hero-block.png) | Element | Description | |---------|-------------| | **Logo Icon** | Site logo, configurable visibility | | **Main Title** | Site headline, e.g., "Welcome to GEO Wiki Pro" | | **Subtitle** | Site description | | **"Quick Start" Card** | Click "View Product Overview" to jump to the getting-started doc | | **"Let AI Understand" Card** | Click "Copy" to copy `/api/v1/llms.txt` content to clipboard for ChatGPT/Claude/DeepSeek | ### 1.3 Categories Block ![Category grid](/media/03-category-grid.png) | Element | Action | |---------|--------| | **Category Cards** | Click to navigate to the category page, showing category name and article count | ### 1.4 Featured / Recent Documents Block ![Document list block](/media/04-featured-recent.png) | Element | Action | |---------|--------| | **Document Cards** | Click to navigate to the document detail page | | **"View All Documents" Button** | Navigates to the full document list page | ### 1.5 FAQ Block ![FAQ block](/media/05-faq-block.png) | Element | Action | |---------|--------| | **FAQ Q&A Cards** | Click to jump to the FAQ document at the corresponding anchor | | **"View All FAQ" Button** | Navigates to the full FAQ page | ### 1.6 Back to Top Button ![Back to top button](/media/06-back-to-top.png) | Element | Action | |---------|--------| | **Back to Top Button** ↑ | Appears after scrolling 400px; click to smoothly scroll to page top | --- ## 2. Global Search (SearchModal) Open by clicking the search bar or pressing `Cmd+K` / `Ctrl+K`. ![Search modal](/media/07-search-modal.png) | Element | Action | |---------|--------| | **Search Input** | Type keywords for real-time fuzzy search of document titles and content | | **ESC Badge** | Press `Esc` to close the search modal | | **Category Quick Links** | Click to navigate directly to the category page | | **Search Result Items** | Click to navigate to the document detail page | | **↑ ↓ Keyboard Navigation** | Use arrow keys to move through results | | **Enter to Open** | Press `Enter` to open the currently selected result | | **Backdrop Click** | Click outside the search box to close | | **No Results Message** | Shows "No documents found for [query]. Try other keywords or browse categories" | --- ## 3. Login Page Access `/login` to reach the login page. ![Login page](/media/08-login-page.png) ### 3.1 Login Form | Button/Element | Action | |----------------|--------| | **Username Input** | Enter admin or editor username | | **Password Input** | Enter password | | **"Forgot Password?" Link** | Opens info modal: "Please contact the system administrator to reset your password" | | **"Login" Button** | Submits the form; on success, shows captcha popup | | **"Contact Admin" Link** | Opens info modal: "Please contact the system administrator to create a new account" | ### 3.2 Captcha Popup After login validation, a captcha appears. ![Captcha popup](/media/09-captcha.png) | Button/Element | Action | |----------------|--------| | **Emoji Grid (3×3)** | Click the correct emoji to verify; auto-submits on click | | **"Cancel" Button** | Closes captcha and resets login state | | **Error Message** | Shows when verification fails | ### 3.3 First Login When logging in with the default password, a password change reminder appears. ![Password change popup](/media/10-password-change.png) | Button/Element | Action | |----------------|--------| | **Current Password** | Enter the default password | | **New Password** | Enter new password (min 8 chars, with uppercase, lowercase, and numbers) | | **Confirm New Password** | Re-enter new password | | **"Confirm" Button** | Submits the change | | **"Skip" Button** | Skips for now; can be changed later from the user menu | --- ## 4. Document Detail Page (DocPage) Access `/docs/:slug` to view a single document. ![Document detail page](/media/11-doc-detail.png) ### 4.1 Breadcrumb Navigation | Element | Action | |---------|--------| | **Home Icon** | Return to homepage | | **Category Name** | Navigate to the category page | | **Document Title** | Current location (not clickable) | ### 4.2 Document Content Area | Element | Action | |---------|--------| | **Document Title** | Displayed | | **Document Description** | Shown as summary | | **Notice Banner** | If the category has a notice, a colored banner appears at the top | | **Markdown Content** | Rendered document body | | **Code Block "Copy" Button** | Copies code block content to clipboard | | **Images** | Click to view fullscreen (Lightbox) | | **YouTube/Bilibili Embeds** | Embedded video players | | **3D Model Embeds** | Embedded 3D model viewers | | **Tag Links** | Click to navigate to the corresponding category | | **Author Info** | Shows avatar initial, name, and date of last editor | | **"Last Updated"** | Shows document last update time | ### 4.3 Right Sidebar TOC (SubSidebar) ![Right sidebar TOC](/media/12-doc-toc-sidebar.png) | Button/Element | Action | |----------------|--------| | **Category Name** | Shows current category | | **Collapse/Expand Button** | Collapses or expands the sidebar | | **Document Link List** | Shows all documents in the current category; click to switch | | **TOC Toggle Arrow** | Expands or collapses the heading table of contents | | **TOC Heading Links** | Click to scroll to the corresponding heading in the document | ### 4.4 Document Feedback Feedback functionality at the bottom of documents. ![Feedback area](/media/13-feedback-area.png) | Button/Element | Action | |----------------|--------| | **"Helpful" Button** | Click to mark the document as helpful; can add comments and email | | **"Needs Improvement" Button** | Click to mark the document as needing improvement; can add suggestions | | **Message Textarea** | Enter feedback content (optional) | | **Email Input** | Enter email (optional) | | **"Skip" Button** | Cancel feedback | | **"Submit Feedback" Button** | Submit feedback to the admin panel | | **Thank You Message** | Shows confirmation after submission | ### 4.5 Guestbook If the admin has enabled guestbook functionality, it appears at the bottom of documents. ![Guestbook](/media/14-guestbook.png) | Button/Element | Action | |----------------|--------| | **"Leave Comment" Button** | Expands the comment form | | **Nickname Input** | Enter comment nickname | | **Email Input** | Enter email (optional) | | **Comment Textarea** | Enter comment content | | **"Skip" Button** | Collapses the comment form | | **"Submit Comment" Button** | Submits the comment (requires admin approval before display) | | **Existing Comments List** | Shows approved comments (avatar, nickname, date, content) | --- ## 5. Category Page (CategoryPage) Access `/category/:slug` to view documents in a category. ![Category page](/media/15-category-page.png) | Element | Action | |---------|--------| | **Breadcrumb: Home** | Return to homepage | | **Breadcrumb: Category Name** | Current location | | **Category Name** | Displayed as main heading | | **Category Description** | Displayed as subheading | | **Document List** | Click document title to navigate to detail page | --- ## 6. All Documents List Page (DocsListPage) Access `/docs` to view all documents. ![All documents list](/media/16-all-docs.png) | Element | Action | |---------|--------| | **Page Title "All Documents"** | Displayed | | **Document Count** | Shows "N documents total" | | **Featured Badge** | Featured documents show "Featured" tag | | **Document List Items** | Click to navigate to document detail page | --- ## 7. Admin Panel Admins and editors can access the panel after login. Go to `/admin`. ### 7.1 Admin Sidebar The sidebar contains the following navigation items: | Navigation Item | Path | Description | |-----------------|------|-------------| | **Dashboard** | `/admin/dashboard` | Overview stats and quick actions | | **Documents** | `/admin/docs` | Document CRUD | | **Categories** | `/admin/categories` | Category management and sorting | | **Tags** | `/admin/tags` | Tag management | | **Feedback** | `/admin/feedback` | User feedback and guestbook management | | **Media** | `/admin/media` | File upload and management | | **GEO Dashboard** | `/admin/geo` | GEO optimization scoring | | **AI Crawler Analytics** | `/admin/crawlers` | AI crawler visit statistics | | **GEO Report** | `/admin/geo-report` | GEO tracking report | | **Homepage Layout** | `/admin/homepage-layout` | Homepage block arrangement | | **Users** | `/admin/users` | Admin/editor account management | | **Settings** | `/admin/settings` | Global site configuration | ### 7.2 Admin Top Bar ![Admin top bar](/media/21-admin-topbar.png) | Button/Element | Action | |----------------|--------| | **Hamburger Menu** (mobile) | Toggle sidebar | | **Notification Bell** 🔔 | Opens notification dropdown | | **User Menu** | Opens dropdown menu | | ↳ **Settings** | Navigate to settings page | | ↳ **Change Password** | Opens password change modal | | ↳ **Logout** | Logs out, returns to homepage | --- ## 8. Dashboard (AdminOverview) Path: `/admin/dashboard` ![Dashboard](/media/22-admin-dashboard.png) ### 8.1 Stat Cards | Card | Action | |------|--------| | **Documents** | Click to navigate to document management | | **Categories** | Click to navigate to category management | | **Tags** | Click to navigate to tag management | | **Feedback** | Click to navigate to feedback management | ### 8.2 Quick Actions | Button | Action | |--------|--------| | **"New Document"** | Navigate to the document editor | | **"GEO Dashboard"** | Navigate to the GEO dashboard | | **"Settings"** | Navigate to the settings page | --- ## 9. Document Management (AdminDashboard) Path: `/admin/docs` ![Document management](/media/23-admin-docs.png) ### 9.1 Toolbar | Button/Element | Action | |----------------|--------| | **"+ New Document" Button** | Navigate to the document editor | | **Search Input** | Filter documents by title or slug | | **Category Filter Dropdown** | Filter by category | | **Document Count** | Shows "N total, M shown" | | **Sort Tip** | After selecting a category: "Drag the ⋮⋮ icon to reorder" | ### 9.2 Document Table | Column | Description | |--------|-------------| | **Sort** ⋮⋮ | Drag icon to reorder (requires category selection) | | **Title** | Document title | | **Category** | Document category | | **Actions** | Edit and delete buttons | ### 9.3 Row Actions | Button | Action | |--------|--------| | **Edit** ✏️ | Navigate to the document editor | | **Delete** 🗑️ | Shows confirmation dialog, then deletes | --- ## 10. Document Editor (AdminEditor) Path: `/admin/docs/new` or `/admin/docs/edit/:slug` This is the core content creation page with rich editing and AI optimization tools. ![Document editor](/media/24-admin-editor.png) ### 10.1 Top Action Bar | Button/Element | Action | |----------------|--------| | **Page Title** | "New Document" or "Edit Document" | | **"Show Preview" / "Hide Preview" Button** | Toggle right preview panel visibility | | **"Version History" Button** | Expand version history dropdown to view and restore versions | | **"Translate" Dropdown** | Expand translation options | | ↳ **Translate to English** | Translate title, description, content to English and save | | ↳ **Translate to Chinese** | Translate to Chinese and save | | ↳ **Translate to Japanese** | Translate to Japanese and save | | **"AI Analyze" Button** | Run GEO optimization analysis on content; shows score and suggestions | | **"Cancel" Button** | Return to document management | | **"Save Document" Button** | Save the current document | ### 10.2 Meta Information Form | Field | Description | |-------|-------------| | **Title** (required) | Document title | | **Slug** (required) | URL identifier (not editable in edit mode) | | **Category** (dropdown) | Document category | | **Author** | Document author | | **Tags** | Press `Enter` or comma to add; click × to remove | | **Description** | Short summary for GEO/SEO; "AI Analyze" button can auto-generate | | **Notice** | Optional notice text displayed at the top of the article | ### 10.3 Rich Text Editor (RichEditor) CodeMirror-based editor with full Markdown support. ![Editor toolbar](/media/25-admin-editor-toolbar.png) Toolbar buttons from left to right: | Button | Icon | Function | Syntax | |--------|------|----------|--------| | **Bold** | **B** | Bold selected text | `**text**` | | **Italic** | *I* | Italicize selected text | `*text*` | | **Heading 1** | H1 | Insert heading 1 | `# Title` | | **Heading 2** | H2 | Insert heading 2 | `## Title` | | **Heading 3** | H3 | Insert heading 3 | `### Title` | | **Divider** | — | Insert horizontal rule | `---` | | **Code Block** | </> | Insert code block (27 languages) | ` ``` lang ` | | **Tabbed Code Block** | 📑 | Insert multi-language tabbed code block | `:::code-tab` | | **Quote** | ❝ | Insert blockquote | `> quote` | | **Unordered List** | • | Insert unordered list | `- item` | | **Ordered List** | 1. | Insert ordered list | `1. item` | | **Task List** | ☐ | Insert task list | `- [ ] task` | | **Link** | 🔗 | Insert hyperlink | `[text](URL)` | | **Image** | 🖼️ | Insert image | `![alt](URL)` | | **Table** | 📊 | Insert Markdown table skeleton | `\| col1 \| col2 \|` | | **Grid Layout** | ⊞ | Choose 2-column or 3-column layout | `:::grid[2]` | | **Video** | 🎬 | Embed YouTube/Bilibili video | `:::video[Title](url):::` | | **3D Model** | 🧊 | Embed 3D model viewer | `:::model[Title](url):::` | | **Media Upload** | ⬆️ | Open media upload panel | — | **Additional Editor Features:** - Drag and drop files onto the editor to upload directly - Editor cursor position syncs with preview scroll - Code block insertion opens a language picker (JavaScript, Python, Go, Rust, etc.) ### 10.4 Preview Panel | Element | Description | |---------|-------------| | **Live Preview** | Right panel renders Markdown content in real-time | ### 10.5 AI GEO Optimization Panel Opens when clicking the "AI Analyze" button. ![AI optimization panel](/media/26-admin-editor-ai.png) | Element | Description | |---------|-------------| | **GEO Score** | Current document's GEO optimization score | | **Suggestion List** | Specific improvement suggestions (description, tags, content length, etc.) | | **Detected Topics** | AI-identified document topics | | **"Expand" / "Collapse" Button** | Toggle suggestion details | | **"Insert Optimization" Button** | Append suggestions to document end | | **"Replace Full Text" Button** | Replace entire content with AI-optimized version | ### 10.6 Translation Feature Click "Translate" to translate the document to another language. ![Translation feature](/media/27-admin-editor-translate.png) | Element | Description | |---------|-------------| | **Translation Status Badges** | Shows status per language: NEW / ✅ (exists) | | **Missing Translation Warning** | "Missing English/Chinese version, recommend generating" | | **Translation Confirmation** | "Will translate title, description, notice, and all content. Continue?" | ### 10.7 Version History ![Version history](/media/28-admin-editor-version.png) | Element | Action | |---------|--------| | **Version List** | Shows historical version numbers | | **"Restore" Button** | Click to restore to a specific version; confirms: "Restore to vX?" | ### 10.8 Bottom Actions | Button | Action | |--------|--------| | **"Cancel" Button** | Return to document management (prompts if unsaved changes) | | **"Save Document" Button** | Saves document; category and tags auto-sync to other language versions | --- ## 11. Category Management (AdminCategories) Path: `/admin/categories` ![Category management](/media/29-admin-categories.png) ### 11.1 Add Category | Button/Element | Action | |----------------|--------| | **"Add New Category" Button** | Toggle add form visibility | | **Category Name (Chinese)** | Enter Chinese category name | | **Category Name (English)** | Enter English category name | | **Category Name (Japanese)** | Enter Japanese category name | | **Category Slug** | Auto-generated from Chinese name; editable | | **Icon Picker** 📷 | Opens icon selection modal | | **Chinese Description** | Optional Chinese description | | **English Description** | Optional English description | | **Japanese Description** | Optional Japanese description | | **"+ Add Category" Button** | Submit to create category | ### 11.2 Category Table | Column | Description | |--------|-------------| | **Drag Sort** ⋮⋮ | Drag to reorder categories | | **Icon** | Category icon | | **Name** | Category name | | **Slug** | Category slug | | **Doc Count** | Number of documents in this category | | **Actions** | Edit and delete buttons | ### 11.3 Row Actions | Button | Action | |--------|--------| | **Edit** | Enter inline edit mode; click "Save" when done | | **Delete** | Opens delete confirmation modal | ### 11.4 Icon Picker Modal ![Icon picker](/media/30-admin-icon-picker.png) | Element | Action | |---------|--------| | **23 Icon Buttons** | Click to select category icon | | **Close Button** | Close the modal | --- ## 12. Tag Management (AdminTags) Path: `/admin/tags` | Button/Element | Action | |----------------|--------| | **"Add Tag" Button** | Toggle add form | | **Tag Name Input** | Enter tag name | | **Tag Slug Input** | Enter tag slug | | **"Save" Button** | Create tag | | **"Cancel" Button** | Hide form | | **Tag List** | Shows all tags with name and slug | | **"Delete" Button** | Opens confirmation: "Are you sure? This cannot be undone." | --- ## 13. Feedback Management (AdminFeedback) Path: `/admin/feedback` ![Feedback management](/media/32-admin-feedback.png) ### 13.1 Tab Switching | Button | Action | |--------|--------| | **Feedback Tab** | Switch to user feedback view | | **Guestbook Tab** | Switch to guestbook management view | | **"Refresh" Button** | Reload all data | | **Guestbook Toggle** | Enable/disable guestbook functionality | ### 13.2 Feedback View | Sub-tabs | Description | |----------|-------------| | **Improvements** | Shows feedback marked "Needs Improvement" | | **Helpful** | Shows feedback marked "Helpful" | Each feedback card: | Button/Element | Action | |----------------|--------| | **Expand/Collapse** | View feedback details | | **"Promote to Comment" Button** | Publish helpful feedback as a guestbook comment (requires admin approval) | ### 13.3 Guestbook Management | Button/Element | Action | |----------------|--------| | **Comment List** | Shows all comments with avatar, nickname, date, content | | **Status Badge** | "Approved" / "Pending" | | **"Approve" Button** | Approve comment for public display | | **"Pending" Button** | Set comment back to pending status | | **"Delete" Button** | Delete comment (with confirmation) | | **"From Feedback" Badge** | Shows if the comment originated from feedback | --- ## 14. Media Management (AdminMedia) Path: `/admin/media` ![Media management](/media/33-admin-media.png) ### 14.1 Upload Area | Button/Element | Action | |----------------|--------| | **"Upload File" Button** | Opens file picker | | **Drag-and-Drop Zone** | Drop files here to upload | | **"Browse Files" Link** | Opens file picker | | **Save Directory Input** | Set subdirectory for uploads | | **Upload Progress** | Shows uploading status | **Supported Formats**: JPG, PNG, GIF, WebP, max 50MB ### 14.2 File Table | Column | Description | |--------|-------------| | **File** | Filename and URL | | **Type** | MIME type | | **Size** | File size | | **Date** | Upload date | | **Actions** | Copy URL and delete buttons | ### 14.3 File Actions | Button | Action | |--------|--------| | **Image Thumbnail** | Click to open fullscreen preview (Lightbox) | | **"Copy URL" Button** | Copy file URL to clipboard | | **"Delete" Button** | Opens confirmation: "Confirm delete XX? This cannot be undone." | --- ## 15. GEO Dashboard (GeoDashboard) Path: `/admin/geo` ![GEO Dashboard](/media/34-admin-geo.png) ### 15.1 Overview Cards | Card | Description | |------|-------------| | **Average GEO Score** | Average optimization score across all documents | | **Total Documents** | Document count and category count | | **llms.txt** | Status: Active/Disabled, indexed document count | | **Sitemap** | Status: Active/Disabled, URL count | ### 15.2 Charts | Chart | Description | |-------|-------------| | **Score Distribution** | Bar chart showing document count per score range | | **Content Coverage** | Progress bars showing description/tags/long content percentages | ### 15.3 Top Opportunities Lists the most common failing checks for priority improvement. ### 15.4 Category Breakdown Table | Column | Description | |--------|-------------| | **Category** | Category name | | **Documents** | Number of docs | | **Average Score** | Category average GEO score | | **Score Bar** | Visual progress bar | ### 15.5 Document Score Table | Column | Description | |--------|-------------| | **Document** | Document title | | **Score** | GEO score | | **Description/Tags/Content** | Check results | | **Checks** | Passed check count | | **Edit** | Click to go to editor | **Score Levels**: Excellent / Good / Fair / Needs Work --- ## 16. AI Crawler Analytics (CrawlerDashboard) Path: `/admin/crawlers` ![AI crawler analytics](/media/35-admin-crawlers.png) ### 16.1 Overview Cards | Card | Description | |------|-------------| | **Total Visits** | Total AI crawler visit count | | **Unique Crawlers** | Number of distinct crawlers | | **Top Crawler** | Most active crawler name | ### 16.2 Daily Activity 30-day bar chart showing daily AI crawler visit trends. ### 16.3 Crawler Breakdown | Column | Description | |--------|-------------| | **Crawler** | User-Agent name | | **Provider** | AI provider badge (ChatGPT, Claude, etc.) | | **Visits** | Total visit count | | **Progress Bar** | Proportion of total visits | | **Last Seen** | Most recent visit time | ### 16.4 Top Paths URL paths ranked by visit count. ### 16.5 Recent Visits | Column | Description | |--------|-------------| | **Crawler** | Visiting crawler name | | **Provider** | AI provider | | **Path** | URL path visited | | **Time** | Visit timestamp | --- ## 17. GEO Report (GeoReport) Path: `/admin/geo-report` ![GEO Report](/media/36-admin-geo-report.png) ### 17.1 Visit Metrics | Metric | Description | |--------|-------------| | **Total Visits** | Total AI crawler visit count | | **Daily Average** | Average daily visits | | **Trend Change** | Up/Down/Flat + percentage | ### 17.2 AI Model Coverage Grid showing each AI model's coverage status: | Model Info | Description | |------------|-------------| | **Model Name** | ChatGPT, Claude, Gemini, etc. | | **Coverage Status** | "Indexed" / "Not Indexed" badge | | **Visits** | Visit count from this model | | **Last Seen** | Most recent visit time | ### 17.3 Top Content List of most-cited documents ranked by citation count. ### 17.4 Optimization Tips | Tip | Description | |-----|-------------| | **Submit site to AI model indexing services** | Help AI models discover your site | | **Ensure /llms.txt is accessible** | AI crawlers use this file to understand your site | | **Add JSON-LD structured data** | Improve AI comprehension | | **Write FAQ and use cases** | Increase probability of AI citation | --- ## 18. Homepage Layout Management (AdminHomepageLayout) Path: `/admin/homepage-layout` ![Homepage layout management](/media/37-admin-homepage-layout.png) ### 18.1 Block List | Button/Element | Action | |----------------|--------| | **Drag Sort** ⋮⋮ | Drag to reorder blocks | | **Show/Hide Toggle** | Toggle block visibility on the frontend | | **Delete Button** 🗑️ | Remove the block | | **Expand/Collapse** ▼ | Show/hide detailed block configuration | ### 18.2 Bottom Actions | Button | Action | |--------|--------| | **"+ Add Block" Button** | Choose block type and add (Hero/Categories/Featured/Recent/FAQ) | | **"Reset to Default" Button** | Restore default layout (requires confirmation) | | **"💾 Save Layout" Button** | Save current layout configuration | ### 18.3 Hero Block Config | Setting | Description | |---------|-------------| | **Main Title (zh/en)** | Customize Hero area title | | **Subtitle (zh/en)** | Customize Hero area subtitle | | **Show Logo** | Toggle logo visibility | | **Quick Start Button** | Toggle quick start card | | **AI Prompt Button** | Toggle AI prompt card | | **Card Ratio** | Slider to adjust card width ratio | | **Card Order** | Switch left/right order of cards | | **Quick Start Config** | Title, description, button text, link | | **AI Prompt Config** | Title, description, button text, background color | ### 18.4 Categories Block Config | Setting | Description | |---------|-------------| | **Columns** | 1/2/3/4 column layout | | **Show Count** | Toggle article count display | | **Title** | Custom block title | | **Selected Categories** | Check categories to display (all if none selected) | ### 18.5 Featured / Recent Config | Setting | Description | |---------|-------------| | **Block Title** | Custom title | | **Columns** | 1/2/3/4 column layout | | **Limit** | Maximum documents to display | | **View All** | Toggle "View All" link visibility | | **Featured Docs** (Featured only) | Manually select documents to display | ### 18.6 FAQ Config | Setting | Description | |---------|-------------| | **Block Title** | Custom title | | **Display Limit** | Maximum FAQ items | | **Source Document** | Document slug for FAQ data | | **View All** | Toggle "View All" link | | **Q&A List** | Manually add Q&A pairs (empty = read from source doc) | | **"+ Add Q&A" Button** | Add a new Q&A pair | --- ## 19. User Management (AdminUsers) Path: `/admin/users` ![User management](/media/38-admin-users.png) ### 19.1 Add User | Button/Element | Action | |----------------|--------| | **"New User" Button** | Toggle add form | | **Username Input** | Enter new username | | **Password Input** | Enter initial password | | **Role Dropdown** | Select role: Admin / Editor | | **Password Hint** | "Min 8 chars with uppercase, lowercase, and numbers. Users must change password on first login." | | **"Create" Button** | Create user | ### 19.2 User Table | Column | Description | |--------|-------------| | **Username** | Login name | | **Role** | Admin / Editor | | **Created** | Account creation date | | **Password Status** | "Pending" if using default password | | **Actions** | Edit, reset password, delete buttons | ### 19.3 User Actions | Button | Action | |--------|--------| | **"Edit" Button** | Enter inline edit mode; modify role | | **Role Dropdown** | Select new role | | **"Save" Button** | Save role change | | **"Cancel" Button** | Cancel editing | | **"Reset Password" Button** | Opens reset password modal | | **"Delete" Button** | Opens delete confirmation modal | **Note**: The current logged-in user cannot delete their own account or change their own role. The current user's row shows a "Current" badge. ### 19.4 Reset Password Modal ![Reset password modal](/media/39-admin-reset-password.png) | Element | Description | |---------|-------------| | **Confirmation** | "Reset password for user XX?" | | **"Reset Password" Button** | Generates a random temporary password | | **New Password Display** | Shows generated password (copyable) | | **Warning** | "Clicking reset will generate a random temporary password." | | **"Close" Button** | Close modal | --- ## 20. Settings Page (AdminSettings) Path: `/admin/settings` Settings are divided into 6 sections, each saved independently. ![Settings page](/media/40-admin-settings.png) ### 20.1 Branding | Setting | Description | |---------|-------------| | **Site Name** | Enter site name | | **Site Description** | Enter site description | | **Logo** | Shows current logo preview | | **"Upload Logo" Button** | Select image file to upload | | **Primary Color** | Color picker + text input with live preview | | **Reset Color Button** | Restore default #2563EB | | **Default Language** | Dropdown: Chinese / English / Japanese | | **Footer Text** | Enter footer display text | | **"Save Settings" Button** | Save branding settings | ### 20.2 Homepage | Setting | Description | |---------|-------------| | **Hero Title (zh/en)** | Customize homepage Hero area title | | **Hero Subtitle (zh/en)** | Customize homepage Hero area subtitle | | **"Save Settings" Button** | Save homepage settings | ### 20.3 General | Setting | Description | |---------|-------------| | **Site URL** | Enter full site URL | | **Supported AI Models** | Enter AI model list | | **"Save Settings" Button** | Save general settings | ### 20.4 AI & GEO | Setting | Description | |---------|-------------| | **LLM Provider** | Dropdown: OpenAI / Anthropic / DeepSeek / MiniMax / Custom | | **API Key** | Enter LLM API key | | **Model** | Enter model name | | **Base URL** | Enter API base URL | | **"Test Connection" Button** | Test LLM API connectivity | | **Auto GEO** | Toggle: auto-generate JSON-LD for all documents | | **Enable /llms.txt** | Toggle: generate AI-friendly document index | | **Enable Sitemap** | Toggle: auto-generate sitemap.xml | | **Enable Guestbook** | Toggle: show guestbook on document pages | | **"Rebuild GEO Data" Button** | Rebuild all GEO structured data | | **"Save Settings" Button** | Save AI & GEO settings | **Note**: Can also be configured via environment variables `LLM_PROVIDER` / `LLM_API_KEY`. ### 20.5 LLMs.txt Configuration | Setting | Description | |---------|-------------| | **Contact Email** | Enter contact email | | **Contact URL** | Enter contact page link (optional) | | **Show API Docs** | Toggle: include API info in llms.txt | | **Exclude Categories** | Enter category slugs to exclude (comma-separated) | | **Exclude Documents** | Enter document slugs to exclude (comma-separated) | | **"Preview llms.txt" Link** | Opens llms.txt preview in new tab | | **"Save Settings" Button** | Save LLMs.txt configuration | ### 20.6 Advanced | Setting | Description | |---------|-------------| | **Custom Head HTML** | Enter HTML to inject into all pages' `<head>` (for analytics, custom meta tags, etc.) | | **"AI Optimize" Button** | Use AI to automatically optimize the Head HTML | | **"Save Settings" Button** | Save advanced settings | --- ## 21. Media Upload Panel (ImageUploader) Opens when clicking the "Media Upload" button in the document editor. ![Media upload panel](/media/42-media-upload-panel.png) ### 21.1 Upload Area | Button/Element | Action | |----------------|--------| | **Drag-and-Drop Zone** | Drop files here to upload | | **Save Directory** | Set subdirectory for uploads | | **"Click to Select File"** | Opens file picker | | **Upload Progress** | Shows uploading status | | **Error Messages** | File too large (>50MB) / Upload failed / Network error | ### 21.2 Uploaded Files | Button/Element | Action | |----------------|--------| | **File Thumbnails** | Shows uploaded files | | **"Click to Insert" Button** | Inserts file URL into editor | | **"Collapse" Button** | Folds the file list | ### 21.3 Media Action Buttons | Button | Action | |--------|--------| | **Insert Image** | Insert Markdown image syntax | | **Embed YouTube** | Insert YouTube embed code | | **Embed Bilibili** | Insert Bilibili embed code | | **Embed 3D Model** | Insert 3D model viewer code | | **Browse Existing Files** | Open existing file browser | | **Insert File** | Insert file reference | --- ## 22. 404 Page Displayed when accessing a non-existent path. ![404 page](/media/17-404.png) | Element | Description | |---------|-------------| | **404 Heading** | Large display | | **Description** | "Page not found. Please return to the homepage to continue browsing." | | **"Back to Homepage" Button** | Click to return to homepage | --- ## Appendix A: Keyboard Shortcuts | Shortcut | Function | |----------|----------| | `Cmd+K` / `Ctrl+K` | Open global search | | `Esc` | Close search modal / popups | | `↑` `↓` | Navigate through search results | | `Enter` | Open selected search result | ## Appendix B: Role Permissions | Feature | Admin | Editor | |---------|-------|--------| | View documents | ✅ | ✅ | | Create/edit documents | ✅ | ✅ | | Delete documents | ✅ | ❌ | | Manage categories | ✅ | ❌ | | Manage tags | ✅ | ❌ | | Manage feedback & guestbook | ✅ | ❌ | | Manage media | ✅ | ✅ | | Manage users | ✅ | ❌ | | Modify settings | ✅ | ❌ | | GEO Dashboard | ✅ | ❌ | | Homepage layout | ✅ | ❌ | ## Appendix C: Supported Languages | Language | Code | Notes | |----------|------|-------| | 中文 | `zh` | Default language | | English | `en` | English | | 日本語 | `jp` | Japanese | ## Appendix D: File Upload Limits | Item | Limit | |------|-------| | Max file size | 50MB | | Supported formats | JPG, PNG, GIF, WebP, PDF, DOC, DOCX, STEP, STP | | Storage location | `public/media/` |