- NPM 包名
- 作者
南昌吴乐川
待详。
// 引入该工具。
const {
createATaskCycle,
} = require('@wulechuan/gulp-classical-task-cycle')
// 引入一个 Gulp 管道工具。亦可以是 gulp-stylus、gulp-sass 之类的。
const gulpConvertMarkdownToHTML = require('@wulechuan/gulp-markdown-to-html')
const path = require('path')
const joinPathPOSIX = path.posix.join
// 构建一个经典的【任务循环】。
const taskCycleForMarkdownConversions = createATaskCycle({
descriptionOfInputsOfCoreTask,
sourceGlobs: {
rootFolderPath: 'documents/ref',
// relativeGlobsSharedWithOtherTaskCycles: [],
relativeGlobsSpecificallyForThisTaskCycle: [ '**/*.md' ],
extraSourceGlobsToWatch: [ 'config/markdown-conversion-options.js' ],
},
outputFiles: {
rootFolderPath: 'dist/documents/htmls',
forBatchOutputFiles: {
relativeGlobsOfAllPossibleOutputs: [ '**/*.html' ],
},
},
compressions: {
shouldNotOutputCompressedVersion: true,
},
firstPipeForProcessingSources: gulpConvertMarkdownToHTML,
})
// 输出该【任务循环】。
module.exports = taskCycleForMarkdownConversions
// 引入该工具。
const {
create3HighOrderTasksUponMultipleTaskCycles
} = require('@wulechuan/gulp-classical-task-cycle')
// 见上例。
const taskCycleForMarkdownConversions = require(
'../task-cycles/markdown-conversion/to-build-htmls.js'
)
// 假设下列【任务循环】已经存在。
const taskCycleForCopyingIllustrates = require(
'../task-cycles/markdown-conversion/to-copy-illustrates.js'
)
module.exports = create3HighOrderTasksUponMultipleTaskCycles({
taskCyclesInPallarel: [
taskCycleForMarkdownConversions,
taskCycleForCopyingIllustrates,
],
beforeBuildingEveryThingOnce: function() {
console.log(`\n正在将所有 markdown 文件转换成 HTML 文件`)
},
})
变成接口已详实。欢迎阅读。
-
options.sourceGlobs.extraSourceGlobsToWatch
上面数组中的每个成员,并不要求是相对于
options.sourceGlobs.rootFolderPath
的子路径。因此,当gulp.src
处理这些成员后,在gulp.dest
中采取的对应输出子路径具体如何,尚不得而知。
WTFPL
注意:
我未研究过许可证的约束。因此姑且声明为 WTFPL 类型。但实际上该许可证类型可能与我采用的开源模块有冲突。