1. Getting Started
Logging In
- Navigate to the application's URL (e.g.,
http://localhost:3000
). - You will be presented with a login screen.
- Enter the email and password associated with your non-admin PocketBase user account.
- Click "Login".
Interface Overview
The admin interface consists of:
- Sidebar: Provides primary navigation between the Global Dashboard, Projects list, and project-specific sections (when a project is active). Also includes links to Documentation, Global Log (if enabled), Settings, and Logout. The theme toggle is at the bottom.
- Top Bar: Displays context-specific navigation (e.g., different entry types within a project), the Global Search bar (if enabled), and a mobile navigation toggle.
- Main Content Area: Displays the primary content for the selected section (dashboards, tables, forms).
- Footer: Shows copyright information and the application version.
2. Global Dashboard
Accessed by clicking "Dashboard" in the sidebar or navigating to /
.
- Overview: Displays key metrics across all projects you own:
- Total Projects
- Total Documentation & Changelog Entries
- Published/Draft/Staged Counts (Docs & CL)
- Total Views (Docs & CL, if enabled)
- Entry Counts by Type (Docs, Changelogs)
- Recently Updated Projects: A quick list of your most recently modified projects.
- Top Viewed Entries: Lists your most viewed Documentation and Changelog entries (if view tracking is enabled).
- Activity Chart: Visualizes entry creation activity over the last 30 days.
- Update Notification: If a newer version of the Content Hub is available, a notification will appear.
3. Managing Projects
Viewing Projects
- Click "Projects" in the sidebar or navigate to
/projects
. - This page lists all projects you own.
- Search: Use the search bar at the top right to filter projects by name or description.
- Sorting: Click column headers (Project Name, Last Updated) to sort the list.
- Actions:
- Click a project name to go to its Project Dashboard.
- Click the dashboard icon () to go to the Project Dashboard.
- Click the settings icon () to edit the project's settings.
- Click the trash icon () to delete the project (requires confirmation).
Creating a New Project
- Go to the Projects list (
/projects
). - Click the "Create New Project" button.
- Enter a Project Name (required).
- Optionally, enter a Description.
- Click "Create Project". You will be redirected to the new project's Documentation entry list.
Editing Project Settings
- Navigate to the specific Project Dashboard (
/projects/:projectId
). - Click the "Settings" button in the header actions OR click the settings icon () from the main Projects list.
- Modify the following settings:
- Project Name: The display name of the project.
- Description: An optional description.
- Enable Public View: Toggles whether the project's content (
/view/:id
,/roadmap/:projectId
,/kb/:projectId
) is accessible publicly. - Require Password for Public View: (Only effective if Public View is enabled) If checked, visitors need a password to access public pages.
- Project Access Password: Set or change the password required for public access (only appears if "Require Password" is checked). Leave blank to keep the current password.
- Enable Public Roadmap: Toggles the visibility of the
/roadmap/:projectId
page (subject to Public View and Password settings). - Enable View Tracking: Toggles whether page views are counted for Docs & Changelogs.
- Enable View Time Tracking: (Only effective if View Tracking is enabled) Toggles whether approximate time spent on Docs & Changelogs is tracked.
- Click "Save Changes".
Deleting a Project
Warning: Deleting a project is irreversible and permanently removes the project and ALL associated content, including entries (active and archived), templates, headers, and footers.
- Go to the Projects list (
/projects
). - Find the project you want to delete.
- Click the trash icon ().
- A confirmation modal will appear. Read the warning carefully.
- Click "Delete Project" to confirm.
4. Project Dashboard
Accessed by clicking a project name or the dashboard icon () from the Projects list, or "Project Overview" from the project's sidebar section.
- Overview: Displays metrics specific to the current project (similar to the Global Dashboard but scoped). Includes average view time if enabled.
- Recently Updated: Lists the most recently modified entries within this project.
- Activity Chart: Visualizes entry creation activity for this project over the last 30 days.
- Header Actions:
- View Public Page/Roadmap/KB: Links to the public views (if applicable and enabled).
- Settings: Navigates to the Project Settings page.
- Create New Entry: Navigates to the form for creating a new entry in this project.
5. Working with Entries
Entry Types
- Documentation: Standard articles, guides, or documentation pages. Supports custom headers/footers. Can be shown in the sidebar.
- Changelog: Entries typically used for release notes or update logs. Supports custom headers/footers. Can be shown in the sidebar.
- Roadmap: Items representing features or tasks, displayed on a public Kanban-style board. Does not use the Markdown editor directly but has Title, Stage, and Tags. Cannot be shown in the main sidebar.
- Knowledge Base: Question/Answer pairs displayed in an accordion-style public view. Uses Markdown for the answer. Cannot be shown in the main sidebar.
Viewing Entry Lists
- Navigate to a project dashboard.
- Use the Top Bar navigation (Documentation, Changelog, Roadmap, Knowledge Base links) or the Sidebar links under the project name to access the list view for each entry type.
- Filtering: Use the "Filter by Collection" dropdown (if applicable) to show entries only from a specific collection.
- Searching: Use the search input to filter entries by Title, Collection, or Tags within the current list.
- Sorting: Click column headers (Title, Status, Collection, Views, Avg. Time, Updated, Stage) to sort the table.
- Actions (per entry):
- (Publish Staged): Appears for published entries with staged changes. Click to open a confirmation modal to publish the changes live.
- (View Public): Opens the public view page in a new tab (for published Docs/Changelogs).
- (View Public Roadmap): Opens the public roadmap board in a new tab (for Roadmap items).
- (Edit): Opens the entry editing page.
- (Archive): Moves the entry to the archive (requires confirmation).
- (Delete): Permanently deletes the entry (requires confirmation).
Creating New Entries
- Navigate to the desired Project Dashboard or an Entry List page for that project.
- Click the "Create New Entry" button (or "Create New Doc Entry", etc.).
- Use Template (Optional): Select a pre-defined template from the dropdown to populate the content area. Warning: This will replace any existing content in the editor.
- Select the Type (Documentation, Changelog, Roadmap, KB). The form will adjust based on the type.
- Enter a Title (required). For KB, this is the Question.
- Select the initial Status (Draft or Published).
- Enter Collection (Optional): A category name (e.g., "API", "User Guides").
- Enter Tags (Optional, for Docs/Changelogs/KB): Comma-separated keywords.
- URL (Optional ID): By default, a random ID is generated. You can optionally provide a specific 15-character ID here before creating the entry. Use with caution, must be unique. The prefix shows the base public URL.
- Custom Headers/Footers (Optional, for Docs/Changelogs): Select pre-defined headers or footers to apply to this specific entry's public view page.
- Roadmap Stage (Required for Roadmap): Select the current stage (Planned, Next Up, etc.).
- Show in Project Sidebar? (Docs/Changelogs): Choose whether this entry should appear in the public project sidebar navigation.
- Content/Answer (Required, except Roadmap): Use the Markdown editor to write the main content (or Answer for KB). See Using the Markdown Editor.
- Click "Create Entry".
Editing Entries
- Navigate to the appropriate Entry List for the project.
- Find the entry you want to edit and click the pencil icon ().
- Modify the fields as needed. Note that some fields (like URL, Collection, Status for published+staged entries) might be read-only depending on the entry's state.
- Use the Markdown editor for content changes.
- Click "Update Entry" (for drafts) or "Save Staged Changes" (for published entries).
Staging Changes
- When you edit an entry that is already Published, your changes are staged by default when you save.
- This means the live public view (
/view/:id
) remains unchanged. - The entry list will show a "Staged" badge next to the "Published" status.
- To make your staged changes live, go back to the entry list and click the "Publish Staged Changes" button () for that entry and confirm. This overwrites the live content.
- If you change the status of a published entry back to "Draft", any staged changes are discarded.
Preview Links
- When editing a Draft entry, a "Share Preview" button appears in the header.
- Clicking this button allows you to generate a temporary, shareable link to preview the draft.
- You can optionally require a password for the preview link.
- The generated link has an expiry time (configurable via environment variable or App Settings).
- Use these links to get feedback before publishing.
Duplicating Entries
- When editing any entry, a "Duplicate Entry" button is available in the form actions.
- Clicking this prompts for confirmation.
- If confirmed, a new Draft entry is created as a copy of the current state shown in the editor (including any unsaved changes you might have made).
- The new entry's title will be prefixed with "Copy of ".
- You will be redirected to the edit page of the newly created duplicate.
Archiving Entries
- From the Entry List, click the archive icon () for the desired entry.
- Confirm the action in the modal.
- The entry is moved from the main list to the corresponding "Archived" list (e.g., Archived Documentation).
- Archived entries are not publicly visible and are removed from sidebar ordering.
Deleting Entries
Warning: Deleting an entry is permanent and cannot be undone.
- From the Entry List, click the trash icon () for the desired entry.
- Confirm the action in the modal (read the warning carefully).
- The entry is permanently deleted.
Bulk Actions
- On Entry List pages, use the checkboxes in the first column to select multiple entries. Use the checkbox in the table header to select/deselect all visible entries on the current page.
- Once one or more entries are selected, the "Bulk Actions" container appears above the table.
- Click the "Bulk Actions" button to reveal a dropdown menu with available actions:
- Set Status to Published
- Set Status to Draft (discards staged changes if applied to published items)
- Publish Staged Changes (only affects selected published items that have staged changes)
- Archive Selected
- Delete Selected (Permanent deletion)
- Select an action and confirm in the modal. The action will be applied to all selected entries. Partial success/failure messages may appear if some actions fail.
6. Using the Markdown Editor
The editor (EasyMDE) provides a rich text editing experience using Markdown syntax.
Basic Formatting
- Use the toolbar buttons for common formatting (Bold, Italic, Headings, Lists, Links, Code Blocks, Tables, etc.).
- Alternatively, use standard Markdown syntax directly in the editor.
Image Uploads
- Click the image icon in the toolbar or drag-and-drop an image file onto the editor.
- Supported formats: JPG, PNG, GIF, WEBP.
- Maximum file size: 10MB (by default).
- Uploaded images are stored within the PocketBase entry record and served directly. The editor inserts the correct image URL.
- Theming Images: You can make images specific to light or dark mode by adding
#light
or#dark
to the end of the image URL after it's inserted by the editor (e.g.,
). The corresponding image will only display when the user's theme matches.
Diagrams (Mermaid)
- Embed diagrams using Mermaid syntax within a
mermaid
code block:graph TD; A-->B; A-->C; B-->D; C-->D;
- Click the diagram icon () in the toolbar for a template.
- Supported diagram types depend on the included Mermaid library version (flowchart, sequence, Gantt, class, state, pie, ER, user journey, etc.). Refer to Mermaid documentation for syntax.
- Diagrams render automatically in the public view and preview pages.
Grammar Check
- Click the spell check icon () in the toolbar or use
Ctrl+Shift+G
(orCmd+Shift+G
). - This uses the public LanguageTool API to check the editor's content (or selected text) for grammar and style issues.
- Potential issues are underlined. Hover over them for suggestions.
- The status bar below the editor provides feedback.
- Note: Editing the text after a check will clear the highlights.
Saving (Ctrl+S)
- While editing an entry, template, header, or footer, press
Ctrl+S
(orCmd+S
on Mac) to trigger the form submission (Save/Update).
7. Managing Reusable Content
Templates (Per-Project)
- Access via Project Dashboard > Templates link OR
/projects/:projectId/templates
. - Create, edit, or delete Markdown templates specific to the current project.
- Templates can be selected when creating a new entry to pre-fill the content editor.
Headers & Footers (Per-Project, Per-Type)
- Access via Top Bar navigation when viewing Documentation or Changelog lists within a project.
- Create, edit, or delete reusable HTML headers and footers.
- These can be assigned to individual Documentation or Changelog entries via the edit screen.
- They appear above (Header) or below (Footer) the main entry content on the public view page.
- Caution: Content is treated as raw HTML. Ensure it is valid and safe.
8. Organizing Content
Sidebar Order (Per-Project)
- Access via Project Dashboard > Sidebar Order link OR
/projects/:projectId/sidebar-order
. - Only entries (Docs/Changelogs) marked "Show in Project Sidebar?" appear here.
- Drag and drop list items to change their order.
- Click "Save Order" to apply the changes to the public project sidebar.
Collections
- An optional text field available when creating/editing entries (except Roadmap).
- Use it to group related entries (e.g., "API Guides", "Version 2 Updates").
- Entry lists can be filtered by collection using the dropdown menu.
Tags
- An optional comma-separated text field available when creating/editing Docs, Changelogs, and KB entries.
- Use it for keywords or specific topics (e.g., "billing", "integration", "bugfix").
- Tags are displayed on public view pages and can be used for searching.
9. Utility Features
Global Search
- Available in the top bar if enabled in System Settings.
- Enter a search term and press Enter or click the search icon.
- Searches across the Title, Collection, and Tags of all entries (all types) you have access to across all your projects.
- Results are displayed on a dedicated search results page with pagination.
Global Audit Log
- Access via Sidebar > Global Log (if enabled in System Settings).
- Displays a chronological list of actions performed in the system (logins, creates, updates, deletes, etc.).
- Shows timestamp, user (if applicable), action type, target (collection/record ID), details (if any), and IP address.
- Export CSV: Download all logs as a CSV file.
- Clear All Logs: Permanently delete all audit log entries (requires confirmation).
System Settings
- Access via Sidebar > Settings.
- Configure application-wide settings:
- Enable Global Search Bar: Show/hide the top search bar.
- Enable Audit Logging: Turn audit logging on/off globally.
- Default: Enable View Tracking: Default setting for new projects.
- Default: Enable Time Tracking: Default setting for new projects.
- Click "Save Settings" to apply changes. Note: Some settings might require an application restart to take full effect, although most UI-related ones update immediately.
Theme Switching
- Click the sun/moon toggle button in the sidebar footer.
- Switches the admin interface between Light and Dark modes.
- Your preference is saved locally and sent to the server for persistence across sessions/devices.
10. Public Views
The application automatically generates public-facing pages for your content:
- /view/:entryId: Displays a single published Documentation or Changelog entry. Includes custom headers/footers if assigned. Sidebar shows other entries from the same project marked for sidebar display. Access depends on Project's Public View and Password settings.
- /roadmap/:projectId: Displays a Kanban-style board for the project's published Roadmap items. Access depends on Project's Public View, Password, and Roadmap Enabled settings.
- /kb/:projectId: Displays a searchable accordion view for the project's published Knowledge Base entries. Access depends on Project's Public View and Password settings.
- /preview/:token: Displays a draft entry using a temporary, secure token. May require a password if set during generation.