diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-07-03 18:02:32 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-07-03 23:31:51 +0200 |
commit | 42e150fbfac736bd49bc7e50cb8cdf9f81386f59 (patch) | |
tree | f29afdf089823d6c6d4513ae67934357b88f2a05 /tpl/tplimpl/template.go | |
parent | 028b356787426dbc190ce9868fbc9a6400c2996e (diff) |
Fix server reload when non-HTML shortcode changes
Fixes #7448
Diffstat (limited to 'tpl/tplimpl/template.go')
-rw-r--r-- | tpl/tplimpl/template.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go index 1243e6a15..6171d167b 100644 --- a/tpl/tplimpl/template.go +++ b/tpl/tplimpl/template.go @@ -354,6 +354,23 @@ func (t *templateHandler) LookupVariant(name string, variants tpl.TemplateVarian } +// LookupVariants returns all variants of name, nil if none found. +func (t *templateHandler) LookupVariants(name string) []tpl.Template { + name = templateBaseName(templateShortcode, name) + s, found := t.shortcodes[name] + if !found { + return nil + } + + variants := make([]tpl.Template, len(s.variants)) + for i := 0; i < len(variants); i++ { + variants[i] = s.variants[i].ts + } + + return variants + +} + func (t *templateHandler) HasTemplate(name string) bool { if _, found := t.baseof[name]; found { @@ -966,6 +983,10 @@ func (t *textTemplateWrapperWithLock) LookupVariant(name string, variants tpl.Te panic("not supported") } +func (t *textTemplateWrapperWithLock) LookupVariants(name string) []tpl.Template { + panic("not supported") +} + func (t *textTemplateWrapperWithLock) Parse(name, tpl string) (tpl.Template, error) { t.Lock() defer t.Unlock() |