···21const (22 // RendererTypeRepoMarkdown is for repository documentation markdown files23 RendererTypeRepoMarkdown RendererType = iota0024)2526// RenderContext holds the contextual data for rendering markdown.27// It can be initialized empty, and that'll skip any transformations.28type RenderContext struct {0029 repoinfo.RepoInfo30 IsDev bool31 RendererType RendererType···77 a.rctx.relativeLinkTransformer(n.(*ast.Link))78 case *ast.Image:79 a.rctx.imageFromKnotTransformer(n.(*ast.Image))080 }81- // more types here like RendererTypeIssue/Pull etc.00000082 }8384 return ast.WalkContinue, nil
···21const (22 // RendererTypeRepoMarkdown is for repository documentation markdown files23 RendererTypeRepoMarkdown RendererType = iota24+ // RendererTypeDefault is non-repo markdown, like issues/pulls/comments.25+ RendererTypeDefault26)2728// RenderContext holds the contextual data for rendering markdown.29// It can be initialized empty, and that'll skip any transformations.30type RenderContext struct {31+ CamoUrl string32+ CamoSecret string33 repoinfo.RepoInfo34 IsDev bool35 RendererType RendererType···73 a.rctx.relativeLinkTransformer(n.(*ast.Link))74 case *ast.Image:75 a.rctx.imageFromKnotTransformer(n.(*ast.Image))76+ a.rctx.camoImageLinkTransformer(n.(*ast.Image))77 }78+79+ case RendererTypeDefault:80+ switch n.(type) {81+ case *ast.Image:82+ a.rctx.imageFromKnotTransformer(n.(*ast.Image))83+ a.rctx.camoImageLinkTransformer(n.(*ast.Image))84+ }85 }8687 return ast.WalkContinue, nil
+10-13
appview/pages/pages.go
···15 "path/filepath"16 "strings"17018 "tangled.sh/tangled.sh/core/appview/auth"19 "tangled.sh/tangled.sh/core/appview/db"20 "tangled.sh/tangled.sh/core/appview/pages/markup"···45 rctx *markup.RenderContext46}4748-func NewPages(dev bool) *Pages {49 // initialized with safe defaults, can be overriden per use50 rctx := &markup.RenderContext{51- IsDev: dev,0052 }5354 p := &Pages{55 t: make(map[string]*template.Template),56- dev: dev,57 embedFS: Files,58 rctx: rctx,59 templateDir: "appview/pages",···383 return p.executeRepo("repo/empty", w, params)384 }385386- p.rctx = &markup.RenderContext{387- RepoInfo: params.RepoInfo,388- IsDev: p.dev,389- RendererType: markup.RendererTypeRepoMarkdown,390- }391392 if params.ReadmeFileName != "" {393 var htmlString string···521 if params.ShowRendered {522 switch markup.GetFormat(params.Path) {523 case markup.FormatMarkdown:524- p.rctx = &markup.RenderContext{525- RepoInfo: params.RepoInfo,526- IsDev: p.dev,527- RendererType: markup.RendererTypeRepoMarkdown,528- }529 params.RenderedContents = template.HTML(p.rctx.RenderMarkdown(params.Contents))530 }531 }
···15 "path/filepath"16 "strings"1718+ "tangled.sh/tangled.sh/core/appview"19 "tangled.sh/tangled.sh/core/appview/auth"20 "tangled.sh/tangled.sh/core/appview/db"21 "tangled.sh/tangled.sh/core/appview/pages/markup"···44 rctx *markup.RenderContext45}4647+func NewPages(config *appview.Config) *Pages {48 // initialized with safe defaults, can be overriden per use49 rctx := &markup.RenderContext{50+ IsDev: config.Dev,51+ CamoUrl: config.CamoHost,52+ CamoSecret: config.CamoSharedSecret,53 }5455 p := &Pages{56 t: make(map[string]*template.Template),57+ dev: config.Dev,58 embedFS: Files,59 rctx: rctx,60 templateDir: "appview/pages",···380 return p.executeRepo("repo/empty", w, params)381 }382383+ p.rctx.RepoInfo = params.RepoInfo384+ p.rctx.RendererType = markup.RendererTypeRepoMarkdown000385386 if params.ReadmeFileName != "" {387 var htmlString string···521 if params.ShowRendered {522 switch markup.GetFormat(params.Path) {523 case markup.FormatMarkdown:524+ p.rctx.RepoInfo = params.RepoInfo525+ p.rctx.RendererType = markup.RendererTypeRepoMarkdown000526 params.RenderedContents = template.HTML(p.rctx.RenderMarkdown(params.Contents))527 }528 }