Как ранжировать файлы, но пропустить одно конкретное имя файла - PullRequest
1 голос
/ 06 июня 2019

Я работаю над кодом блога (написанным кем-то другим), который перечисляет все сообщения в основном файле index.html. Я хочу исключить один файл (welcome.md) из этого списка. Я считаю, что это соответствующий код, который делает это -

{{$l := len .}}
{{range $i, $e := .}}         
<h3><a href="/{{$e.Title | slug}}.html">{{$e.Title}}</a></h3>

Возможно ли это?

Обновление - вот мой полный код, я оставил некоторые из вышеперечисленных -

{{define "title"}}
  Test
{{end}}

{{define "content"}}
<h1>Heading</h1>

{{$l := len .}}
      {{range $i, $e := .}}
      {{- if ne $e.Title "welcome" -}}        
            <h3><a href="/{{$e.Title | slug}}.html">{{$e.Title}}</a></h3>
            {{- end }}
            <small>
              <em>
              {{$e.Written.Format "Jan 2, 2006"}}&nbsp;
              Tags:  {{range $e.Tags}}
              <a href="/tags/{{. | slug}}.html" title="Posts Tagged {{.}}">{{.}}</a>&nbsp;
                {{end}}
              </em>
            </small>
            {{(printf "%s </br><small>[Read more](/%s.html)</small>" ($e.Content | summary) (.Title | slug)) | html}}

{{end}}
{{end}}

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Вы можете использовать {{if ...}} в шаблонах. Объединить с функцией ne (для «не равно»):

{{range $i, $e := .}}
  {{- if ne $e.Title "welcome" -}}
<h3><a href="/{{$e.Title}}.html">{{$e.Title}}</a></h3>
  {{- end }}
{{ end }}

пример детской площадки

Однако, возможно, вы можете сделать его более универсальным, если у вас есть контроль над моделью данных. Возможно флаг на каждом посте для ExcludeFromIndex или что-то в этом роде:

{{- if !$e.ExcludeFromIndex -}}

Таким образом, если вы добавите больше «специальных» страниц, вам не нужно будет добавлять операторы if для каждой из них. Просто идея.

0 голосов
/ 06 июня 2019

ОК, мне пришлось удалить дефисы и переместить {{end}} вниз, как показано ниже -

{{$l := len .}}
      {{range $i, $e := .}}
      {{ if ne $e.Title "Welcome" }}
            <h3><a href="/{{$e.Title | slug}}.html">{{$e.Title}}</a></h3>
            <small>
              <em>
              {{$e.Written.Format "Jan 2, 2006"}}&nbsp;
              Tags:  {{range $e.Tags}}
              <a href="/tags/{{. | slug}}.html" title="Posts Tagged {{.}}">{{.}}</a>&nbsp;
                {{end}}
              </em>
            </small>
            {{(printf "%s </br><small>[Read more](/%s.html)</small>" ($e.Content | summary) (.Title | slug)) | html}}
        {{ end }}
{{end}}
{{end}}
...