mirror of
https://shylinux.com/x/icebergs
synced 2025-05-04 20:37:00 +08:00
opt website.go
This commit is contained in:
parent
0e04e31f58
commit
71576fe085
@ -8,7 +8,7 @@ import (
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
|
||||
func _split_deep(m *ice.Message, text string) (deep int) {
|
||||
func _split_deep(text string) (deep int) {
|
||||
for _, c := range text {
|
||||
switch c {
|
||||
case '\t':
|
||||
@ -21,9 +21,20 @@ func _split_deep(m *ice.Message, text string) (deep int) {
|
||||
}
|
||||
return
|
||||
}
|
||||
func _split_deep2(stack []int, text string) ([]int, int) {
|
||||
deep := _split_deep(text)
|
||||
for i := len(stack) - 1; i >= 0; i-- {
|
||||
if deep <= stack[i] {
|
||||
stack = stack[:len(stack)-1]
|
||||
}
|
||||
}
|
||||
stack = append(stack, deep)
|
||||
return stack, len(stack)
|
||||
}
|
||||
func _split_list(m *ice.Message, file string, arg ...string) {
|
||||
const DEEP = "_deep"
|
||||
list := kit.List(kit.Data(DEEP, -1))
|
||||
stack, deep := []int{}, 0
|
||||
m.Cmd(nfs.CAT, file, func(text string) {
|
||||
// if text = kit.Split(text, "#", "#")[0]; strings.TrimSpace(text) == "" {
|
||||
// return
|
||||
@ -35,7 +46,8 @@ func _split_list(m *ice.Message, file string, arg ...string) {
|
||||
return
|
||||
}
|
||||
|
||||
deep := _split_deep(m, text)
|
||||
// deep := _split_deep(text)
|
||||
stack, deep = _split_deep2(stack, text)
|
||||
data := kit.Data(DEEP, deep)
|
||||
|
||||
ls := kit.Split(text)
|
||||
|
@ -25,13 +25,13 @@ func _website_parse(m *ice.Message, text string) map[string]interface{} {
|
||||
}
|
||||
}
|
||||
switch deep {
|
||||
case 0:
|
||||
case 1:
|
||||
storm = kit.Dict()
|
||||
river[ls[0]] = kit.Dict(kit.MDB_NAME, ls[1], "storm", storm, data)
|
||||
case 4:
|
||||
case 2:
|
||||
last = kit.Dict(kit.MDB_NAME, ls[1], kit.MDB_LIST, kit.List(), data)
|
||||
storm[ls[0]] = last
|
||||
case 8:
|
||||
case 3:
|
||||
last[kit.MDB_LIST] = append(last[kit.MDB_LIST].([]interface{}),
|
||||
kit.Dict(kit.MDB_NAME, ls[0], kit.MDB_HELP, ls[1], kit.MDB_INDEX, ls[0], data))
|
||||
}
|
||||
@ -56,6 +56,7 @@ func init() {
|
||||
switch text := kit.Format(value[kit.MDB_TEXT]); value[kit.MDB_TYPE] {
|
||||
case "txt":
|
||||
res := _website_parse(msg, kit.Format(value[kit.MDB_TEXT]))
|
||||
// web.RenderResult(msg, kit.Format(res))
|
||||
web.RenderResult(msg, _website_template2, kit.Format(res))
|
||||
case "json":
|
||||
web.RenderResult(msg, _website_template2, kit.Format(kit.UnMarshal(text)))
|
||||
@ -76,7 +77,7 @@ func init() {
|
||||
m.Cmdy(nfs.DIR, arg[1:]).ProcessAgain()
|
||||
}
|
||||
}},
|
||||
mdb.CREATE: {Name: "create path type=html,js,json name text", Help: "创建"},
|
||||
mdb.CREATE: {Name: "create path type=html,js,json,txt name text", Help: "创建"},
|
||||
mdb.IMPORT: {Name: "import path=src/", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(nfs.DIR, kit.Dict(nfs.DIR_ROOT, m.Option(nfs.PATH)), func(p string) {
|
||||
switch kit.Ext(p) {
|
||||
|
@ -124,7 +124,6 @@ func init() {
|
||||
if p := r.URL.Path; strings.HasPrefix(p, "/x/") {
|
||||
r.URL.Path = strings.Replace(r.URL.Path, "/x/", "/code/git/repos/", -1)
|
||||
m.Info("rewrite %v -> %v", p, r.URL.Path)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user