0

目前,我正在建立一个新的 DocPad 项目,我明确要求设置某些元数据。如果没有设置,我希望 DocPad 给我一些警告,可惜我在网上找不到任何关于如何设置的提示。

我的文件 default.html.eco 通过从文档中访问它来打印标题,如下所示:

<%= @document.title %>

但是,如果未设置,则输出为空。

我希望 DocPad 警告我丢失的数据。有没有我缺少的设置?

4

1 回答 1

1

您可以通过多种方式处理此问题。

1.有条件的

<% if @document.title?: %>
    <%= @document.title %>

2.后缀条件

<%= @document.title if @document.title? %>

3.控制台

如果您想收到警告,您可以调用 console.log("whatever you want here."),它会由 node.js 输出到您的终端。

<% if @document.title?: %>
    <%= @document.title %>
<% else: %>
    <% console.log("No document title in " + @document) %>

4.查询/收集级别

如果您不想呈现没有标题的文档,您可以在 /docpad.coffee 的查询级别处理它

pages: ->
  @getCollection('documents').findAllLive({title: $exists: true}, [pageOrder:1,title:1])

这将在将文档放入页面集合之前检查以确保文档具有标题。

5. 原型化文档对象

您也可以重写我认为的文档对象以重载属性调用并让它在该属性不存在的情况下输出控制台警告,但这会低得多......

于 2014-11-07T17:29:08.483 回答