場景:我通過幾個.md
文件迭代,首先在HTML
,然後PDF
轉換它們。 我需要我的管道(pdf
之一)上的文件路徑,但我不知道該怎麼做。通過管道傳遞參數
編輯:
- 我不需要,因爲它們是通過管道輸送到重命名文件。
- 我想獲得
pdf
管道上的處理文件的文件路徑, ,因爲我想在管道中使用它(如代碼所示)。
var pdf= require('gulp-html-pdf');
return gulp.src(path.join(config.ROOT, '**/docs/**/*.md'))
// doing stuff...
.pipe(gulp.dest(function(file) {
return file.base;
}))
// Converting it to PDF
.pipe(
// i need the file path here, in order to use it for the PDF options
pdf({
"format": "A4",
"border": {
"top": "0cm", // default is 0, units: mm, cm, in, px
"right": "2.5cm",
"bottom": "0cm",
"left": "2.5cm"
},
"header": {
"height": "3cm",
"contents": '<header style="text-align: center;">' + FILE PATH + '</header>'
},
"footer": {
"height": "3cm",
"contents": '<footer style="height:3cm; text-align:right; padding-top:1cm">Page: {{page}}</span>/<span>{{pages}}</footer>'
},
"phantomArgs": []
}))
// Saving PDF
.pipe(gulp.dest(function(file) {
var fileName = file.path.substr(file.path.lastIndexOf('docs\\') + 5);
console.log("...creating ", fileName);
return file.base;
}));
你試圖得到什麼文件名的一部分?我假設你正試圖返回它的一部分來爲該文件提供一個目錄 - 這是gulp.dest中的一個函數。看看'路徑'插件https://nodejs.org/api/path.html#path_path_basename_path_ext它使這些事情更容易處理。例如,path.basename(fileName,'.pdf')可能是你正在尋找的東西,但我不確定你想要完成什麼,多一點信息會有幫助。 – Mark
path.basename(file.path,' .pdf')是正確的 - 你不需要substr的東西,你需要var path = require('path')才能正常工作 – Mark
嘿@Mark!我需要它提供pdf的文件路徑方法,它將被gulp-html-pdf模塊用作生成的pdf的標題頁。無論如何,對於substr提示;) – Dyd666