ローカルHaddockのドキュメントに画像を埋め込むにはどうすればよいですか?Haddockのドキュメントに画像を埋め込む方法
私は例えばthe lens
packageを参照してください。画像への外部リンクを使用していますが、画像をローカルに保存したいと思います。
(この質問はan (unanswered) question on the mailing listと非常によく似ています)
ローカルHaddockのドキュメントに画像を埋め込むにはどうすればよいですか?Haddockのドキュメントに画像を埋め込む方法
私は例えばthe lens
packageを参照してください。画像への外部リンクを使用していますが、画像をローカルに保存したいと思います。
(この質問はan (unanswered) question on the mailing listと非常によく似ています)
ローカルであなたの画像を保存したい場合は、次のことができます。
-- A longer description of the package.
description: Some haskell package description.
<<file:///home/user/your_image.png>>
結果:
あなたが望んでいないか、相対パスで画像を追加することができない場合は、単にフルパスなしでイメージ名を入力:
<<your_image.png>>
この場合、画像はproject/docs
ディレクトリにある必要があります。
あなたが参照しているメーリングリストのスレッドで説明したように、1つの方法はdata URLを使用して画像をドキュメントにインライン化することです。 Haddockのnamed chunksを使用すると、ファイルの最後にすべてのイメージを名前付きチャンクに入れることで、ソース自体が読みにくくなります(base64でエンコードされたデータの大きな塊に散在するため)。このアプローチの実際の例については、Haddock documentation for the circle-packing packageを参照してください。
Cabalパッケージ内のデータファイルを参照できないようにするのは奇妙です。 o_o –
私はHaddockがCabalやghc-pkgについて何も知らないとは思いませんか? – Dag
データのURLトリックはかなりきちんとしています。これは、 'lens'のwikiから取得したパフォーマンス上の問題を修正する可能性があります。 ( 'lens.cabal'ファイルのリンクを' imgur'を指すように変更しました。なぜなら、キャッシュを無効にする問題がないからです。) –
a blog post by Ian Rossで説明したように、extra-doc-files
キャバルオプションを使用すると、余分なファイルをドキュメントにバンドルすることができます。
これをハックして相対パスを取得する方法はありません。ドキュメントがユーザーのドライブで使用されるディレクトリを想定しているため、脆いです。右? – amindfv
はい、そうです。イメージへの相対パスを取得できない場合は、 '' '<< Haskell-Logo-Variation.png >>' ''を追加するだけで、Haskell-Logo-Variation.pngイメージはプロジェクトの中になければなりませんdocディレクトリにあります。 – 0xAX
パーフェクト!それは私が探していたものです。それをあなたの答えに加えることができますか?また、画像がたとえば'images/some_img.jpg >>で参照することができます – amindfv