1

KramdownのLaTeXエクスポート機能を利用して、すべての投稿をPDF形式で利用できるようにするJekyllプラグインを作成したいと思います。マークダウン形式の投稿ごとに、マークアップを含むファイルと最後に。を含む通常の.html投稿になりたいと思います。.texLaTeX.pdf

プラグインを作成するためのドキュメントに続いて、コンバーターまたはジェネレーターのいずれかを使用して、問題にアプローチする2つの方法を確認します。

コンバータープラグインは組み込みのコンバーターの後に実行されるように見えるため、.markdownファイルはすべて.html、コンバーターに到達するまでに変換されています。

Generatorを実装しようとすると、を使用fileutilsしてファイルを正常に書き込むことができますが、Jekyllのサイクルの終わりまでに、そのファイルは削除されています。Jekyllに新しい出力ファイルを登録するために使用できるクラスがあるようStaticFileですが、それを使用する方法についての実際のガイダンスは見つかりません。

4

2 に答える 2

1

https://github.com/matthewowen/jekyll-slideshow/blob/master/_plugins/jekyll_slideshow.rbのThumbGeneratorクラスを見ると、同様の例が表示されます。この特定のプラグインは、サイト内のすべての画像のサムネイルサイズのバージョンを作成します。うまくいけば、JekyllのStaticFileクラスと対話する方法についての有用なガイドが提供されます(私はRubyプロではないので、貧弱なスタイルは許してください)。

残念ながら、これに関するドキュメントは実際にはありません。ソースを読んで収集しました。

私は数ヶ月前にこれを書きましたが、詳細は特に覚えていません(これが、ワークスルーではなく例を示した理由です)が、これでうまくいかない場合はお知らせください。ヘルプ。

于 2012-11-01T20:45:04.300 に答える
0

私は同じことをしようとしますが、直接html->pdf変換を使用します。現時点ではgitlab-ciパイプライン内では機能しませんでしたが、私のワークステーション(ここを参照)では3番目の可能性として機能します:フック!

(ここではpdfkitを使用)

require 'pdfkit'

module Jekyll

  Jekyll::Hooks.register :site, :post_write do |post|

      post.posts.docs.each do |post|
          filename = post.site.dest + post.id + ".pdf"
          dirname = File.dirname(filename)
          Dir.mkdir(dirname) unless File.exists?(dirname)

          kit = PDFKit.new(post.content, :page_size => 'Letter')
          kit.stylesheets << './css/bootstrap.min.css'
          kit.to_file(filename)
      end
  end

end
于 2017-04-01T06:55:34.383 に答える