gpt4 book ai didi

gruntjs - 遍历 yeoman 中的子目录并组装

转载 作者:行者123 更新时间:2023-12-04 06:38:04 26 4
gpt4 key购买 nike

我是 Yeoman 和 Assemble 的新手,我正在尝试构建一个带有子目录的导航结构。我可以用这个循环遍历 templates/pages 目录中的主要页面:

{{#each pages}}
<li{{#if this.isCurrentPage}} class="active"{{/if}}>
<a href="{{relative dest this.dest}}">{{ data.title }}</a>
</li>
{{/each}}

当然,这不包括页面目录中的子目录。这是我的 Gruntfile 的组装任务的样子:

assemble: {
pages: {
options: {
flatten: true,
assets: '<%= config.dist %>/assets/',
layout: '<%= config.src %>/templates/layouts/default.hbs',
data: '<%= config.src %>/data/*.{json,yml}',
partials: '<%= config.src %>/templates/partials/*.hbs',
plugins: ['assemble-contrib-permalinks'],
},
files: {
'<%= config.dist %>/': ['<%= config.src %>/templates/pages/**/*.hbs']
}
}
}

我想要的是最终得到一个嵌套列表,该列表将公开子目录中的页面。在循环中是否有任何简单的方法可以做到这一点,或者我是否需要考虑对其进行硬编码?

最佳答案

您需要从选项中删除 flatten: true 并修改您的 pages.files:

files: [
{ expand: true, cwd: '<%= config.src %>/templates/pages', src: ['**/*.hbs'], dest: '<%= config.dist %>' }
]

由于您使用的是永久链接插件,只需在 pages.option 的末尾添加:

plugins: ['assemble-contrib-permalinks'],
permalinks: {
preset: 'pretty'
},

现在,您的导航应该如下所示:

{{#each pages}}
<li{{#if this.isCurrentPage}} class="active"{{/if}}>
<a href="{{basename}}/index.html">{{ data.title }}</a>
</li>
{{/each}}

关于gruntjs - 遍历 yeoman 中的子目录并组装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com