就我个人而言,我会将一个文件专用于我的混合或单个混合,并将它们包含在我希望使用它们的文件的顶部。
然后,您可以在必要时调用mixin。
目前,您有以下内容:;
.row
.large-10.columns
.text-center Click for larger view
.owl-carousel.owl-theme.popup-gallery#owl-carousel-original-article
mixin originalImage(originalLink, originalTitle)
a(href="#{originalLink}" title="#{originalTitle}")
img(src="#{originalLink}")
但改变为;
mixin originalImage(originalLink, originalTitle)
a(href="#{originalLink}" title="#{originalTitle}")
img(src="#{originalLink}")
.row
.large-10.columns
.text-center Click for larger view
.owl-carousel.owl-theme.popup-gallery#owl-carousel-original-article
会有所不同。
然而,如果你选择这样做,你可以做一点洗牌,然后得到类似的结果;
extends ../../__JADE/_layout-template.jade
include ../../__JADE/_mixins.jade
block vars
- var pageTitle = 'New Page Title'
block body
body
block main-content
(main page content...)
.row
.large-10.columns
.text-center Click for larger view
.owl-carousel.owl-theme.popup-gallery#owl-carousel-original-article
+originalImage('http://placehold.it/800x400', 'Original Image 1')
+originalImage('http://placehold.it/800x400', 'Original Image 2')
+originalImage('http://placehold.it/800x400', 'Original Image 3')
此外,您可以定义一个映射并在其上循环以调用混合元素,从而节省更多代码。
类似以下内容可能有效;
- var images = ['http://placehold.it/800x400', 'http://placehold.it/800x400', 'http://placehold.it/800x400']
each val, index in images
+originalImage(val, 'Original Image ' + index)
最后一点可能需要稍微调整一下,因为它超出了我的想象,但希望这能帮你一点忙。
我尝试将Jade文件分成许多可管理的模块和片段,这样维护起来很简单。随着项目的发展,也许可以考虑为不同的标记组件设置文件夹。例如,为不同的混合创建一个文件夹,并能够为项目的不同部分包含特定的混合。
@jh3y