ラック
Home > ブログ > 記事 > 2017年8月 > markdownファイルをpdfに変換する(2)

markdownファイルをpdfに変換する(2)

カテゴリ: 開発環境

前回、markdownからpdfへの変換を行いましたが、cssが適用されていなかったり画像が表示できなかったりと至らないところがあったので、その部分について補完。

詳しいことは参考サイトに書いてあるのですが、それぞれについての対応を。

css

markdown-pdfが使用しているライブラリの1つ、phantom.jsのrender.jsにWindowsの場合のバグがあり(2017/8/11時点でも有効)、cssが適用されていないようなので対策を。
私の場合はNodistを使用しているので、render.jsがnodist-install-directory\Nodist\bin\node_modules\markdown-pdf\phantom\render.jsに存在していました。このrender.jsの15行目を

var protocol = os.name === 'windows' ? '' : 'file://'

から

var protocol = os.name === 'windows' ? 'file:///' : 'file://'

に変更しました。これでcssはOK。

画像

画像はローカルだとダメで、Dropboxなどのクラウドストレージや外部サイトといったhttpでの取得は可能なようなので、XAMPPでApacheを起動して、その中に画像を配置。http://localhost/img/set/directory/hoge.imgのようにアクセスできる状態にして、mdファイルにURLを記述することで対応しました。

これで、cssと画像、双方に対処することができました。

参考

備考

記事の内容とは直接関係無いですが、markdownのパース前にMODxのリンクのパースが走っているようで、[~リソースID~]をテンプレート変数中に記述してもちゃんとリンク張れているのですね。これは都合が良い。

タグ: その他,Markdown,Node.js

 



関連する記事一覧