Implement mcdoc v0.1.0: public documentation server
Single-binary Go server that fetches markdown from Gitea (mc org), renders to HTML with goldmark (GFM, chroma syntax highlighting, heading anchors), and serves a navigable read-only documentation site. Features: - Boot fetch with retry, webhook refresh, 15-minute poll fallback - In-memory cache with atomic per-repo swap - chi router with htmx partial responses for SPA-like navigation - HMAC-SHA256 webhook validation - Responsive CSS, TOC generation, priority doc ordering - $PORT env var support for MCP agent port assignment 33 tests across config, cache, render, and server packages. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
19
deploy/examples/mcdoc.toml
Normal file
19
deploy/examples/mcdoc.toml
Normal file
@@ -0,0 +1,19 @@
|
||||
[server]
|
||||
listen_addr = ":8080"
|
||||
|
||||
[gitea]
|
||||
url = "https://git.wntrmute.dev"
|
||||
org = "mc"
|
||||
webhook_secret = "change-me"
|
||||
poll_interval = "15m"
|
||||
fetch_timeout = "30s"
|
||||
max_concurrency = 4
|
||||
|
||||
[gitea.exclude_paths]
|
||||
patterns = ["vendor/", ".claude/", "node_modules/", ".junie/"]
|
||||
|
||||
[gitea.exclude_repos]
|
||||
names = []
|
||||
|
||||
[log]
|
||||
level = "info"
|
||||
14
deploy/mcdoc-rift.toml
Normal file
14
deploy/mcdoc-rift.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
name = "mcdoc"
|
||||
node = "rift"
|
||||
version = "v0.1.0"
|
||||
|
||||
[build.images]
|
||||
mcdoc = "Dockerfile"
|
||||
|
||||
[[components]]
|
||||
name = "mcdoc"
|
||||
|
||||
[[components.routes]]
|
||||
port = 443
|
||||
mode = "l7"
|
||||
hostname = "docs.metacircular.net"
|
||||
Reference in New Issue
Block a user