aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2024-02-13 02:14:35 +0700
committerShulhan <ms@kilabit.info>2024-02-15 01:12:34 +0700
commit372d10a3e1ea01f8d03e44e6ab8be673d05c0773 (patch)
tree02df85cae2d4398cfd74ae193b05f490628cc517 /internal
parentbc00c07248b1097f6e8f9281edc659cbd4bdd4ff (diff)
downloadgorankusu-372d10a3e1ea01f8d03e44e6ab8be673d05c0773.tar.xz
all: move example to root directory
The goal is to remove duplicate code in testing and show the example on how to create Gorankusu service from godoc. Implements: https://todo.sr.ht/~shulhan/gorankusu/5
Diffstat (limited to 'internal')
-rw-r--r--internal/cmd/gorankusu/main.go61
1 files changed, 37 insertions, 24 deletions
diff --git a/internal/cmd/gorankusu/main.go b/internal/cmd/gorankusu/main.go
index fd58f25..63386bf 100644
--- a/internal/cmd/gorankusu/main.go
+++ b/internal/cmd/gorankusu/main.go
@@ -18,7 +18,6 @@ import (
"git.sr.ht/~shulhan/ciigo"
"git.sr.ht/~shulhan/gorankusu"
- "git.sr.ht/~shulhan/gorankusu/example"
)
const (
@@ -28,19 +27,22 @@ const (
func main() {
flag.Parse()
- subcmd := strings.ToLower(flag.Arg(0))
+
+ var subcmd = strings.ToLower(flag.Arg(0))
if subcmd == subCommandBuild {
workerBuild(true)
return
}
- err := os.Setenv(gorankusu.EnvDevelopment, "1")
+ var err = os.Setenv(gorankusu.EnvDevelopment, `1`)
if err != nil {
mlog.Fatalf(`%s`, err)
}
- ex, err := example.New()
+ var ex *gorankusu.Example
+
+ ex, err = gorankusu.NewExample()
if err != nil {
mlog.Fatalf(`%s`, err)
}
@@ -49,7 +51,7 @@ func main() {
go workerDocs()
go func() {
- c := make(chan os.Signal, 1)
+ var c = make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM)
<-c
ex.Stop()
@@ -72,13 +74,13 @@ func main() {
// files only, without watching updates.
func workerBuild(oneTime bool) {
var (
- logp = "workerBuild"
+ logp = `workerBuild`
tsCount = 0
embedCount = 0
)
- mfsOpts := &memfs.Options{
- Root: "_www",
+ var mfsOpts = &memfs.Options{
+ Root: `_www`,
Includes: []string{
`.*\.(js|ico|png|html)$`,
},
@@ -97,13 +99,18 @@ func workerBuild(oneTime bool) {
CommentHeader: `// SPDX-FileCopyrightText: 2021 M. Shulhan <ms@kilabit.info>
// SPDX-License-Identifier: GPL-3.0-or-later
`,
- PackageName: "gorankusu",
- VarName: "memfsWWW",
- GoFileName: "memfs_www_embed.go",
+ PackageName: `gorankusu`,
+ VarName: `memfsWWW`,
+ GoFileName: `memfs_www_embed.go`,
},
}
- mfsWww, err := memfs.New(mfsOpts)
+ var (
+ mfsWww *memfs.MemFS
+ err error
+ )
+
+ mfsWww, err = memfs.New(mfsOpts)
if err != nil {
mlog.Fatalf(`%s: %s`, logp, err)
}
@@ -120,9 +127,9 @@ func workerBuild(oneTime bool) {
return
}
- dirWatchWww := memfs.DirWatcher{
+ var dirWatchWww = memfs.DirWatcher{
Options: memfs.Options{
- Root: "_www",
+ Root: `_www`,
Includes: []string{
`.*\.(js|ts)$`,
`_www/tsconfig.json`,
@@ -149,21 +156,27 @@ func workerBuild(oneTime bool) {
mlog.Outf(`%s: started ...`, logp)
- ticker := time.NewTicker(5 * time.Second)
+ var (
+ ticker = time.NewTicker(5 * time.Second)
+ ns memfs.NodeState
+ )
for {
select {
- case ns := <-dirWatchWww.C:
- if strings.HasSuffix(ns.Node.SysPath, ".ts") {
+ case ns = <-dirWatchWww.C:
+ if strings.HasSuffix(ns.Node.SysPath, `.ts`) {
mlog.Outf(`%s: update %s`, logp, ns.Node.SysPath)
tsCount++
- } else if strings.HasSuffix(ns.Node.SysPath, ".json") {
+ } else if strings.HasSuffix(ns.Node.SysPath, `.json`) {
mlog.Outf(`%s: update %s`, logp, ns.Node.SysPath)
tsCount++
- } else if strings.HasSuffix(ns.Node.SysPath, ".js") ||
- strings.HasSuffix(ns.Node.SysPath, ".html") {
+ } else if strings.HasSuffix(ns.Node.SysPath, `.js`) ||
+ strings.HasSuffix(ns.Node.SysPath, `.html`) {
embedCount++
mlog.Outf(`%s: update %s`, logp, ns.Node.Path)
- node, err := mfsWww.Get(ns.Node.Path)
+
+ var node *memfs.Node
+
+ node, err = mfsWww.Get(ns.Node.Path)
if err != nil {
mlog.Errf(`%s: %q: %s`, logp, ns.Node.Path, err)
continue
@@ -194,14 +207,14 @@ func workerBuild(oneTime bool) {
// workerDocs a goroutine that watch any changes to .adoc files inside
// "_www/doc" directory and convert them into HTML files.
func workerDocs() {
- logp := "workerDocs"
+ var logp = `workerDocs`
mlog.Outf(`%s: started ...`, logp)
- opts := &ciigo.ConvertOptions{
+ var opts = &ciigo.ConvertOptions{
Root: `_www/doc`,
}
- err := ciigo.Watch(opts)
+ var err = ciigo.Watch(opts)
if err != nil {
mlog.Errf(`%s: %s`, logp, err)
}