DocPad中的可配置重定向URL

时间:2015-09-15 16:44:32

标签: docpad

我使用DocPad生成系统文档。我以

格式包含发行说明

我想要包含一个重定向到最新版本的链接。

我的问题:如何根据配置创建一个重定向到相对URL的链接?我希望非程序员能够轻松改变这一点。

更新:我已将清洁添加到我的docpad.js中,类似于下面的示例。 (见下面的代码)。但是使用" grunt docpad:generate"似乎跳过了重定向(这是一个HTML页面?)。我是一个静态网站。我还确认我在package.json中使用了最新的cleanurls(2.8.1)。

这是我的docpad.js

'use strict';

var releases = require('./releases.json');  // list them as a list, backwards: ["1.3", "1.2", "1.1", "1.0"]

var latestRelease = releases.slice(1,2)[0];

module.exports = {
    outPath: 'epicenter/docs/',
    templateData: {
        site: {
            swiftype: {
                apiKey: 'XXXX',
                resultsUrl: '/epicenter/docs/search.html'
            },
            ga: 'XXXX'
        },
    },
    collections: {
        public: function () {
            return this.getCollection('documents').findAll({
                relativeOutDirPath: /public.*/, isPage: true
            });
        }
    },
    plugins: {
        cleanurls: {
            simpleRedirects: {'/public/releases/latest': '/public/releases/' + latestRelease}
        },
        lunr: {
            resultsTemplate: 'src/partials/teaser.html.eco',
            indexes: {
                myIndex: {
                    collection: 'public',
                    indexFields: [{
                        name: 'title',
                        boost: 10
                    }, {
                        name: 'body',
                        boost: 1
                    }]
                }
            }
        }
    }
};

当我运行grunt docpad:generate时,我的页面会生成,但最后会有错误:

/data/jenkins/workspace/stage-epicenter-docs/docs/docpad/node_modules/docpad-plugin-cleanurls/node_modules/taskgroup/node_modules/ambi/es6/lib/ambi.js:5
export default function ambi (method, ...args) {
^^^^^^

我无法判断是否存在阻止其运行的问题,但这似乎是可疑的。

1 个答案:

答案 0 :(得分:1)

如果您的配置可供DocPad Configuration File使用,则可以使用cleanurls plugin的重定向功能来完成动态和静态环境。

使用docpad.coffee配置文件,它看起来像这样:

releases = require('./releases.json')  # ['1.0', '1.1', '1.2', '1.3']
latestRelease = releases.slice(-1)[0]

docpadConfig =
    plugins:
        cleanurls:
            simpleRedirects:
                '/releases/latest': '/releases/' + latestRelease

module.exports = docpadConfig