如何检查 .Inner 是否为空

How to check if .Inner is empty

我正在尝试编写一个 {{< gallery >}} 短代码,它将生成一个图库,其中包含您定义的目录中的所有图像、您通过 .Inner 定义的内容,或者只是所有图像资源与页面相关。以下是我尝试支持的表格:

  1. {{< gallery dir="/gallery/alaska/" />}} - 指定目录
  2. {{< gallery >}} {{< figure src="image1.jpg" >}} {{< /gallery >}} - 指定内容
  3. {{< gallery >}} - 使用所有图片资源

我可以处理前两个,但我不清楚如何确定 .Inner 变量中是否没有任何内容,以便我可以处理上面的表格 3。我希望做如下事情:

{{- with (.Get "dir") -}}
  // do stuff with the specified directory (works fine)
{{- else -}}
  {{- if .Inner }}
    {{ .Inner }} // Always executes
  {{- else -}}
    // do stuff related to resources in this page
  {{- end }}
{{- end }}

如何检测没有参数或内部内容的简码?

做这个的关键是用<tag/>形式的空标签,这样里面有内容但是里面是空的

这意味着如果您使用 {{< gallery />}} 作为简码,则以下代码有效:

{{ with (.Get "dir") }}
  // do stuff with the directory
{{ else }}
  {{ with .Inner }}
    {{ . }}
  {{ else }}
    // do stuff related to this page
  {{ end }}
{{ end }}