From 8a203b52ae17dc4f422f60ddbefef3c9bb89b564 Mon Sep 17 00:00:00 2001 From: shaoying Date: Thu, 9 Jan 2020 16:09:22 +0800 Subject: [PATCH] opt name --- base.go | 2 ++ base/ctx/ctx.go | 2 +- base/nfs/nfs.go | 2 +- base/tcp/tcp.go | 2 +- base/web/web.go | 4 ++-- core/chat/chat.go | 2 ++ core/code/code.go | 2 +- core/mall/mall.go | 2 +- core/team/team.go | 2 +- core/wiki/template.go | 7 ++++++- core/wiki/wiki.go | 43 ++++++++++++++++++++++++++++++++++++------- go.mod | 1 - go.sum | 5 ----- misc/docker/docker.go | 2 +- misc/tmux/tmux.go | 2 +- type.go | 31 ++++++------------------------- 16 files changed, 62 insertions(+), 49 deletions(-) diff --git a/base.go b/base.go index d74ec2a0..9163fb56 100644 --- a/base.go +++ b/base.go @@ -32,6 +32,8 @@ func (f *Frame) Begin(m *Message, arg ...string) Server { return f } func (f *Frame) Start(m *Message, arg ...string) bool { + m.Cap(CTX_STATUS, "start") + m.Cap(CTX_STREAM, strings.Split(m.Time(), " ")[1]) m.Log(LOG_START, "ice") m.Cmd(ICE_INIT).Cmd("init", arg) m.root.Cost("start") diff --git a/base/ctx/ctx.go b/base/ctx/ctx.go index 09e7c112..c791ebc8 100644 --- a/base/ctx/ctx.go +++ b/base/ctx/ctx.go @@ -10,7 +10,7 @@ import ( "sort" ) -var Index = &ice.Context{Name: "ctx", Help: "元始模块", +var Index = &ice.Context{Name: "ctx", Help: "配置模块", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ ice.CTX_CONFIG: {Name: "config", Help: "配置", Value: kit.Data("path", "var/conf")}, diff --git a/base/nfs/nfs.go b/base/nfs/nfs.go index 86d2de01..513bfef5 100644 --- a/base/nfs/nfs.go +++ b/base/nfs/nfs.go @@ -136,7 +136,7 @@ func dir(m *ice.Message, root string, name string, level int, deep bool, dir_typ } } -var Index = &ice.Context{Name: "nfs", Help: "文件模块", +var Index = &ice.Context{Name: "nfs", Help: "存储模块", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{}, Commands: map[string]*ice.Command{ diff --git a/base/tcp/tcp.go b/base/tcp/tcp.go index fddbe90e..61e6aa85 100644 --- a/base/tcp/tcp.go +++ b/base/tcp/tcp.go @@ -7,7 +7,7 @@ import ( "strings" ) -var Index = &ice.Context{Name: "tcp", Help: "网络模块", +var Index = &ice.Context{Name: "tcp", Help: "通信模块", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{}, Commands: map[string]*ice.Command{ diff --git a/base/web/web.go b/base/web/web.go index 76731942..4f6330d4 100644 --- a/base/web/web.go +++ b/base/web/web.go @@ -352,7 +352,7 @@ func (web *Frame) Close(m *ice.Message, arg ...string) bool { return true } -var Index = &ice.Context{Name: "web", Help: "网页模块", +var Index = &ice.Context{Name: "web", Help: "网络模块", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ ice.WEB_SPIDE: {Name: "spide", Help: "蜘蛛侠", Value: kit.Data(kit.MDB_SHORT, "client.name")}, @@ -814,7 +814,7 @@ var Index = &ice.Context{Name: "web", Help: "网页模块", } // 任务列表 - m.Cmdy("nfs.dir", m.Conf(ice.WEB_DREAM, "meta.path"), "", "time name") + m.Cmdy("nfs.dir", m.Conf(ice.WEB_DREAM, "meta.path"), "time name") m.Table(func(index int, value map[string]string, head []string) { if m.Richs(ice.WEB_SPACE, nil, value["name"], func(key string, value map[string]interface{}) { m.Push("type", value["type"]) diff --git a/core/chat/chat.go b/core/chat/chat.go index 259f05fa..f8847ebe 100644 --- a/core/chat/chat.go +++ b/core/chat/chat.go @@ -14,6 +14,8 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心", }, Commands: map[string]*ice.Command{ ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.Cap(ice.CTX_STATUS, "start") + m.Cap(ice.CTX_STREAM, "volcanos") m.Cmd(ice.CTX_CONFIG, "load", "chat.json") m.Watch(ice.SYSTEM_INIT, "web.chat.init") m.Watch(ice.USER_CREATE, "web.chat./tutor", "init") diff --git a/core/code/code.go b/core/code/code.go index f9ab7e1e..53b658b3 100644 --- a/core/code/code.go +++ b/core/code/code.go @@ -26,7 +26,7 @@ CMD sh bin/boot.sh ` -var Index = &ice.Context{Name: "code", Help: "编程模块", +var Index = &ice.Context{Name: "code", Help: "编程中心", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ "login": {Name: "login", Help: "登录", Value: kit.Data()}, diff --git a/core/mall/mall.go b/core/mall/mall.go index 8d725ff1..fe4fdf31 100644 --- a/core/mall/mall.go +++ b/core/mall/mall.go @@ -11,7 +11,7 @@ import ( "time" ) -var Index = &ice.Context{Name: "mall", Help: "团队模块", +var Index = &ice.Context{Name: "mall", Help: "贸易中心", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ "railway": {Name: "railway", Help: "12306", Value: kit.Data()}, diff --git a/core/team/team.go b/core/team/team.go index 4a7aa810..5ca0d0ff 100644 --- a/core/team/team.go +++ b/core/team/team.go @@ -9,7 +9,7 @@ import ( "time" ) -var Index = &ice.Context{Name: "team", Help: "团队模块", +var Index = &ice.Context{Name: "team", Help: "团队中心", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ ice.APP_MISS: {Name: "miss", Help: "任务", Value: kit.Data( diff --git a/core/wiki/template.go b/core/wiki/template.go index a0bf010b..962b6bda 100644 --- a/core/wiki/template.go +++ b/core/wiki/template.go @@ -1,6 +1,11 @@ package wiki -var title = `{{.Option "prefix"}}{{.Option "content"}}` +var title = `<{{.Option "level"}} class="story" data-type="{{.Option "type"}}" data-name="{{.Option "prefix"}}" data-text="{{.Option "text"}}">{{.Option "prefix"}}{{.Option "content"}}` +var brief = `

{{.Option "text"}}

` +var refer = `` +var spark = `

{{.}}

` var shell = `
$ {{.Option "input"}} {{.Option "output"}}
` diff --git a/core/wiki/wiki.go b/core/wiki/wiki.go index 571474a5..d9eac756 100644 --- a/core/wiki/wiki.go +++ b/core/wiki/wiki.go @@ -1,7 +1,6 @@ package wiki import ( - "github.com/gomarkdown/markdown" "github.com/shylinux/icebergs" _ "github.com/shylinux/icebergs/base" "github.com/shylinux/icebergs/base/web" @@ -13,7 +12,7 @@ import ( "strings" ) -var Index = &ice.Context{Name: "wiki", Help: "文档模块", +var Index = &ice.Context{Name: "wiki", Help: "文档中心", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ "note": {Name: "note", Help: "笔记", Value: kit.Data( @@ -29,6 +28,10 @@ var Index = &ice.Context{Name: "wiki", Help: "文档模块", }, )}, "title": {Name: "title", Help: "标题", Value: kit.Data("template", title)}, + "brief": {Name: "brief", Help: "摘要", Value: kit.Data("template", brief)}, + "refer": {Name: "refer", Help: "参考", Value: kit.Data("template", refer)}, + "spark": {Name: "spark", Help: "段落", Value: kit.Data("template", spark)}, + "shell": {Name: "shell", Help: "命令", Value: kit.Data("template", shell)}, "order": {Name: "order", Help: "列表", Value: kit.Data("template", order)}, "table": {Name: "table", Help: "表格", Value: kit.Data("template", table)}, @@ -95,16 +98,40 @@ var Index = &ice.Context{Name: "wiki", Help: "文档模块", m.Option("type", "shell") m.Option("name", arg[0]) m.Option("cmd_dir", arg[1]) - switch arg[1] { - case "-demo": - m.Option("input", strings.Join(arg[2:], " ")) + + switch arg = arg[2:]; arg[0] { + case "install", "compile": + m.Option("input", strings.Join(arg[1:], " ")) default: - m.Option("output", m.Cmdx("cli.system", "sh", "-c", m.Option("input", strings.Join(arg[2:], " ")))) + m.Option("output", m.Cmdx("cli.system", "sh", "-c", m.Option("input", strings.Join(arg, " ")))) } + m.Render(m.Conf("spark", ice.Meta("template")), m.Option("name")) m.Render(m.Conf("shell", ice.Meta("template"))) }}, + + "spark": {Name: "spark name text", Help: "参考", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) { + m.Option("type", "refer") + m.Option("name", arg[0]) + m.Option("text", arg[1]) + m.Optionv("list", kit.Split(arg[1], "\n")) + m.Render(m.Conf("order", ice.Meta("template"))) + }}, + "refer": {Name: "refer name text", Help: "参考", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) { + m.Option("type", "refer") + m.Option("name", arg[0]) + m.Option("text", arg[1]) + m.Optionv("list", kit.Split(arg[1], "\n")) + m.Render(m.Conf("order", ice.Meta("template"))) + }}, + "brief": {Name: "brief text", Help: "摘要", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.Option("type", "brief") + m.Option("name", arg[0]) + m.Option("text", arg[1]) + m.Render(m.Conf("brief", ice.Meta("template"))) + }}, "title": {Name: "title text", Help: "标题", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { // 生成序号 + m.Option("level", "h1") title, _ := m.Optionv("title").(map[string]int) switch arg[0] { case "endmenu": @@ -114,10 +141,12 @@ var Index = &ice.Context{Name: "wiki", Help: "文档模块", m.Render(premenu) return case "section": + m.Option("level", "h3") arg = arg[1:] title["section"]++ m.Option("prefix", fmt.Sprintf("%d.%d ", title["chapter"], title["section"])) case "chapter": + m.Option("level", "h2") arg = arg[1:] title["chapter"]++ title["section"] = 0 @@ -160,7 +189,7 @@ var Index = &ice.Context{Name: "wiki", Help: "文档模块", } // 生成网页 - m.Echo(string(markdown.ToHTML(buffer.Bytes(), nil, nil))) + m.Echo(string(buffer.Bytes())) }}, "_tree": {Name: "_tree path", Help: "文库", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) { m.Option("dir_deep", "true") diff --git a/go.mod b/go.mod index 2d136764..e2da1653 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/shylinux/icebergs go 1.13 require ( - github.com/gomarkdown/markdown v0.0.0-20191207194928-fbea82c4bb03 github.com/gorilla/websocket v1.4.1 github.com/shylinux/toolkits v0.1.0 github.com/skip2/go-qrcode v0.0.0-20191027152451-9434209cb086 diff --git a/go.sum b/go.sum index 3abaecc0..5a464ddc 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,6 @@ -github.com/gomarkdown/markdown v0.0.0-20191207194928-fbea82c4bb03 h1:m13UZm540+0yrpGOIXd7q4AvPGQPSTo+2jxrBK26o64= -github.com/gomarkdown/markdown v0.0.0-20191207194928-fbea82c4bb03/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU= github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/shylinux/toolkits v0.0.0-20191225132906-3c11db083b5b h1:BXDEMcpHmwuwoqY/NWehDs11GOy2x+2MS7Xfihb3zFY= -github.com/shylinux/toolkits v0.0.0-20191225132906-3c11db083b5b/go.mod h1:Y68Ot6xOmo1bun67YvqC3chDGeU2gDxtsUnvVDGJm4g= github.com/shylinux/toolkits v0.1.0 h1:7ghnVEjuwLf7zBsyeR37ahm2gaOKIyjSw9F9Pp9oTBU= github.com/shylinux/toolkits v0.1.0/go.mod h1:Y68Ot6xOmo1bun67YvqC3chDGeU2gDxtsUnvVDGJm4g= github.com/skip2/go-qrcode v0.0.0-20191027152451-9434209cb086 h1:RYiqpb2ii2Z6J4x0wxK46kvPBbFuZcdhS+CIztmYgZs= github.com/skip2/go-qrcode v0.0.0-20191027152451-9434209cb086/go.mod h1:PLPIyL7ikehBD1OAjmKKiOEhbvWyHGaNDjquXMcYABo= -golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= diff --git a/misc/docker/docker.go b/misc/docker/docker.go index f3004ba9..717b7d0d 100644 --- a/misc/docker/docker.go +++ b/misc/docker/docker.go @@ -7,7 +7,7 @@ import ( "strings" ) -var Index = &ice.Context{Name: "docker", Help: "docker", +var Index = &ice.Context{Name: "docker", Help: "容器管理", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ "docker": {Name: "docker", Help: "docker", Value: kit.Data(kit.MDB_SHORT, "name")}, diff --git a/misc/tmux/tmux.go b/misc/tmux/tmux.go index 10880af6..2dc8ee02 100644 --- a/misc/tmux/tmux.go +++ b/misc/tmux/tmux.go @@ -26,7 +26,7 @@ func (f *Frame) Close(m *ice.Message, arg ...string) bool { return true } -var Index = &ice.Context{Name: "tmux", Help: "终端模块", +var Index = &ice.Context{Name: "tmux", Help: "终端管理", Caches: map[string]*ice.Cache{}, Configs: map[string]*ice.Config{ "buffer": {Name: "buffer", Help: "缓存", Value: kit.Data()}, diff --git a/type.go b/type.go index 2a68c9bb..6c4dcbf0 100644 --- a/type.go +++ b/type.go @@ -545,37 +545,18 @@ func (m *Message) Table(cbs ...interface{}) *Message { } return m } -func (m *Message) Render(str string) *Message { - if res, err := kit.Render(str, m); m.Assert(err) { +func (m *Message) Render(str string, arg ...interface{}) *Message { + if len(arg) == 0 { + arg = append(arg, m) + } + if res, err := kit.Render(str, arg[0]); m.Assert(err) { m.Echo(string(res)) } return m } func (m *Message) Split(str string, field string, space string, enter string) *Message { - indexs := []int{} fields := kit.Split(field, space) - for i, l := range kit.Split(str, enter) { - if i == 0 && (field == "" || field == "index") { - fields = kit.Split(l, space) - if field == "index" { - for _, v := range fields { - indexs = append(indexs, strings.Index(l, v)) - } - } - continue - } - - if len(indexs) > 0 { - for i, v := range indexs { - if i == len(indexs)-1 { - m.Push(kit.Select("some", fields, i), l[v:]) - } else { - m.Push(kit.Select("some", fields, i), l[v:indexs[i+1]]) - } - } - continue - } - + for _, l := range kit.Split(str, enter) { for i, v := range kit.Split(l, space) { m.Push(kit.Select("some", fields, i), v) }