diff --git a/base/web/serve.go b/base/web/serve.go index cc1af812..c341571f 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -299,6 +299,7 @@ func init() { ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { cli.NodeInfo(m, WORKER, ice.Info.PathName) AddRewrite(func(w http.ResponseWriter, r *http.Request) bool { + w.Header().Add("Access-Control-Allow-Origin", "*") if r.Method == SPIDE_GET { switch r.URL.Path { case ice.PS: diff --git a/core/chat/location.go b/core/chat/location.go index 49db5ef4..304b01bc 100644 --- a/core/chat/location.go +++ b/core/chat/location.go @@ -5,6 +5,7 @@ import ( ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/mdb" + "shylinux.com/x/icebergs/base/web" kit "shylinux.com/x/toolkits" ) @@ -42,6 +43,8 @@ func init() { GETLOCATION: {Name: "location create", Help: "打卡"}, mdb.CREATE: {Name: "create type=text name text latitude longitude", Help: "添加"}, }, mdb.HashAction()), Hand: func(m *ice.Message, arg ...string) { + m.Debug("what %v", m.Cmdx(web.SPIDE_GET, "https://apis.map.qq.com/ws/location/v1/ip?ip=111.206.145.41&key="+m.Config("token"))) + m.Display("/plugin/local/chat/location.js", "token", m.Config("token")) mdb.HashSelect(m, arg...) m.PushAction(OPENLOCATION, mdb.REMOVE) }}, diff --git a/core/chat/topic.go b/core/chat/topic.go index 369279d5..57ce0e4b 100644 --- a/core/chat/topic.go +++ b/core/chat/topic.go @@ -55,7 +55,7 @@ func init() { m.Cmdy(mdb.INPUTS, m.PrefixKey(), "", mdb.ZONE, arg) }}, "choose": {Name: "choose", Help: "切换", Hand: func(m *ice.Message, arg ...string) { - m.ProcessLocation(m.MergeURL2("", "topic", kit.TrimExt(m.Option(mdb.ZONE), ".css"))) + m.ProcessLocation(m.MergeURL2("", "topic", kit.TrimExt(m.Option(mdb.ZONE), nfs.CSS))) }}, "create": {Name: "create topic=demo hover=gray float=lightgray color=black background=white", Help: "创建", Hand: func(m *ice.Message, arg ...string) { buf, err := kit.Render(` @@ -141,7 +141,7 @@ body.{{.Option "topic"}} fieldset.panel.Header>div.output div:hover { background m.RenderDownload(p) return } - m.Cmdy(m.CommandKey(), kit.TrimExt(kit.Select("black", arg, 0), ".css")) + m.Cmdy(m.CommandKey(), kit.TrimExt(kit.Select("black", arg, 0), nfs.CSS)) m.W.Header()[web.ContentType] = kit.Simple(web.ContentCSS) m.RenderResult() }}, diff --git a/core/chat/website.go b/core/chat/website.go index ea3f5a73..4b0030af 100644 --- a/core/chat/website.go +++ b/core/chat/website.go @@ -118,11 +118,11 @@ func _website_parse(m *ice.Message, text string, args ...string) (ice.Map, bool) }) return river, true } -func _website_render(m *ice.Message, w http.ResponseWriter, r *http.Request, kind, text string) bool { +func _website_render(m *ice.Message, w http.ResponseWriter, r *http.Request, kind, text, name string) bool { msg := m.Spawn(w, r) switch kind { case nfs.ZML: - msg.RenderCmd("can.parse", text) + msg.RenderCmd("can.parse", text, name) case nfs.IML: res, _ := _website_parse(msg, text) msg.RenderResult(_website_template2, kit.Format(res)) @@ -174,12 +174,12 @@ func init() { } if ok := true; m.Richs(WEBSITE, nil, r.URL.Path, func(key string, value ice.Map) { value = kit.GetMeta(value) - ok = _website_render(m, w, r, kit.Format(value[mdb.TYPE]), kit.Format(value[mdb.TEXT])) + ok = _website_render(m, w, r, kit.Format(value[mdb.TYPE]), kit.Format(value[mdb.TEXT]), path.Base(r.URL.Path)) }) != nil && ok { return true } if strings.HasPrefix(r.URL.Path, CHAT_WEBSITE) { - _website_render(m, w, r, kit.Ext(r.URL.Path), m.Cmdx(nfs.CAT, strings.Replace(r.URL.Path, CHAT_WEBSITE, SRC_WEBSITE, 1))) + _website_render(m, w, r, kit.Ext(r.URL.Path), m.Cmdx(nfs.CAT, strings.Replace(r.URL.Path, CHAT_WEBSITE, SRC_WEBSITE, 1)), path.Base(r.URL.Path)) return true } return false @@ -242,7 +242,6 @@ func init() { }}, }, mdb.HashAction(mdb.SHORT, nfs.PATH, mdb.FIELD, "time,path,type,name,text")), Hand: func(m *ice.Message, arg ...string) { mdb.HashSelect(m, arg...).Tables(func(value ice.Maps) { m.PushAnchor(m.MergeWebsite(value[nfs.PATH])) }) - if len(arg) == 0 { // 文件列表 m.Cmd(nfs.DIR, SRC_WEBSITE, func(f os.FileInfo, p string) { m.Push("", kit.Dict( diff --git a/core/code/autogen.go b/core/code/autogen.go index e14be17f..053c747e 100644 --- a/core/code/autogen.go +++ b/core/code/autogen.go @@ -226,7 +226,7 @@ func init() { kit.Formats(kit.Dict(m.OptionSimple("username,host,port,list")))) }}, }, Hand: func(m *ice.Message, arg ...string) { - m.Cmdy(nfs.CAT, arg[0], kit.Dict(nfs.DIR_ROOT, ice.SRC)) + m.Cmdy(nfs.CAT, kit.Select("version.go", arg, 0), kit.Dict(nfs.DIR_ROOT, ice.SRC)) }}, }}) } diff --git a/core/code/publish.go b/core/code/publish.go index 3c019de1..b881ca82 100644 --- a/core/code/publish.go +++ b/core/code/publish.go @@ -63,7 +63,7 @@ func init() { Index.Merge(&ice.Context{Configs: ice.Configs{ PUBLISH: {Name: PUBLISH, Help: "发布", Value: kit.Data(nfs.PATH, ice.USR_PUBLISH, ice.CONTEXTS, _contexts)}, }, Commands: ice.Commands{ - PUBLISH: {Name: "publish path auto create volcanos icebergs intshell export", Help: "发布", Actions: ice.Actions{ + PUBLISH: {Name: "publish path auto create volcanos icebergs intshell", Help: "发布", Actions: ice.Actions{ ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.Config(nfs.PATH)) m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.PrefixKey()) diff --git a/core/code/vimer.go b/core/code/vimer.go index 5ad26867..758fb2bb 100644 --- a/core/code/vimer.go +++ b/core/code/vimer.go @@ -82,8 +82,9 @@ func _vimer_inputs(m *ice.Message, arg ...string) { case nfs.WEBSITE: switch arg[0] { case nfs.FILE: - m.Push(nfs.FILE, "hi.zml") - m.Push(nfs.FILE, "hi.iml") + name := kit.TrimExt(kit.Select("hi.zml", arg, 1), "") + m.Push(nfs.FILE, name+".zml") + m.Push(nfs.FILE, name+".iml") } case web.DREAM: m.Cmdy(web.DREAM, mdb.INPUTS, arg) diff --git a/misc/git/status.go b/misc/git/status.go index 07702202..78f3d1bc 100644 --- a/misc/git/status.go +++ b/misc/git/status.go @@ -218,8 +218,16 @@ func init() { for _, v := range kit.Split(m.Option(nfs.FILE), " /") { m.Push(mdb.TEXT, v) } + case "email": + m.Push(arg[0], m.Cmdx(cli.SYSTEM, GIT, "config", "user.email")) + case "username": + m.Push(arg[0], kit.Select(m.Option(ice.MSG_USERNAME), m.Cmdx(cli.SYSTEM, GIT, "config", "user.name"))) } }}, + "user": {Name: "user email username", Help: "用户", Hand: func(m *ice.Message, arg ...string) { + m.Cmd(cli.SYSTEM, GIT, "config", "--global", "user.email", m.Option("email")) + m.Cmd(cli.SYSTEM, GIT, "config", "--global", "user.name", m.Option("username")) + }}, CLONE: {Name: "clone repos='https://shylinux.com/x/volcanos' path=", Help: "克隆", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(REPOS, mdb.CREATE) }}, @@ -310,7 +318,7 @@ func init() { }}, }, Hand: func(m *ice.Message, arg ...string) { if len(arg) == 0 { - m.Action(PULL, MAKE, PUSH, TAGS, STASH, PIE, "publish") + m.Action(PULL, MAKE, PUSH, TAGS, STASH, PIE, "publish", "user") files, adds, dels, last := _status_list(m) m.Status("files", files, "adds", adds, "dels", dels, "last", last.Format(ice.MOD_TIME))