aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2021-01-10 02:56:28 +0700
committerShulhan <ms@kilabit.info>2021-01-10 02:56:28 +0700
commitcd87d08e483dbebfdf1be385f83779172070454b (patch)
treeb5930158a821330172a8cf83359dfa0c7b495c71 /server.go
parent78b4dd71fdeaaae33deddf6a541d6e7afa476925 (diff)
downloadciigo-cd87d08e483dbebfdf1be385f83779172070454b.tar.xz
all: refactoring due to change on memfs package
This changes affect exported function Generate and Serve. Previously, the Generate() function accept three options: dir, out, and htmlTemplate; this commit changes the parameter into single struct Options with two additional options: GenPackageName and GenVarName. The GenPackageName allow to set the package name in Go generate source code, default to "main" if not set. The GenVarName set the instance of memfs.MemFS where the embedded files will be stored. On the Serve() function, we add parameter to pass the instance of memfs.MemFS (the one that passed on GenVarName).
Diffstat (limited to 'server.go')
-rw-r--r--server.go38
1 files changed, 22 insertions, 16 deletions
diff --git a/server.go b/server.go
index 344458e..dc00c99 100644
--- a/server.go
+++ b/server.go
@@ -19,6 +19,7 @@ import (
"github.com/shuLhan/share/lib/debug"
libhttp "github.com/shuLhan/share/lib/http"
libio "github.com/shuLhan/share/lib/io"
+ "github.com/shuLhan/share/lib/memfs"
)
//
@@ -39,15 +40,18 @@ type server struct {
// The htmlTemplate parameter is optional, if not set its default to
// embedded HTML template.
//
-func newServer(root, address, htmlTemplate string) (srv *server) {
+func newServer(mfs *memfs.MemFS, root, address, htmlTemplate string) (srv *server) {
var err error
srv = &server{
opts: &libhttp.ServerOptions{
- Address: address,
- Root: root,
- Excludes: defExcludes,
- Development: debug.Value > 0,
+ Options: memfs.Options{
+ Root: root,
+ Excludes: defExcludes,
+ Development: debug.Value > 0,
+ },
+ Memfs: mfs,
+ Address: address,
},
}
@@ -98,17 +102,19 @@ func (srv *server) start() {
func (srv *server) autoGenerate() {
srv.dw = &libio.DirWatcher{
- Path: srv.opts.Root,
- Delay: time.Second,
- Includes: []string{
- `.*\.adoc$`,
- `.*\.md$`,
- },
- Excludes: []string{
- `assets/.*`,
- `.*\.html$`,
- `^\..*`,
+ Options: memfs.Options{
+ Root: srv.opts.Root,
+ Includes: []string{
+ `.*\.adoc$`,
+ `.*\.md$`,
+ },
+ Excludes: []string{
+ `assets/.*`,
+ `.*\.html$`,
+ `^\..*`,
+ },
},
+ Delay: time.Second,
Callback: srv.onChangeFileMarkup,
}
@@ -145,7 +151,7 @@ func (srv *server) initHTMLGenerator(htmlTemplate string) {
log.Fatal("server.initHTMLGenerator: " + err.Error())
}
} else {
- tmplNode, err := srv.http.Memfs.Get(htmlTemplate)
+ tmplNode, err := srv.http.Memfs.Get(internalTemplatePath)
if err != nil {
log.Fatalf("server.initHTMLGenerator: Memfs.Get %s: %s",
htmlTemplate, err.Error())