Harp 元數(shù)據(jù)

2021-10-12 15:50 更新

概述

元數(shù)據(jù)是具有作用域的數(shù)據(jù),從 _data.json 文件傳到指定的頁(yè)面中。

有時(shí)你可能希望將變量分離開(kāi)來(lái),或者說(shuō)將所有的全局?jǐn)?shù)據(jù)放在一個(gè)文件中并非有利。文件元數(shù)據(jù)來(lái)做這件事情是完美的。

_data.json 文件比較特別,讓數(shù)據(jù)在模板中可用。

示例

myproject/
  ├ harp.json               <-- Global metadata goes here
  ├ index.jade
  └ articles/
      ├ _data.json           <-- Article metadata goes here
      ├ hello-world.jade     <-- hello world article
      └ hello-brazil.jade    <-- hello brazil article

你的應(yīng)用可以有多個(gè) _data.json 文件,每一個(gè)放在他們自己的文件夾中。你也可以在根目錄中包含一個(gè) _data.json 文件來(lái)為你根目錄中的頁(yè)面設(shè)置元數(shù)據(jù)。

你的 _data.json 文件可能包含下面的內(nèi)容:

{
  "hello-world": {  <-- available everywhere as public.articles._data
    "title": "Hello World.",
    "date": "2013-02-28"
  },
  "hello-brazil": {
    "title": "Hello Brazil.",
    "date": "2013-03-04"
  }
}

因?yàn)?hello-world 匹配文件名,在服務(wù)啟動(dòng)時(shí),這些變量會(huì)在 hello-world.jade 模板文件中可用。這個(gè)對(duì)象也可以作為 public.articles._data.hello-world 在所有的模板文件中使用。

_harp.json 或者 harp.json 文件中的任何元數(shù)據(jù)都會(huì)被 _data.json 文件中的本地元數(shù)據(jù)所覆蓋。這個(gè)特性允許你,例如,為整站指定一個(gè)標(biāo)題,然后在具體的頁(yè)面上覆蓋它。(這里有 一個(gè)樣例)。

沒(méi)有必要在 _data.json 中包含文件擴(kuò)展名。例如,"hello-world.jade":{...},將會(huì)拋出一個(gè)錯(cuò)誤。

在 index 模板中,我們可能會(huì)遍歷所有的文章來(lái)創(chuàng)建一個(gè)文章列表。

for article, slug in public.articles._data
  a(href="/articles/#{ slug }")
    h2= article.title

參考


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)