forgejo/modules/templates
wxiaoguang c0d105609f
Add DumpVar helper function to help debugging templates (#24262)
I guess many contributors might agree that it's really difficult to
write Golang template. The dot syntax `.` confuses everyone: what
variable it is ....

So, we can use a `{{DumpVar .ContextUser}}` to look into every variable
now.


![image](https://user-images.githubusercontent.com/2114189/233692383-f3c8f24d-4465-45f8-839b-b63e00731559.png)


And it can even dump the whole `ctx.Data` by `{{DumpVar .}}`:

```
dumpVar: templates.Vars
{
  "AllLangs": [
    {
      "Lang": "id-ID",
      "Name": "Bahasa Indonesia"
    },
...
      "Context": "[dumped]",
      "ContextUser": {
        "AllowCreateOrganization": true,
        "AllowGitHook": false,
        "AllowImportLocal": false,
...
  "TemplateLoadTimes": "[func() string]",
  "TemplateName": "user/profile",
  "Title": "Full'\u003cspan\u003e Name",
  "Total": 7,
  "UnitActionsGlobalDisabled": false,
  "UnitIssuesGlobalDisabled": false,
  "UnitProjectsGlobalDisabled": false,
  "UnitPullsGlobalDisabled": false,
  "UnitWikiGlobalDisabled": false,
  "locale": {
    "Lang": "en-US",
    "LangName": "English",
    "Locale": {}
  }
...

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: silverwind <me@silverwind.io>
2023-04-22 13:28:20 -04:00
..
eval Use a general Eval function for expressions in templates. (#23927) 2023-04-07 21:25:49 +08:00
scopedtmpl Make HTML template functions support context (#24056) 2023-04-20 04:08:58 -04:00
vars Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
base.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
dynamic.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
helper.go Add DumpVar helper function to help debugging templates (#24262) 2023-04-22 13:28:20 -04:00
helper_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
htmlrenderer.go Make HTML template functions support context (#24056) 2023-04-20 04:08:58 -04:00
htmlrenderer_test.go Show friendly 500 error page to users and developers (#24110) 2023-04-14 13:19:11 +08:00
mailer.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
static.go Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
templates_bindata.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
util.go Add DumpVar helper function to help debugging templates (#24262) 2023-04-22 13:28:20 -04:00
util_test.go Merge template functions "dict/Dict/mergeinto" (#23932) 2023-04-07 09:39:08 -05:00