Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个动态排序导航,包括Jekyll、Gulp和Markdown_Gulp_Metadata_Markdown_Jekyll - Fatal编程技术网

一个动态排序导航,包括Jekyll、Gulp和Markdown

一个动态排序导航,包括Jekyll、Gulp和Markdown,gulp,metadata,markdown,jekyll,Gulp,Metadata,Markdown,Jekyll,我尝试使用标记文件中的元数据进行导航。 所以我的问题是,我只在网站上使用jekyll,而gulp用于降价,问题是我不知道如何让gulp获取元数据并将其放入jekyll导航 我的导航默认页面如下所示: <nav id="subNav"> {% assign pages = site.pages | sort:"weight" %} <ul class="secondLevel"> {% for p in pages %} &

我尝试使用标记文件中的元数据进行导航。 所以我的问题是,我只在网站上使用jekyll,而gulp用于降价,问题是我不知道如何让gulp获取元数据并将其放入jekyll导航

我的导航默认页面如下所示:

<nav id="subNav">
    {% assign pages = site.pages | sort:"weight"  %}
    <ul class="secondLevel">
        {% for p in pages %}
        <li>
            <a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.path }}">
                {{ p.title }}
            </a>
        </li>
        {% endfor %}
    </ul>
</nav>
gulp.task('markdown', function() {
return gulp.src('src/fileadmin/layout/compass/scss/media_all/*.md')
.pipe(markdown({
    gfm: true, 
    tables: true,
    breaks: true, 
    pedantic: true, 
    sanitize: false, 
    smartLists: true,
    smartypants: true 
}))

.pipe(insert.transform(function(content,file){
        var ext = path.extname(file.path),
            base = path.basename(file.path, ext); // https://nodejs.org/api/util.html | http://stackoverflow.com/questions/31612192/get-file-basename-in-gulp-replacer-task
        var comment = '---\nlayout: default\ntitle: ' + base.charAt(0).toUpperCase() + base.substr(1) + '\n---\n\n';// http://phpjs.org/functions/ucfirst/ | http://www.w3schools.com/jsref/jsref_touppercase.asp
        return comment + content;
}))
.pipe(gulp.dest(destDir));
}))

因此,gulpfile的一部分用于非动态导航。 如何从标记元数据中获取动态导航?
我希望有人能理解我的问题,并能帮助…

因为您的md文件包含元数据(假设在文件顶部),您需要使用而不是渲染它们

我已经转向了另一个支持元数据标记的版本。它支持以下降价格式:

---
标题:Lorem ipsum dolor sit amet
---
#标题
降价
替换为此模块,方法如下:

var metaMarkdown=require('gulp-meta-markdown');
var数据=需要('gulp-data');
...
返回gulp.src('src/fileadmin/layout/compass/scss/media\u all/*.md')
.管道(元标记)({
gfm:没错,
表:对,
是的,
学究:是的,
消毒:错,
智能列表:没错,
smartypants:没错
}))
这样,您将通过
file.contents
属性接收对象的字符串

{
    meta: {
        title: "Lorem ipsum dolor..."
    },
    html: <rendered html code>
}

从这一点上,您可以将导航放置到元数据部分,并使用它进行渲染。

由于md文件包含元数据(假设位于文件顶部),因此您需要使用而不是渲染它们

我已经转向了另一个支持元数据标记的版本。它支持以下降价格式:

---
标题:Lorem ipsum dolor sit amet
---
#标题
降价
替换为此模块,方法如下:

var metaMarkdown=require('gulp-meta-markdown');
var数据=需要('gulp-data');
...
返回gulp.src('src/fileadmin/layout/compass/scss/media\u all/*.md')
.管道(元标记)({
gfm:没错,
表:对,
是的,
学究:是的,
消毒:错,
智能列表:没错,
smartypants:没错
}))
这样,您将通过
file.contents
属性接收对象的字符串

{
    meta: {
        title: "Lorem ipsum dolor..."
    },
    html: <rendered html code>
}

从这一点开始,您可以将导航放置到元数据部分并使用它进行渲染。

您可以提供示例标记文件吗?您可以提供示例标记文件吗?