Hu go эквивалент PHP s strpos () - PullRequest
       19

Hu go эквивалент PHP s strpos ()

0 голосов
/ 17 января 2020

Итак, я хочу разбить .Content, чтобы поместиться в разные навигационные вкладки. Если есть лучший образец для достижения sh, пожалуйста, дайте мне знать.

Итак, в моем /content/shop/product-name/index.md фронте содержится:

# summary
summary: "This is the **product's** summary which will render markdown"
---
This is the first line of the full description of the product. This section of the ./index.md
page is referenced in the `single.html` file as `.Content`.|^^|This is the next part of the
.Content that I want to throw into a different nav-tab.

Тогда в /layouts/shop/single.html:

   <div class="row">
     <div class="col-lg-12">
       {{ .Params.summary }}
     </div>
   </div> 
   <div class="row">
      <div class="col-lg-12">
        <nav class="product-info-tabs wc-tabs mt-5 mb-5">
          <div class="nav nav-tabs nav-fill" id="nav-tab" role="tablist">
            <a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab"
              aria-controls="nav-home" aria-selected="true">Description</a>
            <a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab"
              aria-controls="nav-profile" aria-selected="false">Additional Information</a>
            <a class="nav-item nav-link" id="nav-contact-tab" data-toggle="tab" href="#nav-contact" role="tab"
              aria-controls="nav-contact" aria-selected="false">Reviews</a>
          </div>
        </nav>

        <div class="tab-content" id="nav-tabContent">
          <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
            {{ .Content }}
          </div>
...

В минувшие дни, в PHP, я мог использовать strpos(.Content, '|^^|'), а затем substr(.Content, 0, (strpos(.Content, '|^^|')), чтобы получить фрагмент текста. Вы также можете выбросить строку в массив с настроенным пользователем разделителем split('|^^|', .Content).

Итак, вернувшись в Ху go, внутри .Content я мог бы получить что-то вроде:

This is the content. This is the last line before being split.|^^|This is the next line, that would be in array[1] or the next indexed substr.

Я пытаюсь поместить эти два раздела .Content в разные вкладки single.html страницы. Каждый продукт .Content, очевидно, будет отличаться, поэтому у меня не может быть постоянного количества, чтобы использовать Hu go substr().

Проблема, с которой я сталкиваюсь при использовании фронтальной части, заключается в том, что, хотя она выполнена с уценкой, она не может занимать несколько строк. Я знаю, что могу использовать \n для новых строк, но это лишает преимущества уценки.

Спасибо.

1 Ответ

0 голосов
/ 17 января 2020

Звучит так, как будто вы могли бы просто сделать:

{{ replace .Content "|^^|" "</div><div class='tab-pane fade show'>" | safeHTML}}

Что бы превратить

      <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
        This is the content. This is the last line before being split.|^^|This is the next line, that would be in array[1] or the next indexed substr.
      </div>

в

      <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
        This is the content. This is the last line before being split.
      </div>
      <div class='tab-pane fade show'>
        This is the next line, that would be in array[1] or the next indexed substr.
      </div>
...