vivliostyle-cli の gulp プラグイン書いた
Gulpプラグインを書く演習で、
vivliostyle-cli をgulpで実行するプラグインを書きました。
Gulp4以降で動きます。
vivliostyle build
だけです。 vivliostyle preview
は使えません。
kanemu/gulp-vivliostyle-build: vivliostyle-cli plugin for Gulp.
インストール
npmには上げてないので、リポジトリ直指定でインストールしてください。
npm install git+ssh://[email protected]:kanemu/gulp-vivliostyle-build.git --save-dev
基本的な使い方
./gulpfile.js に以下の感じで書いて、 gulp build
で実行してください。
デフォルトの書き出し先は、htmlと同じパスの .pdf
になります。
'use strict';
const gulp = require('gulp'),
vivliostyleBuild = require('gulp-vivliostyle-build');
gulp.task('build', (done) => {
return gulp.src('./src/index.html')
.pipe(vivliostyleBuild())
.on('end', () => {
done();
});
});
オプションについて
vivliostyle-cli/cli-build.ts で設定しているオプションの他に、 outputDir
オプションで書き出し先を指定できます。
gulp.src('./src/index.html')
.pipe(vivliostyleBuild());
// -> output ./src/index.pdf
gulp.src('./src/index.html')
.pipe(vivliostyleBuild({outputPath:'dist/out.pdf'}));
// -> output ./dist/out.pdf
gulp.src('./src/index.html')
.pipe(vivliostyleBuild({outputDir:'build'}));
// -> output ./build/index.pdf
gulp.src('./src/index.html')
.pipe(vivliostyleBuild({outputPath:'dist/out.pdf',outputDir:'build'}));
// -> output ./build/dist/out.pdf
ライセンスについて
vivliostyle-cli に合わせて
AGPL Version 3 にしてあります。
作ってみた感想
gulpプラグインが Vinyl のストリームだというのがよく理解できました。
あと、vivliostyle-cli が vivliostyle-cli/build.ts 内で process.exit(0);
してプロセスが終了してしまうので、
child_process.fork を使って別プロセスで実行してます(結構大変だった)。
参考URL
Author And Source
この問題について(vivliostyle-cli の gulp プラグイン書いた), 我々は、より多くの情報をここで見つけました https://qiita.com/kanemu/items/00e64eb76236556555fb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .