HU GO: вставить JS между уценкой - PullRequest
0 голосов
/ 13 апреля 2020

Я использую веб-сайт шаблона поста в блоге HU GO и хочу изменить одну из моих страниц, чтобы в нее встраивался калькулятор JS. Следовательно, мне нужно как-то разделить переменную .Content. В идеале я хочу, чтобы это выглядело так:

  • HEADER

  • Текстовый блок # 1

  • JS Caculator

  • Текстовый блок # 2

  • Текстовый блок # 3

  • FOOTER

До сих пор мне удавалось изменить его так, чтобы содержимое сначала приходило в один большой блок, а затем в калькулятор. Как мне разделить переменную калькулятора для этого?

Я нашел что-то подобное раньше:

Моя попытка до сих пор:

{{ define "main" }}

<section class="section">
  <div class="container">
    <div class="row">
      <div class="col-lg-12">
        <h2 class="mb-4">{{.Title }}</h2>
        {{ .Content }}
        <br/><br/>
        <br/><br/>
        <br/><br/>
            <!-- Begin Scheidungskosten-Rechner von www.cool-funky-calculator.de -->
            <div id="s_r_de_calculator">
              <script type="text/javascript">
              </script>
              <script
                 type="text/javascript"
                 charset="utf-8"
                 src="https://www.cool-funky-calculator.de/widget/calculator.js">
              </script>
            </div>
            <br/><br/>
            <br/><br/>
            <br/><br/>
          <!-- </div> -->
        <!-- </form> -->
      </div>
    </div>
  </div>
</section>

Ответы [ 2 ]

2 голосов
/ 14 апреля 2020

Вы можете написать собственный шорткод для этого. Например, введите короткий код с именем js_calculator.html в /layouts/shortcodes/:

Структура папки

Hugo Project
├── content
├── layouts
│   └── shortcodes
│      ├── js_calculator.html
├── static
├── themes
└──config.toml

Пользовательский короткий код:

<div id="s_r_de_calculator">        
  <script type="text/javascript">
  </script>
  <script
     type="text/javascript"
     charset="utf-8"
     src="https://www.cool-funky-calculator.de/widget/calculator.js">
  </script>
</div>

Затем в файлах разметки используйте это как

## Your content

Some lines

{{< js_calculator >}}

More lines
0 голосов
/ 22 апреля 2020

Мне действительно удалось решить эту проблему, основываясь на аналогичной проблеме, которую я читал ранее, и разделив переменную Hu go .Content по разным заголовкам в уценке:

Например. это разбивает текст и вставляет два js калькулятора между текстом:

{{ $paragraphs := split .Content "<h4 " }}
    {{ range $index, $p := $paragraphs }}
    {{ $pp := trim $p " \n" }}
      {{ if (eq $index 0) }}
        {{ printf "%s\n" $pp | safeHTML }}
      {{ end }}
      {{ if and (ne $pp "") (eq $index 1) }}
      <div class="boxtext">
        {{ printf "<h4 %s\n" $pp | safeHTML }}
        <br/><br/>
        <center>
      <div id="calculator_no1">
        <script type="text/javascript">
        </script>
        <script
           type="text/javascript"
           charset="utf-8"
           src="https://www.funky_calculator.com/widget/calc2.js">
        </script>
        </div>
        <br/><br/>
        <div id="js bit">
           <script>
           </script>
           <script
              type="text/javascript"
              charset="utf-8"
              src="https://www.cool-calculator/calc.js">
           </script>
        </div>
      </center>
      </div>{{ end }}
      <br/><br/>
      {{ if and (ne $pp "") (gt $index 1) }}
        <div>
          {{ printf "<h4 %s\n" $pp | safeHTML }}
        </div>
      {{end}}
    {{end}}
      </div>
...