mirror of
https://shylinux.com/x/icebergs
synced 2025-06-26 18:37:29 +08:00
add some
This commit is contained in:
parent
cc820576f0
commit
a404a7cb08
@ -170,6 +170,12 @@ const (
|
|||||||
USR_ICONS_VOLCANOS = "usr/icons/volcanos.png"
|
USR_ICONS_VOLCANOS = "usr/icons/volcanos.png"
|
||||||
USR_ICONS = "usr/icons/"
|
USR_ICONS = "usr/icons/"
|
||||||
|
|
||||||
|
V = "/v/"
|
||||||
|
M = "/m/"
|
||||||
|
P = "/p/"
|
||||||
|
X = "/x/"
|
||||||
|
S = "/s/"
|
||||||
|
C = "/c/"
|
||||||
INTSHELL = "/intshell/"
|
INTSHELL = "/intshell/"
|
||||||
VOLCANOS = "/volcanos/"
|
VOLCANOS = "/volcanos/"
|
||||||
VOLCANOS_PLUGIN = "/volcanos/plugin/"
|
VOLCANOS_PLUGIN = "/volcanos/plugin/"
|
||||||
@ -259,6 +265,8 @@ func SplitPath(m *ice.Message, p string) []string {
|
|||||||
} else if kit.HasPrefix(p, REQUIRE) {
|
} else if kit.HasPrefix(p, REQUIRE) {
|
||||||
ls := kit.Split(p, PS)
|
ls := kit.Split(p, PS)
|
||||||
return []string{ice.USR_REQUIRE + path.Join(ls[1:4]...) + PS, path.Join(ls[4:]...)}
|
return []string{ice.USR_REQUIRE + path.Join(ls[1:4]...) + PS, path.Join(ls[4:]...)}
|
||||||
|
} else if kit.HasPrefix(p, P) {
|
||||||
|
p = strings.TrimPrefix(p, P)
|
||||||
}
|
}
|
||||||
line := kit.Select("1", strings.Split(p, DF), 1)
|
line := kit.Select("1", strings.Split(p, DF), 1)
|
||||||
p = strings.TrimPrefix(p, kit.Path("")+PS)
|
p = strings.TrimPrefix(p, kit.Path("")+PS)
|
||||||
|
@ -135,7 +135,7 @@ func RenderMain(m *ice.Message) *ice.Message {
|
|||||||
}
|
}
|
||||||
m.Options(TITLE, kit.Select("localhost:9020", UserWeb(m).Host, m.Option(ice.MSG_USERPOD)))
|
m.Options(TITLE, kit.Select("localhost:9020", UserWeb(m).Host, m.Option(ice.MSG_USERPOD)))
|
||||||
m.Options(nfs.SCRIPT, ice.SRC_MAIN_JS, nfs.VERSION, RenderVersion(m))
|
m.Options(nfs.SCRIPT, ice.SRC_MAIN_JS, nfs.VERSION, RenderVersion(m))
|
||||||
m.OptionDefault(mdb.ICONS, "/require/"+ice.Info.NodeIcon)
|
m.OptionDefault(mdb.ICONS, nfs.P+ice.Info.NodeIcon+m.Option(nfs.VERSION))
|
||||||
return m.RenderResult(kit.Renders(m.Cmdx(nfs.CAT, ice.SRC_MAIN_HTML), m))
|
return m.RenderResult(kit.Renders(m.Cmdx(nfs.CAT, ice.SRC_MAIN_HTML), m))
|
||||||
}
|
}
|
||||||
func RenderCmds(m *ice.Message, cmds ...ice.Any) {
|
func RenderCmds(m *ice.Message, cmds ...ice.Any) {
|
||||||
|
@ -89,7 +89,9 @@ func _serve_main(m *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
func _serve_static(msg *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
func _serve_static(msg *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
||||||
if p := path.Join(kit.Select(ice.USR_VOLCANOS, ice.USR_INTSHELL, msg.IsCliUA()), r.URL.Path); nfs.Exists(msg, p) {
|
if strings.HasPrefix(r.URL.Path, nfs.V) {
|
||||||
|
return Render(msg, ice.RENDER_DOWNLOAD, path.Join(ice.USR_VOLCANOS, strings.TrimPrefix(r.URL.Path, nfs.V)))
|
||||||
|
} else if p := path.Join(kit.Select(ice.USR_VOLCANOS, ice.USR_INTSHELL, msg.IsCliUA()), r.URL.Path); nfs.Exists(msg, p) {
|
||||||
return Render(msg, ice.RENDER_DOWNLOAD, p)
|
return Render(msg, ice.RENDER_DOWNLOAD, p)
|
||||||
} else if p = path.Join(nfs.USR, r.URL.Path); kit.HasPrefix(r.URL.Path, nfs.VOLCANOS, nfs.INTSHELL) && nfs.Exists(msg, p) {
|
} else if p = path.Join(nfs.USR, r.URL.Path); kit.HasPrefix(r.URL.Path, nfs.VOLCANOS, nfs.INTSHELL) && nfs.Exists(msg, p) {
|
||||||
return Render(msg, ice.RENDER_DOWNLOAD, p)
|
return Render(msg, ice.RENDER_DOWNLOAD, p)
|
||||||
|
@ -295,6 +295,7 @@ const SPACE = "space"
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
|
"p": {Help: "资源", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { ShareLocalFile(m, arg...) }},
|
||||||
"s": {Help: "空间", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_POD, arg) }},
|
"s": {Help: "空间", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_POD, arg) }},
|
||||||
"c": {Help: "命令", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_CMD, arg) }},
|
"c": {Help: "命令", Actions: ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(CHAT_CMD, arg) }},
|
||||||
SPACE: {Name: "space name cmds auto", Help: "空间站", Actions: ice.MergeActions(ice.Actions{
|
SPACE: {Name: "space name cmds auto", Help: "空间站", Actions: ice.MergeActions(ice.Actions{
|
||||||
|
@ -61,7 +61,7 @@ func toastContent(m *ice.Message, state string, arg ...ice.Any) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func ToastSuccess(m *ice.Message, arg ...ice.Any) {
|
func ToastSuccess(m *ice.Message, arg ...ice.Any) {
|
||||||
Toast(m, toastContent(m, ice.SUCCESS, arg...), "", cli.TIME_3s)
|
Toast(m, toastContent(m, ice.SUCCESS, arg...), "", cli.TIME_1s)
|
||||||
}
|
}
|
||||||
func ToastFailure(m *ice.Message, arg ...ice.Any) {
|
func ToastFailure(m *ice.Message, arg ...ice.Any) {
|
||||||
Toast(m, toastContent(m, ice.FAILURE, arg...), "", m.Option(ice.TOAST_DURATION, "-1")).Sleep(cli.TIME_3s)
|
Toast(m, toastContent(m, ice.FAILURE, arg...), "", m.Option(ice.TOAST_DURATION, "-1")).Sleep(cli.TIME_3s)
|
||||||
@ -104,7 +104,7 @@ func GoToast(m *ice.Message, cb func(toast func(name string, count, total int))
|
|||||||
m.Sleep(m.Option(ice.TOAST_DURATION))
|
m.Sleep(m.Option(ice.TOAST_DURATION))
|
||||||
} else {
|
} else {
|
||||||
icon = Icons[ice.SUCCESS]
|
icon = Icons[ice.SUCCESS]
|
||||||
m.Option(ice.TOAST_DURATION, cli.TIME_3s)
|
m.Option(ice.TOAST_DURATION, cli.TIME_1s)
|
||||||
toast(ice.SUCCESS, _total, _total)
|
toast(ice.SUCCESS, _total, _total)
|
||||||
}
|
}
|
||||||
Count(m, kit.FuncName(1), toastTitle(m), kit.FmtDuration(time.Now().Sub(begin)))
|
Count(m, kit.FuncName(1), toastTitle(m), kit.FmtDuration(time.Now().Sub(begin)))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
body.light fieldset.web.chat.message>div.output { background-color:white; }
|
body.light fieldset.web.chat.message>div.output { background-color:white; }
|
||||||
body.light fieldset.web.chat.message>div.output>div.layout>div.layout>div.content>div.list { background-color:#e3e3e2; }
|
body.light fieldset.web.chat.message>div.output>div.layout>div.layout>div.content>div.list { background-color:#e3e3e2; overflow-x:hidden; }
|
||||||
body.light fieldset.web.chat.message>div.output>div.layout>div.layout>div.content>div.list>div.item:not(.plug).send div.content { background-color:#94ec69; }
|
body.light fieldset.web.chat.message>div.output>div.layout>div.layout>div.content>div.list>div.item:not(.plug).send div.content { background-color:#94ec69; }
|
||||||
fieldset.web.chat.message>div.output>div.project>div.title { background-color:var(--plugin-bg-color); padding:var(--button-padding); display:flex; justify-content:space-between; position:sticky; top:0; z-index:2; }
|
fieldset.web.chat.message>div.output>div.project>div.title { background-color:var(--plugin-bg-color); padding:var(--button-padding); display:flex; justify-content:space-between; position:sticky; top:0; z-index:2; }
|
||||||
fieldset.web.chat.message>div.output>div.project>div.title i:hover { background-color:var(--hover-bg-color); cursor:pointer; }
|
fieldset.web.chat.message>div.output>div.project>div.title i:hover { background-color:var(--hover-bg-color); cursor:pointer; }
|
||||||
|
@ -103,7 +103,7 @@ func init() {
|
|||||||
m.Cmdy(NAVIGATE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
m.Cmdy(NAVIGATE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||||
}},
|
}},
|
||||||
}), Hand: func(m *ice.Message, arg ...string) {
|
}), Hand: func(m *ice.Message, arg ...string) {
|
||||||
if kit.HasPrefix(arg[0], nfs.VOLCANOS, nfs.REQUIRE, ice.HTTP) {
|
if kit.HasPrefix(arg[0], nfs.VOLCANOS, nfs.REQUIRE, nfs.P, ice.HTTP) {
|
||||||
if kit.HasPrefix(arg[0], ice.HTTP) && strings.Contains(arg[0], nfs.PLUGIN) && !strings.Contains(arg[0], nfs.VOLCANOS_PLUGIN) {
|
if kit.HasPrefix(arg[0], ice.HTTP) && strings.Contains(arg[0], nfs.PLUGIN) && !strings.Contains(arg[0], nfs.VOLCANOS_PLUGIN) {
|
||||||
arg[0] = strings.Replace(arg[0], nfs.PLUGIN, nfs.VOLCANOS_PLUGIN, 1)
|
arg[0] = strings.Replace(arg[0], nfs.PLUGIN, nfs.VOLCANOS_PLUGIN, 1)
|
||||||
} else if kit.HasPrefix(arg[0], nfs.REQUIRE_SRC) {
|
} else if kit.HasPrefix(arg[0], nfs.REQUIRE_SRC) {
|
||||||
@ -114,6 +114,14 @@ func init() {
|
|||||||
} else if kit.HasPrefix(arg[0], nfs.REQUIRE) {
|
} else if kit.HasPrefix(arg[0], nfs.REQUIRE) {
|
||||||
ls := strings.Split(strings.Split(strings.TrimPrefix(arg[0], nfs.REQUIRE), "?")[0], nfs.SRC)
|
ls := strings.Split(strings.Split(strings.TrimPrefix(arg[0], nfs.REQUIRE), "?")[0], nfs.SRC)
|
||||||
m.Options(nfs.PATH, kit.Join(kit.Slice(ls, 0, -1), nfs.PS)+nfs.SRC, nfs.FILE, kit.Select("", ls, -1))
|
m.Options(nfs.PATH, kit.Join(kit.Slice(ls, 0, -1), nfs.PS)+nfs.SRC, nfs.FILE, kit.Select("", ls, -1))
|
||||||
|
} else if kit.HasPrefix(arg[0], nfs.P) {
|
||||||
|
ls := kit.Split(arg[0], nfs.PS)
|
||||||
|
m.Debug("what %v", ls)
|
||||||
|
if ls[1] == ice.SRC {
|
||||||
|
m.Options(nfs.PATH, nfs.SRC, nfs.FILE, kit.Join(kit.Slice(ls, 2, -1), nfs.PS))
|
||||||
|
} else {
|
||||||
|
m.Options(nfs.PATH, kit.Join(kit.Slice(ls, 1, 3), nfs.PS)+nfs.PS, nfs.FILE, kit.Join(kit.Slice(ls, 3, -1), nfs.PS))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m.Echo(m.Cmdx(web.SPIDE, ice.OPS, web.SPIDE_RAW, http.MethodGet, arg[0]))
|
m.Echo(m.Cmdx(web.SPIDE, ice.OPS, web.SPIDE_RAW, http.MethodGet, arg[0]))
|
||||||
m.Options("mode", "simple", lex.PARSE, kit.Ext(kit.ParseURL(arg[0]).Path))
|
m.Options("mode", "simple", lex.PARSE, kit.Ext(kit.ParseURL(arg[0]).Path))
|
||||||
|
@ -60,6 +60,8 @@ func init() {
|
|||||||
web.Index.MergeCommands(ice.Commands{ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { aaa.White(m, nfs.REQUIRE) }},
|
web.Index.MergeCommands(ice.Commands{ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { aaa.White(m, nfs.REQUIRE) }},
|
||||||
nfs.REQUIRE_SRC: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.SRC, path.Join(arg...)) }},
|
nfs.REQUIRE_SRC: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.SRC, path.Join(arg...)) }},
|
||||||
nfs.REQUIRE_USR: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.USR, path.Join(arg...)) }},
|
nfs.REQUIRE_USR: {Hand: func(m *ice.Message, arg ...string) { web.ShareLocalFile(m, ice.USR, path.Join(arg...)) }},
|
||||||
|
"m": {Actions: web.ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { m.Cmdy(nfs.REQUIRE_MODULES, arg) }},
|
||||||
|
"/p/modules/": {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(nfs.REQUIRE_MODULES, arg) }},
|
||||||
nfs.REQUIRE_MODULES: {Hand: func(m *ice.Message, arg ...string) {
|
nfs.REQUIRE_MODULES: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
p := path.Join(nfs.USR_MODULES, path.Join(arg...))
|
p := path.Join(nfs.USR_MODULES, path.Join(arg...))
|
||||||
kit.If(!nfs.Exists(m, p), func() {
|
kit.If(!nfs.Exists(m, p), func() {
|
||||||
|
@ -20,13 +20,13 @@ func _volcanos(m *ice.Message, p ...string) string { return ice.USR_VOLCANOS + p
|
|||||||
func _publish(m *ice.Message, p ...string) string { return ice.USR_PUBLISH + path.Join(p...) }
|
func _publish(m *ice.Message, p ...string) string { return ice.USR_PUBLISH + path.Join(p...) }
|
||||||
func _require(m *ice.Message, p string) string {
|
func _require(m *ice.Message, p string) string {
|
||||||
if kit.HasPrefix(p, nfs.USR_MODULES) {
|
if kit.HasPrefix(p, nfs.USR_MODULES) {
|
||||||
return path.Join("/require/modules/", strings.TrimPrefix(p, nfs.USR_MODULES))
|
return path.Join(nfs.M, strings.TrimPrefix(p, nfs.USR_MODULES))
|
||||||
} else if kit.HasPrefix(p, ice.USR_VOLCANOS) {
|
} else if kit.HasPrefix(p, ice.USR_VOLCANOS) {
|
||||||
return path.Join("/volcanos/", strings.TrimPrefix(p, ice.USR_VOLCANOS))
|
return path.Join(nfs.V, strings.TrimPrefix(p, ice.USR_VOLCANOS))
|
||||||
} else if kit.HasPrefix(p, nfs.SRC, nfs.USR) {
|
} else if kit.HasPrefix(p, nfs.SRC, nfs.USR) {
|
||||||
return path.Join("/require/", p)
|
return path.Join(nfs.P, p)
|
||||||
} else {
|
} else {
|
||||||
return path.Join("/volcanos/", p)
|
return path.Join(nfs.V, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func _webpack_css(m *ice.Message, css, js io.Writer, p string) {
|
func _webpack_css(m *ice.Message, css, js io.Writer, p string) {
|
||||||
|
@ -38,6 +38,7 @@ fieldset.web.wiki.portal>div.output>div.layout>div.main fieldset.inner.output di
|
|||||||
}
|
}
|
||||||
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border:var(--box-border); border-left:var(--box-notice3); }
|
body.dark fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { border:var(--box-border); border-left:var(--box-notice3); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { box-shadow:var(--th-box-shadow); border:0; border-left:var(--box-notice3); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { box-shadow:var(--th-box-shadow); border:0; border-left:var(--box-notice3); }
|
||||||
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell]:hover { box-shadow:var(--notice-box-shadow); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { background-color:var(--code-bg-color); color:var(--code-fg-color); padding:var(--button-padding); margin-top:var(--button-margin); }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main div.story[data-type=spark][data-name=shell] { background-color:var(--code-bg-color); color:var(--code-fg-color); padding:var(--button-padding); margin-top:var(--button-margin); }
|
||||||
fieldset.web.wiki.portal>div.output>div.layout>div.main table.content div.story[data-type=spark][data-name=shell] { margin-top:unset; }
|
fieldset.web.wiki.portal>div.output>div.layout>div.main table.content div.story[data-type=spark][data-name=shell] { margin-top:unset; }
|
||||||
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p { white-space:pre-wrap; text-align:center; }
|
fieldset.web.wiki.portal.home>div.output>div.layout>div.main p { white-space:pre-wrap; text-align:center; }
|
||||||
|
2
info.go
2
info.go
@ -317,7 +317,7 @@ func (m *Message) FileURI(dir string) string {
|
|||||||
} else if strings.HasPrefix(dir, USR_VOLCANOS) {
|
} else if strings.HasPrefix(dir, USR_VOLCANOS) {
|
||||||
dir = strings.TrimPrefix(dir, USR)
|
dir = strings.TrimPrefix(dir, USR)
|
||||||
} else {
|
} else {
|
||||||
dir = kit.MergeURL(path.Join(PS, REQUIRE, dir), POD, m.Option(MSG_USERPOD))
|
dir = kit.MergeURL(path.Join(PS, "p", dir), POD, m.Option(MSG_USERPOD))
|
||||||
}
|
}
|
||||||
if m.Option(MSG_USERWEB0) != "" {
|
if m.Option(MSG_USERWEB0) != "" {
|
||||||
dir = kit.MergeURL2(m.Option(MSG_USERWEB), dir)
|
dir = kit.MergeURL2(m.Option(MSG_USERWEB), dir)
|
||||||
|
@ -264,7 +264,7 @@ func (m *Message) Resource(file string, arg ...string) string {
|
|||||||
} else if strings.HasPrefix(file, PS) {
|
} else if strings.HasPrefix(file, PS) {
|
||||||
return arg[0] + file
|
return arg[0] + file
|
||||||
} else if kit.HasPrefix(file, "src", "usr") {
|
} else if kit.HasPrefix(file, "src", "usr") {
|
||||||
return arg[0] + "/require/" + file
|
return arg[0] + "/p/" + file
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return m.resource(file)
|
return m.resource(file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user