【问题标题】:Possible to truncate strings from a YAML file in Middleman?可以在 Middleman 中截断 YAML 文件中的字符串吗?
【发布时间】:2018-07-05 07:29:18
【问题描述】:

我正在生成 YAML 文件,我正在迭代这些文件以在页面上创建卡片。

YAML 文件中的一个字段是具有高度可变长度的文本字段。

为了在视图中显示可预测的文本数量(我正在创建高度相等的卡片),我想将字符串截断为 x 个字符。

在博客中工作时,可以访问.summary method,但在我的 Middleman 站点的博客部分之外尝试使用它时,我得到一个无方法错误。

还有其他简单的方法来实现这一点吗?也尝试过 truncate 方法,但这似乎不起作用。

这是循环以防万一。

        <% data.jobs.each do |j| %>
        <div class="col job-card">
            <div class="job-card-heading">
                <img src="/assets/images/latest-jobs/<%= j.image %>" alt="Company Logo">
                <div class="job-heading-text">
                    <h3><%= j.company %></h3>
                    <span><%= j.location %></span>
                </div>
            </div>
            <div class="job-card-body">
                <h3><%= j.name %></h3>
                <p><%= j.description.summary(125) %></p>
            </div>
            <div class="job-card-body">
                <span class="job-type"><%= j.jobtype %></span>
                <span class="clinician-type"><%= j.cliniciantype %></span>
            </div>
        </div>
        <% end %>

【问题讨论】:

    标签: ruby yaml middleman


    【解决方案1】:

    如果您的 description 变量是字符串,请尝试使用:

    <%= j.description.first(125) %>
    

    【讨论】:

    • 是的。我最终只是创建了另一个数据字段,它有 175 个字符,末尾有一个省略号。
    【解决方案2】:

    截断应该适用于此:

    <%= truncate(j.description, :length => 125) %>
    

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 2021-08-25
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      相关资源
      最近更新 更多