HUGO:在markdown内容之间插入JS

HUGO: Insert JS in between markdown Content

我正在使用 HUGO 博客 post 模板网站,我想修改我的一个页面以在内容中嵌入 JS 计算器。因此,我需要以某种方式拆分 .Content 变量。理想情况下,我希望它看起来像这样:

到目前为止,我设法对其进行了修改,使内容首先出现在一个大块中,然后是计算器。如何为此拆分计算器变量?

我以前发现过类似的东西:

我目前的尝试:

{{ 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>

您可以为此编写自定义 shortcode。例如,在 /layouts/shortcodes/ 中写一个名为 js_calculator.html 的简码:

文件夹结构

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

我实际上设法解决了这个基于我之前阅读的类似问题并将 Hugo .Content 变量拆分为不同的 headers in markdown:

例如。这是拆分文本并在文本之间插入两个 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>