mirror of
https://github.com/TECHNOFAB11/docsonnet.git
synced 2025-12-11 22:10:13 +01:00
feat: render directory structure instead of flat file names (#20)
* feat: render directory structure instead of flat file names * add gitignore
This commit is contained in:
parent
1f8d4c6fbf
commit
5776ff829f
3 changed files with 16 additions and 9 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
docsonnet
|
||||||
|
|
@ -17,7 +17,12 @@ func To(pkg docsonnet.Package, dir string, opts Opts) (int, error) {
|
||||||
|
|
||||||
n := 0
|
n := 0
|
||||||
for k, v := range data {
|
for k, v := range data {
|
||||||
if err := ioutil.WriteFile(filepath.Join(dir, k), []byte(v), 0644); err != nil {
|
fullpath := filepath.Join(dir, k)
|
||||||
|
dir := filepath.Dir(fullpath)
|
||||||
|
if err := os.MkdirAll(dir, os.ModePerm); err != nil {
|
||||||
|
return n, err
|
||||||
|
}
|
||||||
|
if err := ioutil.WriteFile(fullpath, []byte(v), 0644); err != nil {
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
n++
|
n++
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ func render(pkg docsonnet.Package, parents []string, root bool, urlPrefix string
|
||||||
md.Frontmatter(map[string]interface{}{
|
md.Frontmatter(map[string]interface{}{
|
||||||
"permalink": link,
|
"permalink": link,
|
||||||
}),
|
}),
|
||||||
md.Headline(1, "package "+pkg.Name),
|
md.Headline(1, strings.Join(append(parents, pkg.Name), ".")),
|
||||||
}
|
}
|
||||||
if pkg.Import != "" {
|
if pkg.Import != "" {
|
||||||
elems = append(elems, md.CodeBlock("jsonnet", fmt.Sprintf(`local %s = import "%s"`, pkg.Name, pkg.Import)))
|
elems = append(elems, md.CodeBlock("jsonnet", fmt.Sprintf(`local %s = import "%s"`, pkg.Name, pkg.Import)))
|
||||||
|
|
@ -43,8 +43,6 @@ func render(pkg docsonnet.Package, parents []string, root bool, urlPrefix string
|
||||||
elems = append(elems, md.Text(pkg.Help))
|
elems = append(elems, md.Text(pkg.Help))
|
||||||
|
|
||||||
if len(pkg.Sub) > 0 {
|
if len(pkg.Sub) > 0 {
|
||||||
elems = append(elems, md.Headline(2, "Subpackages"))
|
|
||||||
|
|
||||||
keys := make([]string, 0, len(pkg.Sub))
|
keys := make([]string, 0, len(pkg.Sub))
|
||||||
for _, s := range pkg.Sub {
|
for _, s := range pkg.Sub {
|
||||||
keys = append(keys, s.Name)
|
keys = append(keys, s.Name)
|
||||||
|
|
@ -55,11 +53,11 @@ func render(pkg docsonnet.Package, parents []string, root bool, urlPrefix string
|
||||||
for _, k := range keys {
|
for _, k := range keys {
|
||||||
s := pkg.Sub[k]
|
s := pkg.Sub[k]
|
||||||
|
|
||||||
link := strings.Join(append(parents, pkg.Name, s.Name), "-")
|
link := s.Name + ".md"
|
||||||
if root {
|
if len(s.Sub) > 0 {
|
||||||
link = strings.Join(append(parents, s.Name), "-")
|
link = s.Name + "/index.md"
|
||||||
}
|
}
|
||||||
items = append(items, md.Link(md.Text(s.Name), link+".md"))
|
items = append(items, md.Link(md.Text(s.Name), link))
|
||||||
}
|
}
|
||||||
|
|
||||||
elems = append(elems, md.List(items...))
|
elems = append(elems, md.List(items...))
|
||||||
|
|
@ -79,7 +77,10 @@ func render(pkg docsonnet.Package, parents []string, root bool, urlPrefix string
|
||||||
}
|
}
|
||||||
|
|
||||||
content := md.Doc(elems...).String()
|
content := md.Doc(elems...).String()
|
||||||
key := strings.Join(append(parents, pkg.Name+".md"), "-")
|
key := strings.Join(append(parents, pkg.Name+".md"), "/")
|
||||||
|
if len(pkg.Sub) > 0 {
|
||||||
|
key = strings.Join(append(parents, pkg.Name+"/index.md"), "/")
|
||||||
|
}
|
||||||
if root {
|
if root {
|
||||||
key = "README.md"
|
key = "README.md"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue