diff options
| author | Shulhan <ms@kilabit.info> | 2021-01-10 02:56:28 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2021-01-10 02:56:28 +0700 |
| commit | cd87d08e483dbebfdf1be385f83779172070454b (patch) | |
| tree | b5930158a821330172a8cf83359dfa0c7b495c71 /server.go | |
| parent | 78b4dd71fdeaaae33deddf6a541d6e7afa476925 (diff) | |
| download | ciigo-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.go | 38 |
1 files changed, 22 insertions, 16 deletions
@@ -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()) |
