mirror of
https://github.com/TECHNOFAB11/docsonnet.git
synced 2025-12-16 00:03:54 +01:00
feat: subpackage rendering
This commit is contained in:
parent
09e8e3ddd9
commit
6e95ea768a
7 changed files with 306 additions and 203 deletions
34
pkg/render/paths.go
Normal file
34
pkg/render/paths.go
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
package render
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/sh0rez/docsonnet/pkg/docsonnet"
|
||||
)
|
||||
|
||||
func Paths(pkg docsonnet.Package) map[string]docsonnet.Package {
|
||||
p := paths(pkg)
|
||||
for k, v := range p {
|
||||
delete(p, k)
|
||||
k = strings.TrimPrefix(k, pkg.Name+"/")
|
||||
p[k] = v
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
func paths(pkg docsonnet.Package) map[string]docsonnet.Package {
|
||||
pkgs := make(map[string]docsonnet.Package)
|
||||
pkgs[pkg.Name+".md"] = pkg
|
||||
|
||||
if len(pkg.Sub) == 0 {
|
||||
return pkgs
|
||||
}
|
||||
|
||||
for _, sub := range pkg.Sub {
|
||||
for k, v := range paths(sub) {
|
||||
pkgs[pkg.Name+"/"+k] = v
|
||||
}
|
||||
}
|
||||
|
||||
return pkgs
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue