parent
6b645f7b88
commit
cb2efa0d31
|
@ -288,15 +288,6 @@ func compileTemplates(wg *sync.WaitGroup, c *tmpl.CTemplateSet, themeName string
|
||||||
}
|
}
|
||||||
replyList = append(replyList, ru)
|
replyList = append(replyList, ru)
|
||||||
|
|
||||||
// TODO: Use a dummy forum list to avoid o(n) problems
|
|
||||||
/*var forumList []Forum
|
|
||||||
forums, err := Forums.GetAll()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for _, forum := range forums {
|
|
||||||
forumList = append(forumList, *forum)
|
|
||||||
}*/
|
|
||||||
forum := BlankForum(1, "/forum/d.1", "d", "d desc", true, "", 0, "", 1)
|
forum := BlankForum(1, "/forum/d.1", "d", "d desc", true, "", 0, "", 1)
|
||||||
forum.LastTopic = BlankTopic()
|
forum.LastTopic = BlankTopic()
|
||||||
forum.LastReplyer = BlankUser()
|
forum.LastReplyer = BlankUser()
|
||||||
|
@ -630,14 +621,20 @@ func compileJSTemplates(wg *sync.WaitGroup, c *tmpl.CTemplateSet, themeName stri
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var poutlen = len("\n// nolint\nfunc init() {\n")
|
||||||
|
var poutlooplen = len("__frags[0]=arr_0[:]\n")
|
||||||
|
|
||||||
func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) string {
|
func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) string {
|
||||||
DebugLog("in getTemplateList")
|
DebugLog("in getTemplateList")
|
||||||
pout := "\n// nolint\nfunc init() {\n"
|
//pout := "\n// nolint\nfunc init() {\n"
|
||||||
tFragCount := make(map[string]int)
|
tFragCount := make(map[string]int)
|
||||||
bodyMap := make(map[string]string) //map[body]fragmentPrefix
|
bodyMap := make(map[string]string) //map[body]fragmentPrefix
|
||||||
//tmplMap := make(map[string]map[string]string) // map[tmpl]map[body]fragmentPrefix
|
//tmplMap := make(map[string]map[string]string) // map[tmpl]map[body]fragmentPrefix
|
||||||
tmpCount := 0
|
tmpCount := 0
|
||||||
var bsb strings.Builder
|
var bsb strings.Builder
|
||||||
|
var poutsb strings.Builder
|
||||||
|
poutsb.Grow(poutlen + (poutlooplen * len(c.FragOut)))
|
||||||
|
poutsb.WriteString("\n// nolint\nfunc init() {\n")
|
||||||
for _, frag := range c.FragOut {
|
for _, frag := range c.FragOut {
|
||||||
front := frag.TmplName + "_frags[" + strconv.Itoa(frag.Index) + "]"
|
front := frag.TmplName + "_frags[" + strconv.Itoa(frag.Index) + "]"
|
||||||
DebugLog("front: ", front)
|
DebugLog("front: ", front)
|
||||||
|
@ -669,13 +666,23 @@ func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tmpStr := strconv.Itoa(tmpCount)
|
tmpStr := strconv.Itoa(tmpCount)
|
||||||
pout += "arr_" + tmpStr + ":=[...]byte{" + /*bits*/ bsb.String() + "}\n"
|
//"arr_" + tmpStr + ":=[...]byte{" + /*bits*/ bsb.String() + "}\n"
|
||||||
pout += front + "=arr_" + tmpStr + "[:]\n"
|
poutsb.WriteString("arr_")
|
||||||
|
poutsb.WriteString(tmpStr)
|
||||||
|
poutsb.WriteString(":=[...]byte{")
|
||||||
|
poutsb.WriteString(bsb.String())
|
||||||
|
poutsb.WriteString("}\n")
|
||||||
|
|
||||||
|
//front + "=arr_" + tmpStr + "[:]\n"
|
||||||
|
poutsb.WriteString(front)
|
||||||
|
poutsb.WriteString("=arr_")
|
||||||
|
poutsb.WriteString(tmpStr)
|
||||||
|
poutsb.WriteString("[:]\n")
|
||||||
tmpCount++
|
tmpCount++
|
||||||
//pout += front + "=[]byte(`" + frag.Body + "`)\n"
|
//pout += front + "=[]byte(`" + frag.Body + "`)\n"
|
||||||
} else {
|
} else {
|
||||||
DebugLog("encoding cached index " + fp)
|
DebugLog("encoding cached index " + fp)
|
||||||
pout += front + "=" + fp + "\n"
|
poutsb.WriteString(front + "=" + fp + "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
_, ok = tFragCount[frag.TmplName]
|
_, ok = tFragCount[frag.TmplName]
|
||||||
|
@ -686,10 +693,12 @@ func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) st
|
||||||
}
|
}
|
||||||
|
|
||||||
//out := "package " + c.GetConfig().PackageName + "\n\n"
|
//out := "package " + c.GetConfig().PackageName + "\n\n"
|
||||||
var sb strings.Builder
|
bsb.Reset()
|
||||||
sb.Grow(tllenhint)
|
sb := bsb
|
||||||
|
pkgName := c.GetConfig().PackageName
|
||||||
|
sb.Grow(tllenhint + ((looplenhint + 2) + (looplenhint2+2)*len(tFragCount)) + len(pkgName))
|
||||||
sb.WriteString("package ")
|
sb.WriteString("package ")
|
||||||
sb.WriteString(c.GetConfig().PackageName)
|
sb.WriteString(pkgName)
|
||||||
sb.WriteString("\n\n")
|
sb.WriteString("\n\n")
|
||||||
for templateName, count := range tFragCount {
|
for templateName, count := range tFragCount {
|
||||||
//out += "var " + templateName + "_frags = make([][]byte," + strconv.Itoa(count) + ")\n"
|
//out += "var " + templateName + "_frags = make([][]byte," + strconv.Itoa(count) + ")\n"
|
||||||
|
@ -700,7 +709,7 @@ func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) st
|
||||||
sb.WriteString(strconv.Itoa(count))
|
sb.WriteString(strconv.Itoa(count))
|
||||||
sb.WriteString("][]byte\n")
|
sb.WriteString("][]byte\n")
|
||||||
}
|
}
|
||||||
sb.WriteString(pout)
|
sb.WriteString(poutsb.String())
|
||||||
sb.WriteString("\n\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\n")
|
sb.WriteString("\n\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\n")
|
||||||
//getterstr := "\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\n"
|
//getterstr := "\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\n"
|
||||||
for templateName, _ := range tFragCount {
|
for templateName, _ := range tFragCount {
|
||||||
|
@ -720,6 +729,8 @@ func getTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) st
|
||||||
return sb.String()
|
return sb.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var looplenhint = len("var _frags [][]byte\n")
|
||||||
|
var looplenhint2 = len("\tcase \"\":\n\treturn _frags[:]\n")
|
||||||
var tllenhint = len("package \n\n\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\nvar _frags [][]byte\n\tcase \"\":\n\treturn _frags[:]\n}\nreturn nil\n}\n\n}\n")
|
var tllenhint = len("package \n\n\n// nolint\nGetFrag = func(name string) [][]byte {\nswitch(name) {\nvar _frags [][]byte\n\tcase \"\":\n\treturn _frags[:]\n}\nreturn nil\n}\n\n}\n")
|
||||||
|
|
||||||
func writeTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) {
|
func writeTemplateList(c *tmpl.CTemplateSet, wg *sync.WaitGroup, prefix string) {
|
||||||
|
|
Loading…
Reference in New Issue