3

Jekyll Responsive Image プラグインsrcsetを使用して、投稿の画像に/sizes属性を持つ適切なレスポンシブ画像を生成したいと考えています。

しかし、画像の標準的な Markdown 構文しか理解できないMacDownのようなライブ プレビューを提供するソフトウェアで投稿を編集できるようにしたいとも考えています。

そのため、Jekyll に画像の標準的な Markdown 構文を変換するように指示する方法 (ある種のプラグイン) があるかどうかを知りたいのですが、それを Markdown ファイルに入れます...</p>

![alt text](path/to/image.jpg)

… Jekyll Responsive Image プラグインに固有のこの構文に:

{% responsive_image path: path/to/image.jpg alt: "alt text" %}

その後、Jekyll は引き続き Kramdown を使用して HTML を生成できます…</p>

プラグインの Githubにも問題を作成しましたが、より一般的な回答も適切であり、他のニーズにも役立つ可能性があります。

4

3 に答える 3

2

最も簡単な解決策は、新しいJekyll フックを使用することです

非常に生のプラグインは次のようになります。

Jekyll::Hooks.register :posts, :pre_render do |post, payload|
  docExt = post.extname.tr('.', '')
  # only process if we deal with a markdown file
  if payload['site']['markdown_ext'].include? docExt
    newContent = post.content.gsub(/\!\[(.+)\]\((.+)\)/, '{% responsive_image path: \2 alt: \1  %}')
    post.content = newContent
  end
end

これを収納_plugins/img-tag-transform.rb

于 2016-02-25T18:28:05.977 に答える