2014-02-13 36 views
2

我有以下目錄結構一串泛音:我可以使用匯編渲染頁面上的所有部分及其內容嗎?

src 
└── content 
    ├── pages 
    │ ├── index.hbs 
    │ └── patterns.hbs 
    ├── partials 
    │ ├── _footer-subpage.hbs 
    │ ├── _footer.hbs 
    │ ├── _head-subpage.hbs 
    │ ├── _head.hbs 
    │ └── patterns 
    │  └── dropdown 
    │   ├── dropdown.hbs 
    │   └── dropdown.json 
    └── templates 
     ├── custom.hbs 
     └── default.hbs 

,我希望能夠遍歷所有的諧音src/content/partials/patterns目錄並輸出其頁面上的內容中。 A上的那一刻,我手動包括像這樣的諧音:

{{> dropdown }} 

{{> another-partial }} 

{{> another-partial }} 

... 

是否可以動態地做到這一點就像你可以與pages collections

編輯:

對不起,我應該一直在我想要實現更細緻。這是一個有點複雜......

這就是我正在做的全部細節,但想以編程方式做到:

<h3>{{dropdown.info.title}}</h3>          <-- name 

<p>{{dropdown.info.description}}</p>         <-- description 


{{> dropdown dropdown }} 

{{#markdown}}``\{{> dropdown dropdown }}``{{/markdown}}     <-- example 

<h4>dropdown.hbs</h4> 

{{#markdown}} 
{{embed 'src/content/partials/patterns/dropdown/dropdown.hbs' 'html'}} <-- source 
{{/markdown}} 

<h4>dropdown.json</h4> 

{{#markdown}} 
{{embed 'src/content/partials/patterns/dropdown/dropdown.json' 'json'}} <-- data 
{{/markdown}} 

dropdown.info.title使用相同的目錄內的文件上傳.json部分數據。

我基本上從pattern-lab.info複製功能拉入一堆組件來創建一個「模式」庫,但不想手動做。

下面是所需輸出的示例。

Sample "pattern"

我正在使用的代碼是在這裏https://github.com/sheedy/ux-prototype(以下簡稱 「開發」 分支)。

回答

1

嘗試使用compose helper

那麼你可以做......

{{compose src="src/content/partials/patterns/**/*.hbs"}} 
    {{@content}} 
{{/compose}} 
+0

感謝@doowb!我給了一個鏡頭,但它只是呈現我參考的文件的源代碼。無論如何,我不認爲這個幫手會完成我所需要的。我已經編輯了我的原始問題,提供了一些我想要實現的內容。 – sheedy

+0

@jonschlinkert和我今天剛剛在談論這種用例。我認爲一旦我們完成了重構(很快),那麼使用插件(這就是我們正在談論的)會更容易。目前,我認爲您需要編寫一個自定義插件來讀取您的模式和數據,然後使用自定義幫助程序輸出您需要的內容。我現在沒有想到任何其他的東西,這對你有用。 – doowb

相關問題