Bee Hub (This Site) Hugo documentation hub โ€” how it works and how to edit it

BeeDifferent Hub is a Hugo-powered personal reference site running as a persistent service on the Mac Studio. It’s the documentation layer for the entire stack โ€” apps, homelab, AI tools, terminal workflow, and property systems.

How It Works

Hugo is a static site generator โ€” it reads Markdown files from content/ and produces a complete HTML site. The dev server watches for file changes and rebuilds automatically, so editing any _index.md shows up in the browser within a second.

Item Value
Site root ~/Sync/ED/homelab/bee_hub/
Content ~/Sync/ED/homelab/bee_hub/content/
Theme themes/bee-theme/ (custom)
Config hugo.toml
Hugo version v0.155.3+extended (Homebrew)
URL (LAN) http://192.168.8.180:1313
URL (local) http://localhost:1313
URL (remote) Via Pangolin โ€” MacStudio private resource
launchd Service

Hugo runs as a persistent launchd agent that starts at login and restarts automatically if it crashes.

Item Value
Plist ~/Library/LaunchAgents/com.beedifferent.hugo-hub.plist
Label com.beedifferent.hugo-hub
Command hugo server --port 1313 --bind 192.168.8.180 --baseURL http://192.168.8.180:1313
Working dir ~/Sync/ED/homelab/bee_hub
Log ~/Library/Logs/hugo-hub.log
Error log ~/Library/Logs/hugo-hub.err.log

Service commands:

# Check status
launchctl list | grep hugo

# Stop
launchctl unload ~/Library/LaunchAgents/com.beedifferent.hugo-hub.plist

# Start
launchctl load ~/Library/LaunchAgents/com.beedifferent.hugo-hub.plist

# Restart
launchctl unload ~/Library/LaunchAgents/com.beedifferent.hugo-hub.plist && \
launchctl load ~/Library/LaunchAgents/com.beedifferent.hugo-hub.plist

# View logs
tail -50 ~/Library/Logs/hugo-hub.log
tail -20 ~/Library/Logs/hugo-hub.err.log

Note: Hugo’s dev server caches hugo.toml. Changes to the menu (adding/removing nav tabs) require a service restart to appear. Content changes (_index.md files) hot-reload automatically.

Site Structure

Every page is a directory containing an _index.md file. The top-level nav is defined in hugo.toml:

Weight Tab URL
1 Mac Apps /mac-apps/
2 Terminal /terminal/
3 System Settings /system-settings/
4 Menu Bar /menu-bar/
5 AI /ai/
6 Homelab /homelab/
7 Misc /misc/
8 Automation /automation/
9 Mac Studio /mac-studio/
10 Tana /tana/
11 Meshtastic /meshtastic/
12 Docs /docs/

Content tree (homelab section example):

content/homelab/
โ”œโ”€โ”€ _index.md              โ€” Category landing (sidebar list)
โ”œโ”€โ”€ proxmox/_index.md      โ€” Proxmox VE reference
โ”œโ”€โ”€ services/_index.md     โ€” Services directory
โ”œโ”€โ”€ music-pipeline/_index.md
โ”œโ”€โ”€ life-archive/_index.md
โ”œโ”€โ”€ mcp-servers/_index.md
โ”œโ”€โ”€ bee-hub/_index.md      โ€” This page
โ””โ”€โ”€ shelfmark/_index.md
Frontmatter Reference

Category landing page โ€” has a sidebar with sub-page links:

title: "Homelab"
subtitle: "Infrastructure, services, and remote access"
sidebar_sections:
  - { url: "/homelab/proxmox/", name: "Proxmox VE" }
sidebar_links:
  - { name: "External Link", url: "https://example.com" }

Individual page โ€” has quick-access link buttons at top:

title: "Music Pipeline"
page_links:
  - { label: "Lidarr", url: "http://192.168.8.100:8686", external: true }
  - { label: "Internal Link", url: "/homelab/services/", external: false }
Theme Shortcodes

The bee-theme provides shortcodes for structuring content. All shortcode files live in themes/bee-theme/layouts/shortcodes/.

Shortcode Purpose Parameters
section Collapsible content block id, title
app-card App info card with links title, page, docs, shortcuts, cheatsheet
app-grid Grid wrapper for app-cards none
cmd Styled terminal command block none (content is the command)
grid Two-column grid layout none
tip Tip/note callout box none

The app-card shortcode supports a docs parameter that renders a ๐Ÿ“– Docs โ†— link directly on the card โ€” already used throughout the Mac Apps pages.

Adding & Editing Pages

Edit an existing page: Open content/section/page/_index.md in any editor (BBEdit, VS Code, Obsidian). Hugo hot-reloads within ~1 second.

Add a new page:

mkdir -p ~/Sync/ED/homelab/bee_hub/content/homelab/new-page
# Create _index.md with frontmatter and content
# Add to parent _index.md sidebar_sections list

Add a new nav tab:

  1. Create content/new-section/_index.md
  2. Add entry to hugo.toml with a name, url, and weight
  3. Restart the Hugo service โ€” menu changes need a restart, content changes do not

Can I edit in Obsidian? Yes โ€” all Hugo content is plain Markdown. Open ~/Sync/ED/homelab/bee_hub/content/ as an Obsidian vault. The YAML frontmatter block must stay intact. Hugo shortcodes show as raw text in Obsidian’s preview but edit safely.

Building

The dev server serves content dynamically โ€” no build step needed for day-to-day editing.

To regenerate the static /public/ folder:

cd ~/Sync/ED/homelab/bee_hub
hugo
# Output goes to /public/

The /public/ folder is included in the Mac Studio SYNC directory and gets pulled to Proxmox /nvmepool/sync/ by the nightly sync-mac.sh rsync job.