2012-12-24 1 views
24

Как вставлять изображения в локальную документацию Haddock?Как вставлять изображения в документацию от Haddock

Я вижу, например, the lens package просто использует внешние ссылки на изображения, но я хотел бы хранить изображения локально.

(Этот вопрос очень похож на an (unanswered) question on the mailing list).

ответ

9

Если вы хотите сохранить изображение на месте вы можете:

-- A longer description of the package. 
description: Some haskell package description. 

    <<file:///home/user/your_image.png>> 

Результат:

Enter image description here

Если вы не хотите или не можете добавлять изображения по относительному пути, просто поместить имя изображения без полного пути:

<<your_image.png>>

В этом случае ваше изображение должно быть в каталоге project/docs.

+0

Я не могу найти способ взломать это, чтобы получить относительный путь, хотя это так хрупко, потому что он предполагает каталог, где документация будет использоваться на диске пользователя. Правильно? – amindfv

+0

Да, вы правы. Если вы не можете получить относительный путь к вашим изображениям, вы также можете добавить только '' '<< << Haskell-Logo-Variation.png >>' '', а изображение Haskell-Logo-Variation.png должно находиться в doc. – 0xAX

+0

Отлично! Это то, что я искал. Можете ли вы добавить это к своему ответу? Также обратите внимание, что если ваше изображение находится, например, 'docs/images /', вы можете ссылаться на него с помощью «<< images/some_img.jpg >>' – amindfv

9

Как объясняется в этом списке рассылки, вы ссылаетесь, один из вариантов - использовать data URL для встроенных изображений в вашу документацию. Это делает исходный код несколько неприятным для чтения (поскольку он чередуется с большими блоками данных с кодировкой base64), хотя использование Haddock's named chunks может помочь, поместив все изображения в именованные фрагменты в конце файла. Для реального примера такого подхода см. Раздел Haddock documentation for the circle-packing package.

+2

Странно, что он не должен позволять вам ссылаться на файлы данных в вашем пакете Cabal. o_o –

+0

Я не думаю, что Хэддок знает что-нибудь о Cabal или даже ghc-pkg, не так ли? – Dag

+0

Трейл url данных довольно аккуратный. Это может решить проблемы производительности, которые мы получаем из вики в «объективе». (Мы изменили ссылки в файле 'lens.cabal', чтобы указать на' imgur', потому что у него нет проблем с отключением кеша.) –

7

Как описано в a blog post by Ian Ross, вы можете использовать опцию extra-doc-files cabal для комплектации дополнительных файлов в документации.

 Смежные вопросы

  • Нет связанных вопросов^_^