feat(docs): 文档站重制 — 参照 opsxapi/opsxshell 体系,服务端渲染三栏布局
- 后端 goldmark 渲染管线:/docs/:slug 页面 + /docs/search-data.json 搜索索引, manifest.json 驱动分组导航,正文剥 H1 避免与页面头重复 - 三栏布局(分组侧栏/内容/本页目录)+ 顶栏(品牌/版本徽章/搜索面板/官网入口), docs.css 品牌绿版 + docs.js(代码复制/轻量高亮/提示块/TOC 滚动高亮/移动端抽屉) - 替换 docsify;无上一页时空占位无边框;visual-judge 两轮评审(初版 fail → 修复后 pass)
This commit is contained in:
1 parent
c1f822fb10
commit
437ff56992
11 files changed
+854
-43
No files matched your search
@@ -10,6 +10,7 @@ import (
|
||||
"lokistack/controllers"
|
||||
"lokistack/middleware"
|
||||
"lokistack/pkg/metrics"
|
||||
"lokistack/services"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -233,7 +234,13 @@ func SetupRouter() *gin.Engine {
|
||||
|
||||
// 文档站(docsify,docs/)与落地页(homepage/)随二进制一起发布;
|
||||
// 独立于前端 dist 存在与否注册,目录不存在时路由不生效
|
||||
serveStaticDir(r, "/docs", "docs")
|
||||
docsCtrl := controllers.NewDocsController()
|
||||
if services.DocsBaseDir() != "" {
|
||||
r.GET("/docs", docsCtrl.Home)
|
||||
r.GET("/docs/search-data.json", docsCtrl.SearchData)
|
||||
r.GET("/docs/:slug", docsCtrl.Page)
|
||||
r.Static("/docs/assets", filepath.Join(services.DocsBaseDir(), "assets"))
|
||||
}
|
||||
serveStaticDir(r, "/homepage", "homepage")
|
||||
|
||||
// Static files - use executable directory as base
|
||||
|
||||
Reference in new issue
Block a user