Markdown
PDF
grunt.js

Markdown を自動で PDF 生成してくれる grunt-markdown-pdf について紹介するよ

More than 5 years have passed since last update.


はじめに

この投稿は Grunt Plugins Advent Calendar 2013 の 17 日目の記事です。

http://qiita.com/advent-calendar/2013/grunt-plugins/


grunt-markdown-pdf

alanshaw/grunt-markdown-pdf

ども。アッパーフィールドです。

今ではちょっとしたメモなど、テキストでまとめるときは Markdown が当たり前になってきました。

ただ、Markdown がいい感じでプレビュー出来ないビューアもまだまだ多く、かと言って素の Markdown 書式をそのまま渡すのもなんだかなぁという時によくやるのは PDF 化してしまうことです。

見栄えを調整しながら書くときは Marked などのアプリを使いながら書きますが、

Marked

ただのメモなどは特に何も気にしないで書いちゃいますよね。

それらを PDF にするときにいちいちアプリを立ち上げたりすると面倒なんです。

そういう時は grunt-markdown-pdf を使いましょう。


インストール

$ npm install grunt grunt-markdown-pdf --save-dev

はい、これで OK ですね。


Gruntfile

簡単な Gruntfile のサンプルです。


Gruntfile.js

module.exports = function (grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
markdownpdf: {
options: {
cssPath: 'style/thomasf-solarizedcssdark.css'
},
files: {
src: 'src/*.md',
dest: 'pdf/'
}
}
});

grunt.loadNpmTasks('grunt-markdown-pdf');
grunt.registerTask('pdf', 'markdownpdf');
};



お好みの style

options には色々とありますが、使うのは PDF 生成時に好きな style が指定できる cssPath くらいかなぁと思います。

Markdown のテーマを公開してるサイトをもあります。

markdown-styles


PDF 生成

実行しましょう。

$ grunt pdf

Running "markdownpdf:files" (markdownpdf) task
>> pdf/test.pdf

という感じでとても簡単に PDF ができます。


応用

応用というほど大したことではないですが、dest に Dropbox ディレクトリを指定しておくと自動同期されていい感じです。


Gruntfile.js

module.exports = function (grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
markdownpdf: {
options: {
cssPath: 'style/thomasf-solarizedcssdark.css'
},
files: {
src: 'src/*.md',
dest: '/Users/you/Dropbox/PDF/'
}
}
});

grunt.loadNpmTasks('grunt-markdown-pdf');
grunt.registerTask('pdf', 'markdownpdf');
};


または、逆に Dropbox においてある Markdown ファイルを一気に PDF 化することなんかも可能ですね。

\ 以上です /