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"}}{{.Option "level"}}>`
+var brief = `
{{.Option "text"}}
`
+var refer = `
+{{range $index, $value := .Optionv "list"}}- {{$value}}
{{end}}
`
+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)
}