feat: subpackage rendering

This commit is contained in:
sh0rez 2020-04-30 00:47:43 +02:00
parent 09e8e3ddd9
commit 6e95ea768a
No known key found for this signature in database
GPG key ID: 87C71DF9F8181FF1
7 changed files with 306 additions and 203 deletions

34
pkg/render/paths.go Normal file
View 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
}