2020-05-12 15:23:24 +02:00
|
|
|
package render
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"os"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
|
|
|
|
|
"github.com/sh0rez/docsonnet/pkg/docsonnet"
|
|
|
|
|
)
|
|
|
|
|
|
2020-05-12 22:48:02 +02:00
|
|
|
func To(pkg docsonnet.Package, dir string, opts Opts) (int, error) {
|
|
|
|
|
if err := os.MkdirAll(dir, os.ModePerm); err != nil {
|
|
|
|
|
return 0, err
|
2020-05-12 15:23:24 +02:00
|
|
|
}
|
|
|
|
|
|
2020-05-12 22:48:02 +02:00
|
|
|
data := Render(pkg, opts)
|
2020-05-12 15:23:24 +02:00
|
|
|
|
2020-05-12 22:48:02 +02:00
|
|
|
n := 0
|
2020-05-12 15:23:24 +02:00
|
|
|
for k, v := range data {
|
2020-05-12 22:48:02 +02:00
|
|
|
if err := ioutil.WriteFile(filepath.Join(dir, k), []byte(v), 0644); err != nil {
|
|
|
|
|
return n, err
|
2020-05-12 15:23:24 +02:00
|
|
|
}
|
2020-05-12 22:48:02 +02:00
|
|
|
n++
|
2020-05-12 15:23:24 +02:00
|
|
|
}
|
|
|
|
|
|
2020-05-12 22:48:02 +02:00
|
|
|
return n, nil
|
2020-05-12 15:23:24 +02:00
|
|
|
}
|